python开发:新建矢量数据

简介: python开发:新建矢量数据

根据网络上的数据服务中的坐标信息,按照一定的规则,可以组合成一个特征图层,保存到本地,整个过程,只是将数据做了一个转换了一种形式存储,但是,这种形式的数据,能方便使用gis工具,如arcmap,qgis等,直接进行打开查看,叠加查看效果。

python中fiona和shapely两个库,可以对空间数据进行处理,当然也能根据数据,创建一个新的特征图层。

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})
相关文章
|
2天前
|
分布式计算 并行计算 安全
在Python Web开发中,Python的全局解释器锁(Global Interpreter Lock,简称GIL)是一个核心概念,它直接影响了Python程序在多线程环境下的执行效率和性能表现
【6月更文挑战第30天】Python的GIL是CPython中的全局锁,限制了多线程并行执行,尤其是在多核CPU上。GIL确保同一时间仅有一个线程执行Python字节码,导致CPU密集型任务时多线程无法充分利用多核,反而可能因上下文切换降低性能。然而,I/O密集型任务仍能受益于线程交替执行。为利用多核,开发者常选择多进程、异步IO或使用不受GIL限制的Python实现。在Web开发中,理解GIL对于优化并发性能至关重要。
17 0
|
4天前
|
数据采集 XML 存储
【Python实战】Python采集二手车数据——超详细讲解
【Python实战】Python采集二手车数据——超详细讲解
|
4天前
|
数据采集 JSON 数据可视化
【Python实战】Python对中国500强排行榜数据进行可视化分析
【Python实战】Python对中国500强排行榜数据进行可视化分析
|
4天前
|
机器人 API 开发者
Python基于Mirai开发的QQ机器人保姆式教程(亲测可用)
Python基于Mirai开发的QQ机器人保姆式教程(亲测可用)
|
4天前
|
消息中间件 缓存 中间件
【赠书活动 - 第1期】- 测试工程师Python开发实战(异步图书出品)| 文末送书
【赠书活动 - 第1期】- 测试工程师Python开发实战(异步图书出品)| 文末送书
|
4天前
|
JSON 数据可视化 API
技术心得:如何用Python和API收集与分析网络数据?
技术心得:如何用Python和API收集与分析网络数据?
10 2
|
4天前
|
JSON Serverless 开发工具
函数计算产品使用问题之要使用Python写入时序数据到阿里云表格存储时序表,该怎么办
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
7天前
|
机器学习/深度学习 算法 Python
Python 使用SMOTE解决数据不平衡问题(最新推荐)
SMOTE是一种强大的过采样技术,可以有效地处理不平衡数据集,提升分类器的性能。通过imbalanced-learn库中的SMOTE实现,我们可以轻松地对少数类样本进行过采样,平衡数据集。在实际应用中,我们可以根据具体数据集的特点和需求,选择合适的过采样方法。
|
7天前
|
XML 数据格式 Python
Python使用xpath对解析内容进行数据提取
今天就介绍一个用于提取所需数据的方法之一xpath。在后续会讲解bs4(beautifulsoup),re正则表达式。
|
1天前
|
Java UED Python
Python多线程编程实战技巧与性能优化策略
Python多线程编程实战技巧与性能优化策略