目录
一、案例 1:零代码抓取互联网 POI 数据(百度 / 高德 API)
二、案例 2:多源数据坐标批量转换(北京 54 转 CGCS2000)
在数据处理与集成领域,FME(Feature Manipulate Engine)凭借其强大的功能和便捷性,成为众多专业人士的得力工具。本文将通过多个实战案例,深入剖析 FME 的核心技术应用,并提供详细的代码与配置示例,助力读者更好地理解和运用 FME 解决实际问题。
一、案例 1:零代码抓取互联网 POI 数据(百度 / 高德 API)
(一)背景需求
城市规划等场景常需获取 POI(兴趣点)数据,传统爬虫方式需编写复杂代码,而 FME 可通过 API 调用和 JSON 解析实现自动化,极大提高效率。
(二)实现流程
-
构建 API 请求 :使用 HTTPCaller 转换器发送请求,以高德 API 为例,其 URL 模板为https://restapi.amap.com/v3/place/text?key=(用户密钥)&keywords=KFC&city= 广州 &page={ 页码 },其中分页参数可通过循环器(Loop)自动生成页码,直至返回空数据。
-
JSON 解析与属性提取 :利用 JSONFragmenter 解析返回的 JSON 数据,提取名称、坐标、类别等关键字段。
-
坐标转换与空间化 :通过 Reprojector 将高德 GCJ - 02 坐标系转换为 WGS - 84,并生成空间几何。
-
数据输出 :将结果写入 Shapefile 或 GeoJSON,便于在 ArcGIS Online 等平台进行可视化展示。
(三)代码片段(Python 集成)
# PythonCreator 脚本示例(用于动态生成 API 请求参数)
import fme
def processFeature(feature):
city_list = ["广州", "深圳", "北京"]
for city in city_list:
feature.setAttribute("city", city)
feature.setAttribute("page", 1)
return feature