业务问题:一个 API 返回 GeoJSON,不等于它已适合入库
GIS 团队接入空间数据 API 时,最容易省略的是输入范围和来源约束。Bunting Labs 的官方文档把 OSM 要素、人口估算、卫星影像衍生的建筑轮廓和 COGO 计算放在同一套接口中。它们都能输出看似易用的 GeoJSON,却对应不同的空间口径、许可和精度风险。可靠做法不是把响应直接写入主库,而是为每种接口建立可验收的输入、输出和归属记录。
资料依据:四类接口有四种边界
OSM Extract 接口按标签和可选 bbox 提取 OpenStreetMap 要素,返回 GeoJSON FeatureCollection。标签可以是 key=value 或 key=*,多个标签可组合;bbox 的顺序固定为 EPSG:4326 的最小经度、最小纬度、最大经度、最大纬度。按几何提取则接收 WKT,使用 WGS84 经纬度,并筛选与上传几何相交的要素;文档说明这项几何计算能力需要 growth plan。
同一页面还给出一个重要限制:simplify=point 会把输出几何变成质心,甜甜圈多边形的质心可能落到原环之外。因此,简化点可以用于粗略索引或密度图,不能不加标记地替代原始边界。OSM 数据遵循 ODbL,下载、派生与发布时应保留归属和许可核验。
人口接口以坐标或地址为圆心、以米为单位给定半径,基于美国 Census 数据估算圆内人口;半径上限是 16,093 米,返回中还包含数据来源说明。这是覆盖范围内的估计值,不是地块级人口真值。建筑轮廓接口则从 Daylight 的卫星影像衍生数据下载 bbox 内建筑,文档列出的覆盖包括美国、加拿大、澳大利亚、乌干达和坦桑尼亚等;示例属性含 release 与 capture_dates_range,正是入库时不能丢掉的版本和时相字段。
业务场景:选址初筛与测量成果要分两条链
以新站点初筛为例,团队可以先用 OSM 标签检索学校、公交站或公园,用人口估算得到同一半径内的居民量,再把建筑轮廓作为屋顶面积或物流落点的候选依据。这里的每一项都是筛选证据,不能被混写成“该地块的真实人口”或“经测量确认的建筑边界”。
若需要输出测量草图,COGO 接口可从闭合坐标环生成线段 GeoJSON,并提供 distance_meters、true_bearing_degrees 与六十进制方位。文档建议坐标至少保留六位小数,约对应 11 厘米量级;但这只是输入表示精度,不能取代测量控制、坐标基准核验或法律界址资料。
技术实施路径
先把输入 AOI 转成明确的 EPSG:4326 bbox 或 WKT,并在提交前检查经纬度顺序。随后分开请求 OSM、人口、建筑或 COGO 服务,保留原始响应;不要把任一返回值直接覆盖业务主图层。将响应写入暂存层后,校验 FeatureCollection 结构、坐标范围、许可字段和数据版本,再由人工把经过核验的字段映射到正式成果层。
最小验收清单
- 固定请求的标签、bbox 或 WKT,并记录坐标系和轴顺序;
- 保存原始 GeoJSON、请求时间、接口版本及返回的
release、capture_dates_range、数据来源; - 将 OSM、Daylight 和 Census 的许可与归属随数据集一同保存;
- 对
simplify=point的输出标记为概化几何,禁止替换原始面边界; - 把人口估算、影像衍生轮廓与法定或外业真值分层展示;
- 对 COGO 输出复核闭环、单位、基准和控制点,再用于正式制图或文书。
风险边界
API 的便利在于把查询和格式转换压缩到一次调用,风险则在于把不同数据产品的边界一并压掉。Bunting Labs 文档提供了足够清晰的接口事实:OSM 是标签和范围驱动的数据提取,人口是圆形范围估算,建筑是影像衍生数据,COGO 是对输入坐标环的计算。
结论
入库前分别确认请求范围、输入坐标、产品来源、许可证、版本和适用精度,才能让这些 API 的 GeoJSON 返回成为可追溯的 GIS 输入,而不是难以解释的临时图层。
关键词:GIS 是地理信息系统的数据管理环境;空间分析要明确坐标系、范围与来源;GeoJSON 需要保留许可和版本字段。