GeoPandas模块似乎可以满足您的需求。它用于python,利用python的优秀库进行数据分析,支持Gis和fiona地图,以及广泛的多边形创建。在这里查看:
https://github.com/kjordahl/geopandas?source=cc
从自述文件:
GeoPandas 是一个为 pandas 对象添加地理数据支持的项目。它目前实现了 GeoSeries 和 GeoDataFrame 类型,它们分别是 pandas.Series 和 pandas.DataFrame 的子类。GeoPandas 对象可以作用于匀称的几何对象并执行几何操作。
多边形创建示例:
>>> p1 = Polygon([(0, 0), (1, 0), (1, 1)])
>>> p2 = Polygon([(0, 0), (1, 0), (1, 1), (0, 1)])
>>> p3 = Polygon([(2, 0), (3, 0), (3, 1), (2, 1)])
>>> g = GeoSeries([p1, p2, p3])
>>> g
0 POLYGON ((0.0000000000000000 0.000000000000000...
1 POLYGON ((0.0000000000000000 0.000000000000000...
2 POLYGON ((2.0000000000000000 0.000000000000000...
dtype: object
最终结果是:
一个更复杂的不规则多边形示例:
>>> boros = GeoDataFrame.from_file('nybb.shp')
>>> boros.set_index('BoroCode', inplace=True)
>>> boros.sort()
>>> boros
BoroName Shape_Area Shape_Leng \
BoroCode
1 Manhattan 6.364422e+08 358532.956418
2 Bronx 1.186804e+09 464517.890553
3 Brooklyn 1.959432e+09 726568.946340
4 Queens 3.049947e+09 861038.479299
5 Staten Island 1.623853e+09 330385.036974
geometry
BoroCode
1 (POLYGON ((981219.0557861328125000 188655.3157...
2 (POLYGON ((1012821.8057861328125000 229228.264...
3 (POLYGON ((1021176.4790039062500000 151374.796...
4 (POLYGON ((1029606.0765991210937500 156073.814...
5 (POLYGON ((970217.0223999023437500 145643.3322...
