| by YoungTimes | No comments

Python-UTM坐标与经纬度(WGS84)坐标转换

pyproj是一个非常好用的地图投影和坐标转换库。

pip install pyproj

构造Transformer

from pyproj import Transformer

transformer = Transformer.from_crs(4326, 32651)
transformer = Transformer.from_crs("EPSG:4326", "EPSG:32651")

CRS(Coordinate Reference System)用于指定转换的源坐标系和目标坐标系。4326、32650是坐标系的唯一编号(WKID,Well Known ID),4326对应的就是WGS84地理坐标系统,32650对应WGS_1984_UTM_Zone_51N。

如果对自己需要进行转换的坐标系的WKID不了解,可以从以下两个网站进行查询:

地理坐标系WKID:https://developers.arcgis.com/javascript/3/jshelp/gcs.htm

投影坐标系WKID:https://developers.arcgis.com/javascript/3/jshelp/pcs.htm

实现坐标变换

utm_x, utm_y = transformer.transform(30.90786255,121.84786891)

print("utm_x:{}, utm_y:{}".format(utm_x, utm_y))

完整的转换代码如下:

from pyproj import Transformer

transformer = Transformer.from_crs(4326, 32651)
transformer = Transformer.from_crs("EPSG:4326", "EPSG:32651")

utm_x, utm_y = transformer.transform(30.90786255,121.84786891)

print("utm_x:{}, utm_y:{}".format(utm_x, utm_y))

输出的转换结果如下:

utm_x:389901.44142316026, utm_y:3419959.5095140757

在线坐标转换

如果不想写代码,或者只是小批量的坐标转换,可以直接在线转换。在线转换地址:https://www.earthpoint.us/Convert.aspx

https://www.earthpoint.us/Convert.aspx

参考材料

https://github.com/pyproj4/pyproj

https://pyproj4.github.io/pyproj/stable/examples.html

除非注明,否则均为[半杯茶的小酒杯]原创文章,转载必须以链接形式标明本文链接

本文链接:http://www.banbeichadexiaojiubei.com/index.php/2021/01/09/python-utm%e5%9d%90%e6%a0%87%e4%b8%8e%e7%bb%8f%e7%ba%ac%e5%ba%a6wgs84%e5%9d%90%e6%a0%87%e8%bd%ac%e6%8d%a2/