如何提取shapefile⽂件中的路⽹信息(附python代码实现)
shpfile⽂件是gis领域内储存地理空间信息常⽤的⽂件格式,但是很多时候,我们⽆法直接打开并获取我们想要的信息,⽽且我在初学的时候,虽然许多博客和百科都对shapefile⽂件有所介绍,但是我⾃⼰在初学的时候并不能很快理解其中的含义,结果是看来半天,还是不知道怎么把我⾃⼰想要的路段信息提取出来,所以,本篇⽂章我将讲述如何提取shpfile⽂件中我们所需的路⽹信息;
1.⾸先我们先来了解⼀下shpfile⽂件的组成,⼀般⽽⾔,它由⼏个⼦⽂件组成,下⾯将介绍各个⼦⽂件:
.shp-图形格式,⽤来保存元素的⼏何体(通俗来说就是我们地图中的⼀条条路,⼀栋栋房⼦)
.shx-图形索引格式(可以看做对shp⽂件中的元素的索引)
.dbf-属性格式数据(就是元素的⼀些属性了,例如路段的路名等)
以上三个均为必须元素,缺⼀不可,在编程是必须处于同⼀个⽂件夹下!⽽且必须同名,否则⼀定会保错!另外还有⼏个可选⽂件,如prj,保存地理信息系统的投影信息,但这并不是必须的,由于我的主要⼯作为提取路⽹中的关键信息所以不继续讲解,感兴趣的可以参考shpfile
2.路⽹信息的提取:
在实验前我们⾸先要明⽩的是,shp⽂件中的元素是有各种⼏何类型的,如下图所⽰(摘⾃wiki百科):
image
其中第⼀列的值是⼈为设定的,后⾯我会通过编程获取这⼀个值,得到⼏何元素的类型,在这⾥要说明的是我们所需的路⽹⼀般⽽⾔是polyline格式的,也就是折线,现实⽣活中我们的路是曲线,但机器中,利⽤多个点,来形成直线保存下来。
python怎么读文件夹下的文件夹
下⾯我将编程,并辅以说明,讲述我们所提取出来的各类信息
⾸先,python⽀持shpfile的写⼊读出有⼀个专门的集成软件包pyshp,但是在导⼊的时候记得要写成import shpfile,⽽不是pyshp!下⾯我将介绍他的主要⽤法:
⾸先我们要打开⽂件,sf =shapefile.Reader(filename) 这⾥的filename很灵活,你可以带shp后缀,也可以直接写⽂件名,但是要注意这并不影响我们队其他⽂件格式的读取;
image
可以看到,我们所需要的路⽹数据已经全部提取到csv格式中并存储起来,⽽且可视化让问题让每条路段的信息更加明确,为进⼀步的⼯作打下了基础

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。