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

如何统计特定县内Google Maps标记的公园数量?

解决指定县内Google Maps公园统计的思路

核心问题拆解

要完成这个统计,关键解决两个问题:获取目标县的精准边界范围,以及在该范围内准确搜索并过滤公园地点。

方案一:全Google API实现(无需外部数据源)

步骤1:定位目标县的地理信息

调用Google Geocoding API,传入县的完整名称(比如address=XX县, XX省, 中国),或者用components参数精准限定(components=administrative_area_level_2:XX县|country:CN),获取以下关键信息:

  • 县的中心坐标(geometry.location)
  • 县的矩形视口范围(geometry.viewport,包含西南、东北两个坐标)
  • 县的行政标识(address_components中administrative_area_level_2的名称,用于后续验证)

步骤2:搜索县范围内的公园

调用Google Places API的Nearby Search接口,参数设置:

  • location:县的中心坐标
  • bounds:传入步骤1获取的viewport西南、东北坐标,限定搜索范围为县的矩形区域
  • type=park:指定搜索地点类型为公园
  • 处理分页:Nearby Search每次最多返回20条结果,通过next_page_token循环调用,获取所有符合条件的公园结果,记录每个公园的place_id(用于去重)和坐标。

步骤3:过滤出县内的公园

由于矩形视口可能包含县外区域,需要对每个搜索到的公园做精准验证:
调用Google Reverse Geocoding API,传入公园的坐标,检查返回的address_components中是否包含目标县的administrative_area_level_2信息。如果匹配,则计入统计。

成本优化提示

  • 优先用bounds而非radius参数,缩小搜索范围,减少返回结果数量,降低后续Reverse Geocoding的调用次数
  • 利用place_id去重,避免重复调用API验证同一个公园

方案二:结合开源行政边界数据(降低API成本)

如果不想过多依赖Reverse Geocoding的API调用,可以用开源行政边界数据替代:

步骤1:获取县的边界多边形

从开源数据源下载目标县的shapefile行政边界数据,通过地理处理工具(比如Python的geopandas库)提取出边界的经纬度多边形坐标集合。

步骤2:搜索公园并做空间判断

  • 同方案一的步骤2,用Places Nearby Search获取矩形范围内的所有公园
  • 对每个公园的坐标,用点-in-polygon算法(比如shapely库的within方法)判断是否在县的边界多边形内,符合条件的计入统计

注意事项

  • Google Places API有调用频次和配额限制,提前估算所需调用量,避免超出免费额度或产生意外费用
  • 部分偏远地区的公园可能未被Google Maps收录,统计结果会存在一定误差
  • 确保Geocoding时的县名准确,避免定位到同名的其他行政区域

内容的提问来源于stack exchange,提问作者Jerry Zhang

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 17:25:11