首页 > 解决方案 > 使用 gmplot 和 Python 显示多个 GeoJSON 多边形

问题描述

我是 Python 新手,并且正在学习 Python。我有一个包含多个多边形的 geojson 文件。我想使用 gmplot 在谷歌地图上显示它们。但是,我可以显示一个多边形,但不能显示其他多边形。我不确定一个函数是否是正确的选择,但我正在尝试迭代并绘制每个多边形。任何指导将不胜感激!

我一直在网上研究其他技巧,但没有运气。

import json
import numpy as np
import gmplot
from itertools import groupby
import os

tstPolygon = "unit.geojson"

gmap = gmplot.GoogleMapPlotter(45.570312, -110.536931, 13)
gmap.apikey = "##############################"

def coords(newpoly):
    with open(newpoly) as f:
        js = json.load(f)
        for feature in js['features']:
            coordList = feature['geometry']['coordinates']
            name = feature['id']
            xy = coordList[0]
            xy_new = list(zip(*xy))
            x = xy_new[0]
            y = xy_new[1]
            gmap.plot(y,x,color='blue',edge_width=10)
            gmap.draw("mymap.html")

coords(tstPolygon)

我希望 python 脚本将迭代并将每个多边形绘制到 html 文件中。我正在考虑使用附加到每个多边形并使用 groupby() 的唯一“id”属性。但不确定如何应用它。

标签: pythongeojson

解决方案


推荐阅读