批量点面关系判断
批量点面关系判断
一个你一定遇到过的问题
你有一张门店坐标表,还有一份商圈边界数据。你想知道:每个门店属于哪个商圈?
如果只有三五个门店,你可以在地图上一个个看。但如果有几百上千个呢?肉眼判断就不现实了。
更专业一点的说法叫"点面关系判断" —— 给你一堆"点"(坐标)和一堆"面"(多边形区域),判断每个点落在哪个面里面。
这就是这个工具干的事。你把点数据和面数据都丢进来,它帮你一条条判断,告诉你每个点属于哪个区域。
两种模式
单个多边形模式 —— 你只有一个区域,想看哪些点在里面。
在文本框里粘贴这个多边形的坐标就行,格式是这样的:
104.102014,30.719574;104.141153,30.676768;104.084821,30.644073;104.048695,30.688412
每个点是 经度,纬度,点与点之间用分号 ; 隔开。系统会把这些点连成一个多边形,然后判断你的数据里哪些坐标落在这个多边形内。
批量多边形模式 —— 你有多个区域(比如多个商圈、多个配送片区),想知道每个点属于哪个区域。
这种情况下,你需要导入一个 Shapefile 文件 —— 里面存着多个多边形和它们的属性(比如"商圈名称")。导入后,选择一个"唯一标识列"(比如"name"列),系统就知道怎么区分不同的多边形了。
还有一个特殊选项"全部字段" —— 选了之后,不光告诉你属于哪个多边形,还会把这个多边形的所有属性字段都关联到点数据上。
怎么用
导入点数据(Excel 或 CSV),选好经纬度列。
然后选择面数据的输入方式 —— 单个(粘贴坐标)或批量(导入 Shapefile)。
接下来选择你要导出什么:
- 全部点 —— 包括在区域内和区域外的
- 仅区域内的点 —— 只保留落在多边形内的
- 仅区域外的点 —— 只保留在多边形外面的
点击开始,等一会儿就有结果了。
结果长什么样
如果你用的是"标准模式"(选了一个唯一标识列),结果表里会多一列 判断结果。如果某个点落在了某个多边形内,这一列就显示那个多边形的标识值(比如"春熙路商圈")。如果一个点同时落在多个多边形内(比如两个区域有重叠),标识值会用 | 符号连接(比如"商圈A|商圈B")。
如果你用的是"全部字段"模式,结果表里会多出好几列,列名都以 面_ 开头,包含匹配到的多边形的所有属性信息。
查完后,系统还会自动生成一张 Folium 可视化地图 —— 点和多边形叠加显示,你可以在浏览器里直观看到哪些点在哪些区域内。
它在后台做了什么优化
你可能不需要知道这些细节,但如果你好奇的话:
系统会根据你数据的地理位置,自动选择一个最优的投影坐标系(UTM 分带)来做空间运算。因为经纬度坐标做空间计算会有精度问题(地球是圆的,经纬度不是等距的),转成平面坐标后计算更准确。运算完了再转回来,你拿到的结果还是经纬度,完全不影响使用。
会员权限
| 等级 | 限制 |
|---|---|
| 免费用户 | 最多 50 条点数据 |
| 普通会员 | 不限量 |
| 高级会员 | 不限量 |
