目录
在地理信息系统(Geographic Information Sysytem, GIS)中,POI(Point of Interest) 和 AOI(Area of Interest) 是两个非常基础且重要的空间数据概念,它们在城市规划、导航、土地利用研究、遥感解译等领域中有着广泛应用。
POI 与 AOI 的对比
| 属性 | POI(兴趣点) | AOI(兴趣面) |
|---|---|---|
| 几何类型 | 点(Point) | 面(Polygon) |
| 表示对象 | 单个地点 (如医院、商店) | 区域或功能区 (如住宅区) |
| 常见用途 | 导航、定位、分类提示 | 土地利用、区域分析 |
| 数据来源 | OSM、百度地图、谷歌地图等 | OSM、政府数据、遥感解译 |
| 精度 | 一般较高(GPS点) | 视数据源不同而异 |
🧭 一、POI(Point of Interest,兴趣点)
1. 定义
POI 是指地图上具有某种特定功能或意义的点位,通常具备明确的位置(经纬度坐标)和语义属性,表示人们关注的地理目标或地点。

2. 特征
| 特性 | 说明 |
|---|---|
| 几何类型 | 点(Point) |
| 空间属性 | 经纬度坐标 |
| 语义属性 | 名称、类别、地址、联系方式等 |
| 数据结构 | 通常为 GeoJSON、CSV、Shapefile |
3. 常见类别
- 餐饮:餐厅、咖啡馆、酒吧
- 购物:超市、商场、便利店
- 教育:学校、图书馆、培训中心
- 医疗:医院、诊所、药店
- 交通:公交站、地铁口、停车场
- 政务:政府机关、使馆、法院
- 娱乐:电影院、KTV、公园
4. 案例:北京的部分POI数据(OpenStreetMap)
| 名称 | 类型 | 经度 | 纬度 |
|---|---|---|---|
| 北京大学 | university | 116.3054 | 39.9869 |
| 天安门广场 | attraction | 116.3975 | 39.9087 |
| 全聚德烤鸭店 | restaurant | 116.4189 | 39.9173 |
| 北京站 | train_station | 116.4273 | 39.9028 |
🗺 二、AOI(Area of Interest,兴趣面)
1. 定义
AOI 是指具有研究、监测或管理意义的特定区域或面状地理空间单元,通常用于限定分析范围或表示某类地块(如居民区、工业区、绿地等)。
2. 特征
| 特性 | 说明 |
|---|---|
| 几何类型 | 面(Polygon) |
| 空间属性 | 多边形坐标(边界) |
| 语义属性 | 地类、土地用途、功能区名称等 |
| 数据结构 | Shapefile、GeoJSON、KML、GPKG |
3. 常见用途
- 土地利用分类(如住宅、商业、工业等)
- 城市功能区划分
- 研究区域限定(如某个城市、流域、保护区)
- 变化检测前后的区域对比
4. 案例:北京市部分AOI数据(OSM)
| 名称 | 类型 | 面积(㎡) | 坐标点数 |
|---|---|---|---|
| 中关村科技园 | landuse=industrial | 2,500,000 | 135 |
| 奥林匹克森林公园 | landuse=park | 4,800,000 | 210 |
| 北京大学校园 | landuse=education | 3,100,000 | 160 |
⬇️ 三、POI与AOI的获取方式
1. 使用 OpenStreetMap (OSM)
✅ 方法一:Overpass API(推荐)
Overpass API 是 OSM 提供的高级数据查询接口,支持按地理范围、属性、标签等方式提取 POI 和 AOI。
示例:获取北京市范围内的大学(POI)
[out:json];
area["name"="Beijing"]->.searchArea;
(
node["amenity"="university"](area.searchArea);
);
out center;
示例:获取深圳市的 landuse=industrial(AOI)
[out:json];
area["name"="Shenzhen"]->.a;
(
way["landuse"="industrial"](area.a);
relation["landuse"="industrial"](area.a);
);
out body;
>;
out skel qt;
2. 使用 Python 下载(Overpass + OSMnx)
import osmnx as ox
# 获取POI:北京的医院
tags = {'amenity': 'hospital'}
gdf = ox.geometries_from_place("Beijing, China", tags)
# 获取AOI:北京的 residential 面
tags = {'landuse': 'residential'}
aoi = ox.geometries_from_place("Beijing, China", tags)
# 保存为GeoJSON
gdf.to_file("beijing_hospitals.geojson", driver="GeoJSON")
aoi.to_file("beijing_residential.geojson", driver="GeoJSON")

883

被折叠的 条评论
为什么被折叠?



