Python geotif光栅中的坐标参考系转换
我有以下几点。我编写了一个简单的脚本,将其坐标转换为谷歌地图坐标系Python geotif光栅中的坐标参考系转换,python,geolocation,gis,geospatial,rasterio,Python,Geolocation,Gis,Geospatial,Rasterio,我有以下几点。我编写了一个简单的脚本,将其坐标转换为谷歌地图坐标系 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_m
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]
。然而,如果我输入这个坐标,那么它们将指向,但它们应该放在欧洲
你能解释一下我遗漏了什么吗
关于geotiff的其他信息
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"]]]
坐标以x、y顺序返回,即经度和纬度。谷歌地图(以及我见过的其他类似服务)希望坐标的顺序是纬度,然后是经度。如果你交换坐标的顺序,你会得到一个,我猜你在找什么。对于不同技术的lon/lat订购有一个很好的总结。Wow。我将尝试测试交换坐标。顺便说一句,这是太多的要求从我这边,但可以验证我是否在正确的道路上?Ie从geo tiff中提取坐标的代码正确吗?在不完全了解您要做什么的情况下,它看起来像是从图像中的特征获取位置的一组合理步骤。我想从geo tiff中提取坐标并在google maps中绘制它们。看来我走对了路。谢谢你的回复。