Преобразование системы координат в растерио для геотифов - PullRequest
0 голосов
/ 24 сентября 2019

У меня есть следующий файл геотифов .Я написал простой скрипт для преобразования его координат в систему координат карт Google

import rasterio
import rasterio.features
import rasterio.warp


DATA = "/Users/Desktop/TextureUSDA_23/"


def main():
    with rasterio.open(DATA + 'textureUSDA_eu23.tif') as dataset:
        mask = dataset.dataset_mask()
        print(dataset.crs)
        for geom, val in rasterio.features.shapes(mask, transform=dataset.transform):
            geom = rasterio.warp.transform_geom(dataset.crs, 'EPSG:4326', geom, precision=6)
            print(geom)


if __name__ == "__main__":
    main()

. Результатом этого скрипта является список преобразованных координат, т.е. [-4.414515, 57.507086].Однако, если я введу эти координаты, они будут указывать на Индийский океан , но они должны быть размещены в Европе.

Не могли бы вы объяснить, что мне не хватает?

Дополнительная информация о геотифе

PROJCS["GRS_1980_IUGG_1980_Lambert_Azimuthal_Equal_Area",GEOGCS["GCS_GRS_1980_IUGG_1980",DATUM["unknown",SPHEROID["GRS80",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]],PROJECTION["Lambert_Azimuthal_Equal_Area"],PARAMETER["latitude_of_center",52],PARAMETER["longitude_of_center",10],PARAMETER["false_easting",4321000],PARAMETER["false_northing",3210000],UNIT["metre",1,AUTHORITY["EPSG","9001"]]]

1 Ответ

0 голосов
/ 25 сентября 2019

Координаты возвращаются в порядке x, y, то есть долготы, а затем широты.Карты Google (и другие подобные сервисы, которые я видел) ожидают координаты в порядке широты, а затем долготы.Если вы поменяете местами порядок координат, вы получите точку рядом с Инвернесс , то есть, я думаю, что вы ищете.Здесь есть хорошая сводка по порядку лон / лат различных технологий здесь .

...