You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

寻求支持地图区域高亮并返回区域内县的Python工具/库方案

地图区域圈选并提取县域的工具与Python库方案

Python库实现方案

1. GeoPandas + Folium

  • 核心逻辑:通过GeoPandas加载县域边界地理数据(Shapefile或GeoJSON格式),用Folium生成支持圈选的交互式地图,再借助空间查询筛选出圈选范围内的县域。
  • 操作步骤示例:
    1. 加载县域地理数据:
      import geopandas as gpd
      # 替换为你的县域数据文件路径
      counties = gpd.read_file("counties.shp")
      
    2. 创建带圈选功能的交互式地图:
      import folium
      from folium.plugins import Draw
      
      m = folium.Map(location=[35, 105], zoom_start=5)
      # 添加可绘制多边形的控件,支持导出圈选的GeoJSON
      Draw(export=True).add_to(m)
      m.save("interactive_map.html")
      
    3. 导入圈选结果并筛选县域:
      # 导入导出的圈选多边形GeoJSON
      drawn_polygon = gpd.read_file("drawn_polygon.geojson")
      # 空间交集查询,获取圈选范围内的县域
      selected_counties = counties[counties.intersects(drawn_polygon.geometry.iloc[0])]
      # 输出县域名称列表
      print(selected_counties["name"].tolist())
      

2. Plotly Express + Shapely

  • 特点:Plotly的交互式地图支持框选、圈选操作,结合Shapely处理空间几何判断,无需额外导出文件即可完成筛选。
  • 关键代码示例:
    1. 生成带圈选功能的地图:
      import plotly.express as px
      
      fig = px.choropleth(counties, geojson=counties.geometry, locations=counties.index, color="name")
      # 设置地图样式并开启闭合路径绘制模式(圈选)
      fig.update_layout(mapbox={"style": "carto-positron", "zoom": 3}, dragmode="drawclosedpath")
      fig.show()
      
    2. 基于圈选坐标筛选县域:
      from shapely.geometry import Polygon
      
      # 替换为实际圈选得到的坐标列表
      drawn_coords = [[100, 30], [110, 30], [110, 40], [100, 40], [100, 30]]
      polygon = Polygon(drawn_coords)
      # 筛选与圈选多边形相交的县域
      selected_counties = counties[counties.geometry.intersects(polygon)]
      print(selected_counties["name"].values)
      

现成工具方案

  • QGIS:开源GIS桌面软件,加载县域边界图层后,用“绘制多边形”工具圈选目标区域,通过「选择要素」→「按位置选择」功能筛选区域内的县域要素,最后将选中要素的属性表导出为CSV或TXT文本。
  • ArcGIS Online:在线GIS平台,上传县域数据图层后,在地图编辑器中绘制圈选多边形,使用空间分析工具提取范围内的要素,直接导出结果为文本格式。

内容的提问来源于stack exchange,提问作者Chandler O'Neal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 10:15:40