当前位置:实例文章 » 其他实例» [文章]获取全国各地行政区的genjson数据以及使用leaflet加载行政区数据

获取全国各地行政区的genjson数据以及使用leaflet加载行政区数据

发布人:shili8 发布时间:2024-11-07 15:59 阅读次数:0

**获取全国各地行政区的GeoJSON数据**

首先,我们需要获取全国各地行政区的GeoJSON数据。我们可以使用国土资源部提供的API来获取这些数据。

### 步骤1:获取API密钥首先,我们需要申请一个API密钥。我们可以在国土资源部的官网上申请。

### 步骤2:获取行政区数据接下来,我们可以使用以下代码来获取行政区数据:

import requests# 设置API密钥和区域编码api_key = "你的API密钥"
region_code = "110000" # 北京市# 发送请求获取行政区数据response = requests.get(
 f" /> headers={"Authorization": f"Bearer {api_key}"},
)

# 如果请求成功,则获取数据if response.status_code ==200:
 data = response.json()
 print(data)
else:
 print("Failed to get data")

### 步骤3:处理数据接下来,我们需要处理得到的数据。我们可以使用以下代码来将数据转换为Leaflet支持的格式:
import json# 将GeoJSON数据转换为Leaflet支持的格式def convert_to_leaflet(data):
 features = []
 for feature in data["features"]:
 properties = {}
 for prop in feature["properties"]:
 properties[prop] = feature["properties"][prop]
 geometry = {
 "type": "Polygon",
 "coordinates": feature["geometry"]["coordinates"],
 }
 features.append({"type": "Feature", "geometry": geometry, "properties": properties})
 return {"type": "FeatureCollection", "features": features}

# 转换数据data = convert_to_leaflet(data)
print(json.dumps(data))

### 步骤4:使用Leaflet加载行政区数据最后,我们可以使用以下代码来将数据加载到Leaflet地图上:
html<!DOCTYPE html>
<html>
<head>
 <title>全国各地行政区地图</title>
 <link rel="stylesheet" href=" /> integrity="sha512-xodZBNTC5n17Xt2ptFOvTp4H432wVBFb97D1TJegsF2isdntChhBU6th-SG3gi3G4yYVM0zgj9ke9JJca5sxqg=="
 crossorigin=""/>
 <script src=" /> integrity="sha512-XQoYMqMTK8LvdxXYG3nZ448hwdFnqIL9pW77zInTwya1lCpvcsSqFOjaJRk2SLLVPUKrhc6 WakNvzm5xjplZcA=="
 crossorigin=""></script>
</head>
<body>
 <div id="map" style="width:800px; height:600px;"></div>

 <script>
 // 加载数据 const data = {{json.dumps(data)}};

 // 创建地图 const map = L.map("map").setView([39.9042,116.4074],5);

 // 添加底图 L.tileLayer(" {
 attribution: "地图数据来源于天地图",
 subdomains: ["t0", "t1", "t2", "t3"],
 }).addTo(map);

 // 添加行政区 L.geoJSON(data, {
 onEachFeature: (feature, layer) => {
 const properties = feature.properties;
 layer.bindPopup(properties.name);
 },
 }).addTo(map);
 </script>
</body>
</html>

以上就是获取全国各地行政区的GeoJSON数据以及使用Leaflet加载行政区数据的步骤和代码示例。

相关标签:ios开发语言swift
其他信息

其他资源

Top