使用Python编程实现将.json格式转成.shp格式(笔记)

该文提供了两种方法将GeoJSON数据转换为ESRIShapefile格式,适用于ArcMap。首先,使用geopandas库读取GeoJSON文件,重命名列以避免保存警告,然后创建一个目录存储Shapefile。在第二种方法中,文章还展示了如何从GeoJSON中提取特定区域并保存为Shapefile。
摘要由CSDN通过智能技术生成
想要使用arcmap绘图,需要数据格式.shp。
第一种方法:
import geopandas as gpd
import matplotlib.pyplot as plt
import pandas as pd
from shapely import geometry
import os
###################原文https://zhuanlan.zhihu.com/p/556141415
plt.rcParams['font.sans-serif'] = 'Microsoft YaHei' # 设置字体为微软雅黑
# 使打印输出显示更全
pd.set_option('display.max_columns',500)
pd.set_option('display.width',1000)

# 读取丛台区geojson数据
data = gpd.read_file(r'路径\文件名.json')
print(data)
# 将列重命名缩短,防止保存为shp文件时因列名过程导致的警告
data = data.rename(columns = {'childrenNum':'childnum','subFeatureIndex':'rawIndex'})
print(data)
# 创建一个储存shp文件的文件夹
if not os.path.exists('SHP'):
    os.mkdir('SHP')
data.to_file('SHP/文件名.shp',
             driver='ESRI Shapefile',
             encoding='utf-8')

第二种方法:

import geopandas as gpd
import matplotlib.pyplot as plt
import pandas as pd
from shapely import geometry
import os

plt.rcParams['font.sans-serif'] = 'Microsoft YaHei' # 设置字体为微软雅黑
# 使打印输出显示更全
pd.set_option('display.max_columns',500)
pd.set_option('display.width',1000)

# 读取邯郸geojson数据
data = gpd.read_file('邯郸市.json')
#print(data)

#提取想要的区县
prd_city = ['邯山区','丛台区','复兴区']
prd_city_english = ['hanshan','congtai','fuxing']
prd = data[data['name'].isin(prd_city)]
# 将列重命名缩短,防止保存为shp文件时因列名过程导致的警告
prd = prd.rename(columns = {'childrenNum':'childnum','subFeatureIndex':'rawIndex'})
print(prd)


# 创建一个储存shp文件的文件夹
if not os.path.exists('SHP'):
    os.mkdir('SHP')
# 保存为shp文件
prd.to_file('SHP/文件名.shp',
             driver='ESRI Shapefile',
             encoding='utf-8')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值