shapefile转换geojson
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
import shapefile import codecs from json import dumps # read the shapefile def shp2geo( file = "line出产.shp" ): reader = shapefile.Reader( file ) fields = reader.fields[ 1 :] field_names = [field[ 0 ] for field in fields] buffer = [] for sr in reader.shapeRecords(): record = sr.record record = [r.decode( 'gb2312' , 'ignore' ) if isinstance (r, bytes) else r for r in record] atr = dict ( zip (field_names, record)) geom = sr.shape.__geo_interface__ buffer .append( dict ( type = "Feature" , geometry = geom, properties = atr)) # write the GeoJSON file geojson = codecs. open ( file .split( '.' )[ 0 ] + "-geo.json" , "w" , encoding = "gb2312" ) geojson.write(dumps({ "type" : "FeatureCollection" , "features" : buffer }, indent = 2 ) + "\n" ) geojson.close() if __name__ = = '__main__' : # import os # for z,x,c in os.walk('.'): # for zz in c: # if zz.endswith(".shp"): # shp2geo(zz) # shp2geo(file='D.shp') shp2geo( file = 'ttttttttttt.shp' ) |
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对服务器之家的支持。如果你想了解更多相关内容请查看下面相关链接
原文链接:https://blog.csdn.net/staHuri/article/details/80838226