Jak mogę uzyskać rzutowane współrzędne, a także rzeczywiste wartości pikseli na tych współrzędnych z pliku GeoTiff, a następnie zapisać je w tablicy liczbowej? Mam plik arsenci020l.tif, a jego współrzędne są w metrach. Poniżej znajduje się skrócona wersja gdalinfo, którą na nim uruchomiłem.
~$ gdalinfo arsenci020l.tif
Driver: GTiff/GeoTIFF
Files: arsenci020l.tif
arsenci020l.tfw
Size is 10366, 7273
Coordinate System is:
PROJCS["Lambert Azimuthal Equal Area projection with arbitrary plane grid; projection center 100.0 degrees W, 45.0 degrees N",
GEOGCS["WGS 84",
DATUM["WGS_1984",
SPHEROID["WGS 84",6378137,298.257223563,
AUTHORITY["EPSG","7030"]],
AUTHORITY["EPSG","6326"]],
PRIMEM["Greenwich",0],
UNIT["degree",0.0174532925199433],
AUTHORITY["EPSG","4326"]],
PROJECTION["Lambert_Azimuthal_Equal_Area"],
PARAMETER["latitude_of_center",45],
PARAMETER["longitude_of_center",-100],
PARAMETER["false_easting",0],
PARAMETER["false_northing",0],
UNIT["metre",1,
AUTHORITY["EPSG","9001"]]]
Origin = (-6086629.000000000000000,4488761.000000000000000)
Pixel Size = (1000.000000000000000,-1000.000000000000000)
...
Podobne pytanie dotyczyło uzyskiwania współrzędnych szerokości / długości z tiff (Uzyskaj szerokość i długość geograficzną z pliku GeoTIFF), a odpowiedź pokazała, jak uzyskać tylko lewe górne współrzędne x i y pikseli. Muszę uzyskać WSZYSTKIE rzutowane współrzędne pikseli, a także uzyskać wartości pikseli i zapisać je w tablicy numpy. Jak mogę to zrobić?
python
gdal
geotiff-tiff
numpy
irakhman
źródło
źródło
Odpowiedzi:
dodałby jako komentarz, ale nieco długi - na wypadek, gdybyś chciał użyć gdal / ogr w pythonie - coś takiego może działać (zhakowane razem z innego kodu, który miałem - nie testowałem!) To również zakłada, że zamiast znajdować najbliższy piksel rastrowy do centroidu wielokąta, po prostu wypytujesz raster na xy centroidu. nie mam pojęcia, jaka może być prędkość kompromisu ...
źródło
To powinno cię zabrać. Wartości rastrowe są odczytywane przy użyciu rasterio , a współrzędne środka piksela są konwertowane na Eastings / Northings przy użyciu affine , które są następnie konwertowane na szerokość / długość geograficzną za pomocą pyproj . Większość tablic ma ten sam kształt co raster wejściowy.
źródło
affine
to tylko aliastransform
, a alias został usunięty z najnowszej wersji rasterio. Zredagowałem odpowiedź, ale wygląda na to, że należy ją zweryfikować, ponieważ jestem tu nowy. :)A.shape
, ponieważ ma tylko dwa wymiary.