一、csv文件内容
csv文件中记录了480行地铁站的信息
我们需要做的是利用Fiona包,将csv的内容读取,并导出为shp格式
二、代码
import fiona
from collections import OrderedDict
import csv
from fiona.crs import from_epsg
with open("./subway_289上海市.csv", 'r') as csvfile:
reader = csv.reader(csvfile)
rows = [row for row in reader]
#print(rows)
subway_schema = {'geometry': 'Point', 'properties': OrderedDict([('num','int'), ('poi_name', 'str'), ('route_name','str'),
('city_name', 'str')])}
subway_infor = []
for i in range(1, len(rows)):
lon = float(rows[i][3])
lat = float(rows[i][4])
infor = {'geometry':{'type':'Point', 'coordinates':(lon,lat)},
'properties':OrderedDict([('num', int(rows[i][0])), ('poi_name', rows[i][1]), ('route_name', rows[i][2]),
('city_name', rows[i][5])])}
subway_infor.append(infor)
output = fiona.open('./subway_289上海市.shp', 'w', encoding = 'utf8', driver= 'ESRI Shapefile',
crs = from_epsg(4326), schema = subway_schema)
print(subway_infor)
output.writerecords(subway_infor)
output.close()
subway_289上海市.csv文件传送:
Link:https://pan.baidu.com/s/1SQEw4G0rjoHW7sY9585ZWA?pwd=m0fo
Code:m0fo
三、shp导入ArcGIS展示
分地铁线路展示地铁站点
shp的属性表展示