我可不是为了被全人类喜欢才活着的,只要对于某一个人来说我是必|

王陸

园龄:6年11个月粉丝:2052关注:178

csv转换为shp

一、csv文件内容

image-20220910144646334

csv文件中记录了500行气象信息

我们需要做的是利用Fiona包,将csv的内容读取,并导出为shp格式

二、代码

import fiona
from collections import OrderedDict
import csv
from fiona.crs import from_epsg


with open("./2010-01-01.csv", 'r') as csvfile:
    reader = csv.reader(csvfile)
    rows = [row for row in reader]
#print(rows)

subway_schema = {'geometry': 'Point', 'properties': OrderedDict([('FID','int'), ('Avst', 'float'), ('Arh','float'),('Mws', 'float'),('Pre', 'float')])}
subway_infor = []
for i in range(1, len(rows)):
    lon = float(rows[i][1])
    lat = float(rows[i][2])
    infor = {'geometry':{'type':'Point', 'coordinates':(lon,lat)},
             'properties':OrderedDict([('FID', int(rows[i][0])), ('Avst', rows[i][4]), ('Arh', rows[i][5]),('Mws', rows[i][6]),('Pre', rows[i[7])])}
    subway_infor.append(infor)
output = fiona.open('./2010-01-01.csv.shp', 'w', encoding = 'utf8', driver= 'ESRI Shapefile',crs = from_epsg(4326), schema = subway_schema)
print(subway_infor)
output.writerecords(subway_infor)
output.close()

本文作者:王陸

本文链接:https://www.cnblogs.com/wkfvawl/p/16676691.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   王陸  阅读(419)  评论(0编辑  收藏  举报
历史上的今天:
2021-09-10 Django前后端分离项目
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起