这篇文章主要介绍“python怎么新建特征数据”,在日常操作中,相信很多人在python怎么新建特征数据问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”python怎么新建特征数据”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
根据网络上的数据服务中的坐标信息,按照一定的规则,可以组合成一个特征图层,保存到本地,整个过程,只是将数据做了一个转换了一种形式存储,但是,这种形式的数据,能方便使用gis工具,如arcmap,qgis等,直接进行打开查看,叠加查看效果。
python中fiona和shapely两个库,可以对空间数据进行处理,参见python开发:特征数据处理,当然也能根据数据,创建一个新的特征图层。
fiona的driver中有ESRI Shapefile和geojson等常用格式,可以很方便创建一个常用格式的特征数据。
shapely可以将列表,元组数据,转换成空间坐标的格式,并和fiona中的坐标存储能够进行兼容。
下边根据示例代码,如何新建一个特征数据:
定义一个数据的结构,数据的空间几何类型,支持Point,Polyline,Polygon等常用空间几何类型,properties中放置的是数据属性信息,对应每个元素的属性信息。
yourschema = {'geometry': 'Point',
'properties': {'bx': 'float:13.3',
'by': 'float:13.3',
'bline': 'str'}}
新建一个空间数据文件,类型用w,表示写入数据,坐标系信息根据实际情况填写,driver可以用shapefile,geojson等常用格式,把上边的数据结构要传入进去。
with fiona.open('文件路径', 'w', crs=from_epsg(4326),
driver='ESRI Shapefile',schema=yourschema) as output:
写入数据,属性信息要和上边定义的结构对应上,坐标信息用shapely里的函数进行定义,之后通过mapping写入到文件中。
prop = {'bx': 13.2001,
'by': 5.898989898,
'bline': 'aaaaaa'
}
point = Point(0, 0)
output.write({'geometry': mapping(point), 'properties': prop})
到此,关于“python怎么新建特征数据”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。