python调用pyproj对矢量进行定义地理坐标WGS 1984 和投影墨卡托
时间: 2023-10-25 08:27:04 浏览: 182
使用 pyproj 库对矢量进行定义地理坐标 WGS 1984 和投影墨卡托的示例代码如下:
```python
import pyproj
from shapely.ops import transform
from shapely.geometry import shape
# 定义输入矢量
geojson = {
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [116.397, 39.908]
}
}
# 定义投影坐标系
wgs84 = pyproj.CRS('EPSG:4326') # WGS 1984
mercator = pyproj.CRS('EPSG:3857') # Mercator
# 将矢量从 WGS 1984 投影到 Mercator
project = pyproj.Transformer.from_crs(wgs84, mercator, always_xy=True).transform
point = shape(geojson['geometry'])
projected_point = transform(project, point)
# 输出结果
print(f"投影前坐标:{geojson['geometry']['coordinates']}")
print(f"投影后坐标:{projected_point}")
```
在上面的示例中,我们首先定义了一个输入矢量 `geojson`,它是一个包含一个点的 GeoJSON 对象。然后,我们定义了两个坐标系,一个是 WGS 1984(EPSG:4326),另一个是墨卡托(EPSG:3857)。接下来,我们使用 pyproj 库创建了一个投影转换器,将输入坐标从 WGS 1984 转换为墨卡托。最后,我们使用 shapely 库的 `transform()` 函数将投影后的点转换为 shapely 对象,并输出了投影前后的坐标。
阅读全文