如何使用id/codarea作为标识符将一个json中的功能信息添加到geoJson中?
以下步骤显示了可以从何处下载文件以重现此问题。如何使用id/codarea作为标识符将市政信息从一个json对象添加到另一个json对象中 请求geojson 文件结构片段:如何使用id/codarea作为标识符将一个json中的功能信息添加到geoJson中?,json,python-3.x,leaflet,geojson,Json,Python 3.x,Leaflet,Geojson,以下步骤显示了可以从何处下载文件以重现此问题。如何使用id/codarea作为标识符将市政信息从一个json对象添加到另一个json对象中 请求geojson 文件结构片段: {'type': 'Feature', 'properties': {'codarea': '2303600', 'centroide': [-36.722055140733, -6.158308569735204]}, 'geometry': {'type': 'Poly
{'type': 'Feature',
'properties': {'codarea': '2303600',
'centroide': [-36.722055140733, -6.158308569735204]},
'geometry': {'type': 'Polygon',
'coordinates': [[[-36.6532, -6.1118],
[-36.6828, -6.1277],
[-36.7005, -6.1453],
.....
{'id': 2303600,
'nome': 'Catarina',
'microrregiao': {'id': 23020,
'nome': 'Sertão de Inhamuns',
'mesorregiao': {'id': 2304,
'nome': 'Sertões Cearenses',
'UF': {'id': 23,
'sigla': 'CE',
'nome': 'Ceará',
'regiao': {'id': 2, 'sigla': 'NE', 'nome': 'Nordeste'}}}}},
在下面的内容中,您可以找到我想与上面的meshes\u mun
链接的字符串名称和ID。
我需要链接的名称和id是更高级别的:“id”:2303600,“nome”:“Catarina”
,因此不需要添加其他功能,但如果可以的话,可以添加它们
# url to request information of all municipalities (contains the id number)
mun_url = 'https://servicodados.ibge.gov.br/api/v1/localidades/municipios'
cities_json = requests.get(mun_url, headers=headers).json()
文件结构片段:
{'type': 'Feature',
'properties': {'codarea': '2303600',
'centroide': [-36.722055140733, -6.158308569735204]},
'geometry': {'type': 'Polygon',
'coordinates': [[[-36.6532, -6.1118],
[-36.6828, -6.1277],
[-36.7005, -6.1453],
.....
{'id': 2303600,
'nome': 'Catarina',
'microrregiao': {'id': 23020,
'nome': 'Sertão de Inhamuns',
'mesorregiao': {'id': 2304,
'nome': 'Sertões Cearenses',
'UF': {'id': 23,
'sigla': 'CE',
'nome': 'Ceará',
'regiao': {'id': 2, 'sigla': 'NE', 'nome': 'Nordeste'}}}}},
如何使用id/codarea作为标识符将一个json中的功能信息添加到geoJson中
可以这样做吗
import requests
url = "https://servicodados.ibge.gov.br/api/v2/malhas/?resolucao=5&formato=application/vnd.geo+json&qualidade=4"
meshes_mun = requests.get(url).json()
mun_url = "https://servicodados.ibge.gov.br/api/v1/localidades/municipios"
cities_json = requests.get(mun_url).json()
for mun in meshes_mun["features"]:
codarea = int(mun["properties"]["codarea"])
matched_city = [city for city in cities_json if city["id"] == codarea][0]
mun["properties"]["nome"] = matched_city["nome"]