使用Fiona创建Shapefile矢量数据
基本思路
代码实现
import fiona
import json
with open('China.json') as f:
data = json.load(f)
# schema是一个字典结构,指定了geometry及其它属性结构
schema = {'geometry': 'Polygon',
'properties': {'id': 'int', 'name': 'str'}}
# 使用fiona.open方法打开文件,写入数据
with fiona.open('Provinces.shp', mode='w', driver='ESRI Shapefile',
schema=schema, crs='EPSG:4326', encoding='utf-8') as layer:
# 依次遍历GeoJSON中的空间对象
for feature in data['features']:
# 从GeoJSON中读取JSON格式的geometry和properties的记录
element = {'geometry': feature['geometry'],
'properties': {'id': feature['properties']['id'],
'name': feature['properties']['name']}}
# 写入文件
layer.write(element)Last updated