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})
相关文章
|
6天前
|
存储 数据库连接 API
Python环境变量在开发和运行Python应用程序时起着重要的作用
Python环境变量在开发和运行Python应用程序时起着重要的作用
46 15
|
18天前
|
设计模式 前端开发 数据库
Python Web开发:Django框架下的全栈开发实战
【10月更文挑战第27天】本文介绍了Django框架在Python Web开发中的应用,涵盖了Django与Flask等框架的比较、项目结构、模型、视图、模板和URL配置等内容,并展示了实际代码示例,帮助读者快速掌握Django全栈开发的核心技术。
108 45
|
13天前
|
JSON 安全 API
如何使用Python开发API接口?
在现代软件开发中,API(应用程序编程接口)用于不同软件组件之间的通信和数据交换,实现系统互操作性。Python因其简单易用和强大功能,成为开发API的热门选择。本文详细介绍了Python开发API的基础知识、优势、实现方式(如Flask和Django框架)、实战示例及注意事项,帮助读者掌握高效、安全的API开发技巧。
40 3
如何使用Python开发API接口?
|
6天前
|
JSON API 数据格式
如何使用Python开发1688商品详情API接口?
本文介绍了如何使用Python开发1688商品详情API接口,获取商品的标题、价格、销量和评价等详细信息。主要内容包括注册1688开放平台账号、安装必要Python模块、了解API接口、生成签名、编写Python代码、解析返回数据以及错误处理和日志记录。通过这些步骤,开发者可以轻松地集成1688商品数据到自己的应用中。
21 1
|
12天前
|
数据采集 存储 JSON
Python爬虫开发中的分析与方案制定
Python爬虫开发中的分析与方案制定
|
12天前
|
图形学 Python
SciPy 空间数据2
凸包(Convex Hull)是计算几何中的概念,指包含给定点集的所有凸集的交集。可以通过 `ConvexHull()` 方法创建凸包。示例代码展示了如何使用 `scipy` 库和 `matplotlib` 绘制给定点集的凸包。
22 1
|
13天前
|
JSON 数据格式 索引
Python中序列化/反序列化JSON格式的数据
【11月更文挑战第4天】本文介绍了 Python 中使用 `json` 模块进行序列化和反序列化的操作。序列化是指将 Python 对象(如字典、列表)转换为 JSON 字符串,主要使用 `json.dumps` 方法。示例包括基本的字典和列表序列化,以及自定义类的序列化。反序列化则是将 JSON 字符串转换回 Python 对象,使用 `json.loads` 方法。文中还提供了具体的代码示例,展示了如何处理不同类型的 Python 对象。
|
13天前
|
数据采集 Web App开发 iOS开发
如何使用 Python 语言的正则表达式进行网页数据的爬取?
使用 Python 进行网页数据爬取的步骤包括:1. 安装必要库(requests、re、bs4);2. 发送 HTTP 请求获取网页内容;3. 使用正则表达式提取数据;4. 数据清洗和处理;5. 循环遍历多个页面。通过这些步骤,可以高效地从网页中提取所需信息。
|
19天前
|
数据可视化 开发者 Python
Python GUI开发:Tkinter与PyQt的实战应用与对比分析
【10月更文挑战第26天】本文介绍了Python中两种常用的GUI工具包——Tkinter和PyQt。Tkinter内置于Python标准库,适合初学者快速上手,提供基本的GUI组件和方法。PyQt基于Qt库,功能强大且灵活,适用于创建复杂的GUI应用程序。通过实战示例和对比分析,帮助开发者选择合适的工具包以满足项目需求。
64 7
|
17天前
|
算法 测试技术 开发者
性能优化与代码审查:提升Python开发效率
性能优化与代码审查:提升Python开发效率
28 1