python json转shp
时间: 2023-09-06 10:11:44 浏览: 256
利用Python实现Shp格式向GeoJSON的转换方法
要将JSON转换为SHP(Shapefile)格式,你可以使用Python的GDAL库。下面是一个简单的示例代码:
```python
from osgeo import ogr
import json
# 读取JSON文件
with open('input.json') as f:
data = json.load(f)
# 创建SHP文件
driver = ogr.GetDriverByName('ESRI Shapefile')
shp_file = driver.CreateDataSource('output.shp')
layer = shp_file.CreateLayer('layer', geom_type=ogr.wkbPoint)
# 创建属性字段
field_name = ogr.FieldDefn('name', ogr.OFTString)
layer.CreateField(field_name)
# 将JSON数据转换为SHP要素
for feature in data['features']:
geometry = ogr.CreateGeometryFromJson(json.dumps(feature['geometry']))
feature_def = layer.GetLayerDefn()
shp_feature = ogr.Feature(feature_def)
shp_feature.SetGeometry(geometry)
shp_feature.SetField('name', feature['properties']['name'])
layer.CreateFeature(shp_feature)
# 关闭文件
shp_file = None
```
上述代码假设你的JSON文件名为 `input.json`,并将转换后的SHP文件保存为 `output.shp`。请确保在运行代码之前安装了GDAL库。此外,你可能需要根据你的JSON结构进行适当的调整。
阅读全文