推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

Python脚本在shape文件中的运用

更新时间:2019-12-24 09:29:16 大小:767K 上传用户:songhuahua查看TA发布的资源 标签:pythonpython脚本等值区域图函数库 下载积分:1分 评价赚积分 (如何评价?) 收藏 评论(0) 举报

资料介绍

对于shap文件,包含很多的地理信息,但是在实际工作学习中,并非所有信息都能被利用。利用python脚本语言,可以单独获取所需要的特定shapefile文件属性信息,点位坐标信息,并且转换为必要投影系统下的坐标。本文借助python脚本处理shapefile文件,利用某地区人口密度分布图,生成等值区域图,实现python与shapefile的实践结合,为更多地理空间信息开发提供参考。


部分文件列表

文件名 大小
Python脚本在shape文件中的运用.pdf 767K

部分页面预览

(完整内容请下载后查看)
2018 年  
2018, Vol. 39, No. 12  
39 卷 第 12 期  
COMPUTER ENGINEERING & SOFTWARE  
国际 IT 传媒品牌  
Python 脚本shape 文件中的运用  
杨勤信,杨德宏  
(昆明理工大学,云南 昆明 650093)  
对ꢀ  
文ꢁꢂꢃꢄꢅꢆꢇꢈꢉꢊꢋꢌꢍꢎꢏꢐꢑꢒꢓꢔꢕꢈꢉꢖꢗꢘꢙꢚꢚ  
python  
摘 要:  
shap  
脚ꢛꢜꢝꢞꢟꢠꢡꢢꢔꢣꢤꢅꢥꢦ  
文ꢁꢧꢨꢈꢉꢩꢪꢫꢈꢉꢬꢭꢮꢯꢰꢤꢱꢲꢳꢴꢵꢅꢪꢫ。  
shapefile  
ꢛ文本ꢶ  
脚ꢛꢷꢇ  
文ꢁ,ꢙꢚ利ꢆꢸꢹꢺꢻꢼꢽꢾꢿ,生ꣀꣁꣂꢸꣃꢿ,ꢌ实  
python shapefile  
python  
shapefile  
ꢅꢌ的꣄ꣅ,ꢯ为ꢄꢆꢇ꣆꣇ꢈꢉ꣈꣉꣊꣋꣌꣍。  
文ꢁ;  
脚ꢛ;ꣁꣂꢸꣃꢿ;函꣎꣏  
关键词: Shapefile  
python  
中图分类号: TP312  
文献标识码: A  
DOI 10.3969/j.issn.1003-6970.2018.12.036  
脚ꢛꢋ 文ꢁꢒꢅ꣓ꢚ 软ꢁ, , :  
159161  
杨꣐ꢈ,杨꣑꣒  
本文著录格式:  
. Python  
shape  
[J].  
2018 39 12  
Application of Python Script in Shape File  
YANG Qin-xin, YANG De-hong  
(Kunming University of Science and Technology, 650093)  
Abstract: Shap files contain a lot of geographic information, but not all information can be used in practical work  
and learning. Using Python scripting language, we can obtain the required attribute information of the specific  
ShapeFile, point coordinate information, and transform it into the coordinates of the necessary projection system. In  
this paper, Python script is used to process ShapeFile, and the population density distribution map of a region is used  
to generate an equivalent area map. The practice of Python and ShapeFile is combined to provide reference for the  
development of more geospatial information.  
Key words: Shapefile; Python script; Equivalent area graph; Function library  
源跨平台,易上手且功能强大。其附带的核心语言  
0 引言  
包 及 众 多 模 块 代 码 , 使 得 开 发 更 加 容 易 。 对 于  
目前使用最普遍的地理空间格式是 Esri 的  
Shapefile 文件,1998 年该文件格式被正式标准化,  
作为一种开放规范发布。Esri 特意为 ArcView 开发  
这种文件格式。是一种低端 GIS 产品,但是可以实  
现其高端产品 ArcInfo 的一些基本操作。Shapefile  
由多个文件格式3 则可达 15 种不同文  
件。例如:.shp.shx .dbf 等有效文件。在一些  
Esri 的软件中,这些数据作为一个整体,Shapefile  
文件对于 GIS 数据交换和 GIS 分析而言是一种基础  
Shapefile 文件要使用 python PyShp 也可  
以使用 OGR 库的 python 绑定,但此处为了尽量使  
[4-5]  
python 代码的风格,选择安装 PyShp 库)  
1
Shapefile 文件编辑  
对于 Shapefile 文件的编辑和其他相关操作只  
需要关注.shp .dbf 文件即可,二者是 Shapefile 文  
件的核心文件。.shp 文件包含几何图形,.dbf 文件  
包含几何图形所必要的属性信息Shapefile 文件中,  
每一个图形信息都含有对应的属性列表。这些属性  
信息是没有特定编号或者标记的,如果从 shapefile  
文件修改相关信息时,需保证与其相关的文件也做  
了相应修改。  
数据格式[1-3]  
Python 自诞生以来,人们使用较少。自从人工  
智能的兴起使python 迅速挤进计算机语言前五,  
并且排名仍在以较大幅度上升。仅次于 Javac++、  
c 等几种热门语言。Python 最大的特点就是免费开  
杨勤信  
,男,大学本科,主要研究方向为大地测量;杨德宏  
(1993 )  
,男,研究生,主要研究方向为测量数据处理与  
(1965 )  
作者简介:  
质量控制研究。  
39 卷 第 12 期  
由图 2 知,该 shape 文件是一个点 shapefile 文  
1.1 shapefile 文件访问及属性提取  
件,python 脚本解析出共有 298 个点。  
在访问 shapefile 文件时,利用 PyShp 库,导入  
PyShp 库:import shapefile  
1.2 shapefile 文件几何图形处理  
Python PyShp 库利用方法 Reader”Filed  
name”打 开 shapefile 文件Filed name 可以不使用  
扩展名,因为处理的数据至少包括.shp .dbf 等文  
件,否则会导致打开文件失败。当成功创建一个读  
取器对象后.bbox 方法就可以获取文件边框信  
.shapeType 获取文件类1 代表点3 代表线,  
5 代表多边形等.numRecords 获取记录总数。dbf  
文件是一种简单的数据库,类似于电子表格,可以  
通过读取器对象(.fields)的字段属性查看该信息。  
运行结果如图 1。  
shapefile 文件中一条记录都包含一个点,  
读取每一个点的经纬度(纬度在经度之前采  
.shape(num).points 可获取到选定点的坐标信息,  
这里提取第 200 个点的坐标信息如图 3。  
3 点坐标信息  
Fig.3 Point coordinate information  
此处的坐标信息是经纬度以使用 python 的  
utm 库中的.from_latlon()方法将其转换为 utm 投影  
下的坐标值,并获得 utm 水平方向的编号和竖直方  
向的字母编号,如图 4。  
1 属性表  
Fig.1 Property Sheet  
4 utm 坐标信息  
Fig.4 Utm coordinate information  
shape 文件在 ArcGIS 中图形如图 2。  
2
shapefile 文件利python 绘制某地区  
人口相对密度分布等值区域图  
用来显示密度的地图称为等值区域图,用阴影  
的深浅度来表达密度,使得阅读更为容易,可以作  
为分析某区域内点密度的直接参考。本文用某区域  
人口密度图来解析出密度等值区域图。  
因为处理图像以首先要利用 python 自带图  
像处理库-PILPython Imaging LibraryPIL 为了  
保证速度,采用的是 C 语言编写,专门针对 python  
做了一些优化,正式被 python 调用。本文程序均由  
python3 版本编写,所以使用 PIL 的升级版本  
Pillow 库。Pillow 其他方法使用此处不做赘述。本  
案例由 shapefile 文件根据每单位面积的人口得出密  
度比率,然后由该比率配置相应的颜色,密度越大  
则颜色越深,密度越小,颜色越浅。整体开发思路  
如图 5。  
2 Shape 文件  
Fig.2 Shape file  
5 示意图  
Fig.5 Schematic  
《软件》杂志欢迎推荐投稿:
160  

全部评论(0)

暂无评论