用python对坐标为WGS84地理坐标的geojson数据进行投影转换
时间: 2024-02-27 08:54:48 浏览: 274
对点坐标和数据集进行投影坐标系和地理坐标系之间的转换
您可以使用pyproj库来对WGS84地理坐标的geojson数据进行投影转换。以下是一个简单的示例代码,其中我们将从EPSG:4326(WGS84)投影到EPSG:3857(Web墨卡托):
```python
import json
import pyproj
from shapely.geometry import shape, mapping
# 加载geojson数据
with open('input.geojson') as f:
data = json.load(f)
# 定义投影转换器
in_proj = pyproj.Proj(init='EPSG:4326')
out_proj = pyproj.Proj(init='EPSG:3857')
# 循环遍历每个要素并进行投影转换
for feature in data['features']:
geometry = shape(feature['geometry'])
projected_geometry = transform(lambda x, y: pyproj.transform(in_proj, out_proj, x, y), geometry)
feature['geometry'] = mapping(projected_geometry)
# 将投影后的数据保存到新的geojson文件中
with open('output.geojson', 'w') as f:
json.dump(data, f)
```
在此示例中,我们首先使用json库加载geojson数据。然后,我们定义了两个投影转换器,一个用于输入(WGS84)坐标系,另一个用于输出(Web墨卡托)坐标系。
接下来,我们循环遍历每个要素并使用shapely.geometry库将其转换为几何对象。然后,我们使用transform函数将几何对象从输入坐标系投影到输出坐标系。最后,我们将投影后的几何对象转换为字典,并将其保存到新的geojson文件中。
请注意,您需要安装以下库:pyproj、shapely和json。
阅读全文