[英]How do you reproject a shapefile?
我正在嘗試使用python代碼將shapefile的投影從“ epsg:26741”更改為“ epsg:4326”。 我已經查找了如何在線執行此操作並找到了一些代碼,但是當我運行代碼時,它會引發錯誤消息。 這在下面的代碼中特別拋出:
from pyproj import Transformer
x = 5.0
y = 6.0
transformer = Transformer.from_crs("epsg:26741", "epsg:4326")
new_x, new_y = transformer.transform(x, y)
這將生成以下錯誤消息:
runfile('/Users/isaak/Desktop/GIS_Layer_Programs/TestTransform.py', wdir='/Users/isaak/Desktop/GIS_Layer_Programs')
Traceback (most recent call last):
File "<ipython-input-108-6daf357ca70c>", line 1, in <module>
runfile('/Users/isaak/Desktop/GIS_Layer_Programs/TestTransform.py', wdir='/Users/isaak/Desktop/GIS_Layer_Programs')
File "//anaconda3/lib/python3.7/site-packages/spyder_kernels/customize/spydercustomize.py", line 827, in runfile
execfile(filename, namespace)
File "//anaconda3/lib/python3.7/site-packages/spyder_kernels/customize/spydercustomize.py", line 110, in execfile
exec(compile(f.read(), filename, 'exec'), namespace)
File "/Users/isaak/Desktop/GIS_Layer_Programs/TestTransform.py", line 6, in <module>
new_x, new_y = transformer.transform(x, y)
File "//anaconda3/lib/python3.7/pyproj/transformer.py", line 274, in transform
File "pyproj/_transformer.pyx", line 122, in pyproj._transformer._Transformer._transform
File "//anaconda3/lib/python3.7/enum.py", line 310, in __call__
return cls.__new__(cls, value)
File "//anaconda3/lib/python3.7/enum.py", line 571, in __new__
raise exc
TypeError: error in TransformDirection._missing_: returned <TransformDirection.FORWARD: 'FORWARD'> instead of None or a valid member
我會認真看一下QGIS。 它基於python,但具有所有復雜的位以及所有投影庫和文件。 如果您有很多文件要修復/修改,則QGIS還內置了python腳本。 老實說,在繪制地圖時,請不要嘗試重新發明輪子。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.