用途:将散落在自由文本中的真实地理地标(公园、餐厅、咖啡馆、博物馆、画廊、观景点、纪念碑、街区、步道等)提取出来,生成一个带标记和悬停信息的可点击地图链接。
主要能力:从输入中抽取可地理编码的具体地名(不包含模糊指代如“市中心某咖啡店”),保留城市或地区上下文以提高定位准确性。每个地标生成一个 Point Feature,包含 name、description、address、hours、best_time、maps_url、directions_url、reviews_url 以及 marker-color、marker-size、marker-symbol 等属性,坐标遵循 GeoJSON 的 [经度, 纬度] 顺序。
使用方式:先运行 python scripts/geocode.py 通过 OpenStreetMap Nominatim 查询坐标与地址(脚本处理 user-agent、约 1 次/秒的速率限制),格式为 python scripts/geocode.py "地标名, 城市, 地区";再对成功定位的地标用网络检索补充元数据;根据类别选用 Maki 图标符号与颜色;最后用 scripts/build_map_url.py 接收 stdin 上的 FeatureCollection JSON,输出 geojson.io 链接,例如 echo '<feature-collection-json>' | python scripts/build_map_url.py。回复时单独一行给出链接,并附 1–2 行汇总(地标数量、无法定位者、颜色编码含义)。
限制与注意事项:不主动保存 .geojson 文件,除非用户明确要求,链接本身即交付物。无法地理编码的地标不要以 [0, 0] 坐标写入 Feature,否则会落到大西洋,应在汇总中列为“未能定位”。不得编造营业时间、价格或地址,未知就写未知。不要添加超出上述 schema 的字段。URL 超过约 6000 字符时 geojson.io 可能在某些浏览器中表现不佳,脚本会在 stderr 提示,此时可考虑精简描述或拆分多张地图并告知用户。是否存在其他收费、平台等细节暂未提供。