ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

csv转换为shp

2022-09-10 15:00:21  阅读:237  来源: 互联网

标签:shp rows 转换 infor float 01 subway csv


一、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()

标签:shp,rows,转换,infor,float,01,subway,csv
来源: https://www.cnblogs.com/wkfvawl/p/16676691.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有