shp文件如何转换坐标系
时间: 2025-06-16 13:54:50 浏览: 17
Shapefile (`.shp`), 虽然主要用于地理信息系统(GIS)数据存储,但它本身并不包含坐标系转换的功能。当你有不同坐标系下的.shp文件需要转换时,通常需要借助专业的GIS软件,如ArcGIS、QGIS或者Python库如gdal等来进行转换。
以下是使用一些常见工具的一般步骤:
1. **使用GIS软件**:
- ArcGIS: 打开Shapefile,选择"编辑" > "属性" > "几何变换",输入新的坐标系参数并运行。
- QGIS: 打开文件,转到"图层管理器",右键点击要转换的图层,选择"属性" -> "坐标参考系统",更改目标投影。
2. **Python脚本**:
```python
from osgeo import ogr
driver = ogr.GetDriverByName('ESRI Shapefile')
src_dataset = driver.Open('source.shp', 0)
src_layer = src_dataset.GetLayer()
# 获取当前坐标系统
src_crs = src_layer.GetSpatialRef()
# 创建新坐标系统对象
dst_crs =ogr.osr.SpatialReference()
dst_crs.ImportFromEPSG(<新坐标系统ID>)
# 创建转换器
transform = ogr.osr.CoordinateTransformation(src_crs, dst_crs)
for feature in src_layer:
geom = feature.GetGeometryRef()
geom.Transform(transform)
# 保存到新shapefile
new_shapefile_name = 'target.shp'
dest_driver = ogr.GetDriverByName("ESRI Shapefile")
dest_data = dest_driver.CreateDataSource(new_shapefile_name)
dest_layer = dest_data.CreateLayer('', dst_crs, ogr.wkbPolygon)
dest_layer.CreateFeature(feature)
```
记住替换 `<新坐标系统ID>` 为你要转换成的确切坐标系统代码。
阅读全文
相关推荐


















