POI 数据这行当,圈外人看着就是一堆经纬度和名字,圈内人知道这是块宝。做选址的拿它做商圈分析,搞 AI 的拿它喂模型做意图识别,做用户画像的拿它给标签体系补维度,就连城市规划的同志也得靠它摸家底。所以看到 "6674万 POI、2025年12月31日更新、24大类、39字段、非OSM数据" 这个标题时,我第一反应不是"数据量大",而是"这批数据的时效性和结构化程度,确实踩在了痛点上"。
这篇不吹不黑,纯粹从一个常年跟数据打交道的从业者角度,拆一拆这批 POI 数据到底该怎么看、怎么用、有哪些坑、怎么落地。全文不整虚的,全是实操经验和踩坑总结。
1. 这批 POI 数据到底值钱在哪:先拆标题关键词
标题里每一个数字和限定词都不是白写的,逐个拆开看,才能明白这到底是怎样一批货。
1.1 "6674万"这个量级意味着什么
国内 POI 数据市场,公开能拿到且质量靠谱的,普遍在千万级左右。6674万这个量级,基本属于第一梯队的天花板水平。
量级本身不代表一切,但量级决定了应用场景的上限。举个最直白的例子:做连锁品牌选址,需要在地级市甚至区县粒度上分析 POI 密度、同类竞争分布、周边配套完善度。如果数据量只有几百万条,落在一个二线城市可能就稀稀拉拉几千个点,商圈轮廓根本画不出来。而六七千万条的规模,意味着即便在四五线城市,POI 密度也足够支撑网格化的商圈识别。
更关键的是,POI 数据一旦低于某个密度阈值,很多算法模型根本跑不动。比如做城市功能区划,要用聚类算法识别"这个片区到底是居住区还是商业区",数据稀疏时聚类结果会碎成一片,没法看。量级上来之后,算法的收敛效果和稳定性都会产生质变。
1.2 "2025年12月31日更新"的含金量
数据行业有一句老话:数据的价值与时效性成正比,与时间跨度成反比。
很多团队手里有数据,但一看时间戳是两三年之前的,城区都扩建了好几轮,商圈早转移了,新建的产业园、 shopping mall、地铁站口的新店铺在旧数据里压根不存在。拿这种数据做选址,等于拿三年前的地图找今天的路。
2025年12月这个时间点,说明数据经过了近期一轮完整的更新。对于做用户画像和经分(经营分析)的团队来说,时效性直接影响特征工程的质量。比如判断一个区域的"夜生活指数",靠的是夜间营业的餐饮、酒吧、KTV、便利店 POI 的分布和营业时间字段。如果数据是几年前的,可能区域里新开的十几个深夜营业点位全部缺失,算出来的指数跟实际情况偏差巨大——一步偏,步步偏,下游模型全都跟着错。
1.3 "全国覆盖"不是一句空话
市面上的 POI 数据,有的偏科严重,一二线城市数据丰富,三四线及以下直接摆烂。但"全国覆盖"意味着从一线城市到县级市,从沿海到内陆,数据密度和完整度都保持在一个可用的基准线上。
这对做全国性业务的企业尤其重要。做连锁加盟的,可能这个月要评估湖南的某个县城、下个月要看甘肃的某个地级市。如果数据只覆盖核心城市,业务根本没法往外拓。全国覆盖的另一层含义是行政区划体系的完整性——省、市、区县、乡镇街道各级粒度都齐,才能做自上而下的下钻分析。
1.4 "非OSM数据"为什么值得强调
OSM(OpenStreetMap)是全球志愿贡献的开源地図数据,本身很有价值,但在国内 POI 应用场景里有几个硬伤:
第一是数据口径不统一。OSM 的 POI 分类是国际通用的,和国内商业业态的匹配度存在错位,很多国内特有的业态(如"夫妻店""早餐摊""社区驿站")在 OSM 体系里找不到对应分类。
第二是更新节奏受制于志愿者活跃度。一些城市的 OSM 数据更新频率不稳定,热点区域有人维护,冷门区域可能一年半载都没人碰。
第三是坐标系问题。OSM 用的是 WGS-84 坐标系,而国内实际应用场景(地图引擎、LBS 系统、绝大多数业务系统)用的是 GCJ-02 或 BD-09。不做坐标系转换直接拿来用,点位偏移可能几百米,这在实际业务中是致命的。
所以"非OSM数据"这五个字,实际是在说:这批数据经过了专业化的采集、清洗、分类和坐标系处理,不是开源世界那种"粗放式"的东西。对于商业级应用来说,这不只是加分项,而是必要条件。
2. 24大类与39字段:POI 数据的骨架和血肉
光有数量没有结构,数据只能叫"原始堆积";有了合理的分类体系和丰富的字段,数据才谈得上"资产"。这一节详细拆解分类和字段背后的设计逻辑。
2.1 24大类分类体系的价值:一个"通用语言"层
做过数据处理的人都知道,分类体系本质上是一套对现实世界的"编码方案"。24大类这个粒度设计得比较聪明——太粗(比如5大类)会导致同类 POI 挤在一起,无法区分真实业态;太细(比如100+小类)虽然粒度精细,但维护成本高,而且下游应用不一定用得上那么细的分类。
24大类的粒度刚好落在"业务可解释"和"算法可区分"的平衡点上。
以餐饮为例,餐饮大类内部可以细分出中餐厅、西餐厅、快餐、火锅、烧烤、烘焙、茶饮等子类。6-8个细分餐饮子类,已经足够支撑:
- 商圈餐饮丰富度评价;
- 特定品类(比如火锅)的竞争密度分析;
- 不同时段的客流场景推测。
而如果只有"餐饮"一个大类,下面什么都是"餐饮",那火锅店和奶茶店被一视同仁,分析价值就大打折扣了。
24大类还隐含了另一个好处:跨地域可比性。无论你在北京还是在一个五线小城,"购物"这个大类的定义是一致的。这对做全国性多城市对比分析极其重要——每个城市都有自己的特点,但统一的分类口径保证了横向对比的公平性。
2.2 39字段的构成逻辑与使用细节
39个字段听起来可能没什么感觉,但对比一下:市面上很多 POI 数据只有名称、地址、经纬度、分类这四个基础字段,能用但用不爽,想做个稍微深入的分析就会被字段不足卡住。
39个字段大概可以划分成几个层次:
基础标识层:POI 唯一 ID、名称、地址、所属省市区县、经纬度(含坐标系类型)。
这一层是最基本的,但注意深藏的一个细节——唯一 ID 是否稳定。如果每次更新数据后同一家店的 ID 都变了,那就没法做历史对比了,之前的存量数据全部作废。根据我接触过的数据产品,IDE 的稳定性其实是衡量数据供应商是否专业的一个重要指标。
分类属性层:大类、中类、小类(如果分类体系有三级的话)、品牌标识、营业状态(营业中/暂停/关闭)。
品牌标识这个字段特别实用。做竞对分析时,想知道某商圈有多少家"瑞幸"或者"蜜雪冰城",直接按品牌字段过滤就行。如果数据源里没有这个字段,你只能通过名称正则匹配去找,一堆"XX奶茶(瑞幸旗下)"或者"XX咖啡"这种擦边名称会把你气得想骂人。
运营特征层:营业时间、人均消费、评分、联系电话、是否有外卖、是否有团购等。
这一层是 POI 数据里最有"含金量"的部分。拿营业时间来说,做"深夜经济"分析时必须用到——一个城市的夜生活繁荣程度,直接看晚上10点以后还在营业的 POI 数量与占比就够了。人均消费和评分对选址模型来说更是核心输入——一个商圈的人均消费层决定了你在这里开一家什么定位的店才能活下去。
空间关系层:所在建筑、所在楼层、周边交通站点距离、所属商圈等。
这一层是"空间计算"的基础素材。比如判断一个 POI 是不是在交通枢纽附近,不需要你再用地理围栏另外算一遍,直接查这个字段就有了。在做"可达性"分析时,这类字段能帮你省掉大量空间连接计算。
需要提醒一点:字段多不是目的,能理解每个字段的业务含义才是关键。很多团队拿到的数据里有 39 个字段,但最后真正高频使用的可能就 10-15 个字段。关键在于,剩下的那些字段在特定场景下会突然变得致命重要——比如做便利店选址时,"是否有外卖"这个字段直接决定你要不要把这个点计入"即时零售竞争池"。这就是字段冗余的价值所在:你不用预判未来所有需求,数据先给你备着,等要用的时候不用回去再找数据供应商补。
2.3 数据字典:别忽略这份文档
拿到一份 POI 数据,第一步永远不是急着写代码跑分析,而是先读数据字典。
所谓数据字典,就是一份说明文档,告诉你每个字段叫什么名字、什么类型、取值范围、是否允许为空、枚举值的含义是什么。没有数据字典的 POI 数据,等于一本没有目录的书——不是不能读,而是效率极低。
实际操作中,我拿到数据会先做几件小事:
先看分类字段的枚举值。确认大类是 01、02、03 这种编码,还是"餐饮""购物"这种中文直写。如果是编码,还需要拿到一份编码对照表,不然分类字段对你来说就是天书。
再检查经纬度的坐标系。如果是 GCJ-02(火星坐标系),拿去做空间计算没问题;但如果是 WGS-84 而你以为它是 GCJ-02,做出来的所有分析点位都会偏移几百米。
最后用随机抽查的方式验证字段真实性。比如随机抽 50 条"人均消费"字段,看看是否与公开信息吻合。这一步不需要做到精确验证,但至少要做合理性判断——如果 50 条里有一半人均消费都写成 0,那这个字段的可靠性就要打问号。
3. 五大应用场景实操:从数据到业务落地
数据本身不产生价值,用起来才产生价值。下面按场景聊聊这批 POI 数据在实战中具体怎么落地。
3.1 选址分析:人、店、商圈的三维重构
选址是所有 POI 应用里最"重"的场景,因为它直接关系到门店的生死。
实操上,选址分析可以拆成三层:
第一层:商圈体检。选定一个目标城市,按区县或网格切开,计算每个区域的 POI 总量、餐饮占比、购物占比、休闲娱乐占比,快速判断这个区域是"熟商圈"还是"生商圈"。生商圈POI密度太低,开了店没人流;熟商圈竞争激烈,进去之后生存压力大。这一步用密度分析和分类占比就能完成。
第二层:竞对扫描。在商圈体检通过的区域,提取同品类 POI,做缓冲区分析。比如你要开一家奶茶店,就把目标区域 500 米半径内所有茶饮类 POI 拉出来,计算密度、品牌分布、平均评分。如果 500 米内已经有 10 家奶茶店,除非你的产品有绝对差异化优势,否则不建议入场。
第三层:客流推演。利用 POI 的营业时间、人均消费、评分等字段,结合人口数据,做"消费力"估算。举个例子:某商圈的餐饮 POI 平均人均消费 80 元,总计 200 家,意味着晚间时段这个商圈的核心餐饮客流池子大约对应 16000 元的消费力。你的新店开业后,能不能从里面切出一块来,取决于产品定位和价格带是否匹配。
这里要特别强调——POI 数据是指标,不是结论。数据告诉你这里人多,但不告诉你这些人是不是你的目标客群。选址最终需要结合实地调研,POI 数据完成的是"筛选"和"排序",把 10 个候选点位排序成 3 个,剩下的人工勘察决断。
3.2 AI 训练:POI 语料与位置关系建模
POI 数据在 AI 领域的应用,很多人第一时间想到的是地理信息模型,但实际玩法远不止这些。
玩法一:地址解析与标准化。用 POI 的历史名称、地址、经纬度作为训练语料,训练一个模型,把"北京市朝阳区某某路 88 号某某大厦 12 层"这种非结构化地址解析成"省=北京,市=北京,区=朝阳区,路=某某路,门牌号=88,建筑=某某大厦",并关联到经纬度。这个能力对电商、物流、本地生活平台来说都是基础设施级别的需求。POI 数据量越大、覆盖面越全,这个模型的解析成功率就越高。
玩法二:用户画像的位置标签化。用户地理位置数据(比如 App 上报的定位点)本身只是一堆经纬度,没有语义含义。通过把经纬度与 POI 数据进行空间匹配,就能给每个定位点打上"餐饮-火锅""购物-商场""居住-住宅区"这类语义标签。之后用户的轨迹就变成了一串标签序列,喂给模型做意图识别、偏好挖掘、常驻地和活动圈识别。做用户画像的朋友应该深有体会——没有 POI 标签的定位点,在特征工程里就是个废字段,有了 POI 标签才有了灵魂。
玩法三:区域功能与城市计算。把城市的 POI 分布作为特征输入,结合路网、人口、夜间灯光等多源数据,训练城市功能区分类模型。比如输入一个区域的所有 POI 向量,用聚类或者分类模型判断是"中央商务区""文教区""居住区"还是"产业园区"。这类模型在城市规划、地产估价、智慧城市建设中都有明确的应用出口。
在使用这批数据做模型之前,有个环节不能跳过——做坐标标准化。AI 模型训练对输入数据的口径一致性要求极高。如果数据里有混用 GCJ-02 和 BD-09 坐标系的点位,训练出来的模型会出现"某些区域的预测准确率奇高,另一些区域则惨不忍睹"的诡异现象。最好在数据入库阶段就统一坐标转换逻辑,消除这个隐患。
3.3 用户画像:用位置语义给人群分层
用户画像和 POI 结合的核心,本质上是"人—位置—场景"的三角映射。
实操层面的步骤是:
给每个用户的常驻地打 POI 标签。用户住的小区 POI 是什么档次的(高档社区/普通住宅/老小区)、附近的配套商圈是什么级次、常去的健身房品牌是什么,这些标签直接反映出用户的消费层级和生活格调。
给每个用户的通勤路径打场景标签。早高峰从居住区到办公区,路径上经过的 POI 类型组合能反推用户的通勤距离、通勤方式(有没有经过地铁站)、支付偏好,甚至能推断用户的加班程度(到家时间与夜间活跃 POI 的关系)。
给用户活动半径打分。把用户一个月的定位数据映射到 POI 之后,算用户的活动熵。活动熵高的用户(去过十几个不同商圈的人)和活动熵低的用户(三点一线的人)在消费决策模式上会有显著的差异。
这套玩法的核心前提就是一个——POI 数据的覆盖面要足够广、分类要足够细。用户去过的任何一个小店、一个偏僻的公园、一个社区活动中心,都应该能在 POI 数据里找到对应的点。如果覆盖不到,位置语义就会变成一堆空洞的经纬度,画像精度立刻拉胯。
我做过一个实操案例:帮某教育类产品做用户画像时,用 POI 数据给用户家庭位置打上"附近 3 公里范围内教育培训类 POI 的数量与品类"标签。结果这个特征在预估"家长是否愿意为孩子报名"的模型里,重要度排进了前五。如果数据里教育培训类 POI 覆盖不全,这个特征根本就算不准——给好几个家庭都算出 0,等于这个特征完全失效。
3.4 经分(经营分析):竞争格局与城市策略
经营分析里有一个经典需求:评估公司在某城市的"网络覆盖合理性"。
比如做便利店行业的,公司在某城市有 200 家门店,想知道这 200 家门店的分布是不是合理、哪些区域还有开店空间、哪些区域已经过度密集。
用 POI 数据可以这样分析:
先算门店周围 500 米内的竞对密度。连续看几个城市的平均竞对密度,对比之后就能发现——同一个品牌在不同城市的竞争格局差异原来是这么大的。有的城市 500 米内竞对数平均只有 3 家,有的城市直接到 8 家以上,这直接指导了城市策略的差异化,竞争缓和的要加速布点,竞争激烈的则必须换打法。
再计算城市 POI 香农多样性指数。这个指数在选址里用的不是特别多,但在经分中价值更大——用来区分城市的商业生态结构。高多样性城市适合综合业态扩张,低多样性城市适合针对特定客群做垂直渗透。
这个操作其实是用 POI 做网格化处理。把城市划成 500m x 500m 的网格,给每个网格计算餐饮、购物、生活服务等大类的 POI 数量和占比,形成一张"城市商业热力网格"。再叠加自己的门店位置,哪些网格已经覆盖、哪些网格还是空白,一目了然。网格化之后再做聚类,把相邻且特征相似的网格合并成"战略板块",每个板块给自己的判断(重点进攻/维持/收缩)。
所以经分层面,POI 数据不只是用来画几张好看的图,而是真的可以变成一张内部决策地图,每一格都要能落到一个清晰的动作。
3.5 城市规划:数据支撑的精细化治理
城市规划可能是 POI 数据最"正统"的应用场景了。
城市公共服务设施的配置,本质上是在"找缺口"——哪些区域的居民出门 15 分钟到不了公园、到不了医院、到不了学校。用 POI 做"设施覆盖率"分析,算的是每个居住区周边 1 公里(或者 15 分钟步行距离)内各类公共服务 POI 的数量。如果某个片区的"社区医疗"POI 覆盖率为零,而周边三公里内有十几万居民,那这就是一个明确的服务设施缺口。
还有一类应用是帮助规划部门做"错位识别"。比如某个区域此前规划定位是"居住区",但实际的 POI 数据却显示大量批发市场、仓储物流把这里占了。规划意图和现实状况根本不在一个频道上,这时候就需要修正下一轮规划的方向。
这种场景通常需求方是政府规划部门或大型规划设计院,项目制居多。对这类用户而言,数据口径的权威性、分类体系的完整性、更新的及时性比任何一个单独指标都重要。
4. 数据质量评估方法论:别急着炫技,先打好基础
拿到的任何一份 POI 数据,在正式投入使用前都应该做一轮质量体检。质量体检和功能分析不一样,功能分析是"它能不能用",质量体检是"它哪里会坑你"。
4.1 数据体检清单
有一套个人习惯的体检动作,按优先级排列如下:
先检查行政区划的完整性。用省、市两级字段做 Group By 统计,看看有没有明显缺失。如果发现某个地级市的 POI 数量仅为相邻城市的十分之一,大概率是采集出了问题,而不是那个城市真的那么荒凉。
再检查分类字段的分布合理性。统计每个大类的占比,如果"餐饮"占 40%、"购物"占 25%,基本符合直觉。但如果"其他"或者"未知"分类占了 20% 以上,说明这批数据的分类覆盖有问题,一大片东西被塞进了"垃圾桶",后续做分类筛选时这部分数据会变成盲区。
然后检查营业状态字段的时效性。POI 数据里"营业中"的点位占比通常在 70%-90% 之间。如果占比超过 95%,好得反常,大概率是"已关闭"的点位没有及时清理——这会导致选址分析时统计到一堆已经死掉的店,把商圈的活力指数吹高。反过来,如果"营业中"占比低于 60%,则可能是数据更新周期太慢,大量新店没有入库,商圈活力会被低估。
再看名称和地址字段的乱码与重复。POI 名称里混入乱码是采集过程中的常见污染。这个检查最大的价值不只是数据质量——而是看供应商的数据管线是否设计了有效的清洗环节。一个连"名称乱码"都没有清洗掉的数据源,后面潜在的字段质量问题只会更多。
最后必须检查坐标系和空间分布。把经纬度全部落到地图上,看点位分布是否符合地理直觉——不应该有大量点位落在湖泊中央、山区无人区或者国界线外面。检验方式很简单,直接拿县区级行政区划做空间关联,挑出落在区域边界外的点位,看占比。
4.2 常见质量缺陷与应对策略
POI 数据最常见的缺陷,一个是点位漂移,另一个是业态过时。
点位漂移的表现是:同一家店在该数据里的经纬度和真实位置有几十到几百米的偏差。一般不影响宏观分析(比如看商圈热力),但做微观选址(比如判断店铺是否在商场一楼沿街位置)时会造成误判。应对策略很简单,核心分析点位级数据时,用高精度地圖引擎做二次纠偏校验,别全信数据。
业态过时,则是指数据里的分类和现实情况对不上——比如一条街因为拆迁,原本的餐饮店全关了,但数据里还标着"营业中-餐饮"。这类问题没有完美的自动解法,只能靠多渠道交叉验证(比如用街景、点评数据、外卖平台数据做三方比对)来逐步清洗。
4.3 需要管理预期:POI 数据没有 100% 完美
做数据这行时间久了,最大的心得其实是管理预期。POI 数据无论来源如何,都不可能做到 100% 准确、100% 实时。行业里一个真实的口径是——当天采集、当天更新的 POI 数据,准确率能做到 90% 左右已经相当优秀;月度更新的数据,准确率的行业基准在 85%-90% 之间。
所以拿到数据时,不必苛求"完美",要苛求的是"对业务目标不产生误导"。选址分析的目标是把范围从 100 个点位缩小到 10 个,这个场景下 90% 准确率完全够用。但如果你用 POI 数据去做"精确到每一家门店是否营业"的运营类应用,那就要做好后续人工复核和持续更新的准备。
5. 实战经验分享:POI 数据的清洗与预处理全流程
任何POI数据拿回来后,不是直接丢进数据库就能用。真实操作里我有一套标准化的预处理流程,这里完整分享出来。
5.1 标准化清洗流程七步走
第一步:统一数据格式。无论源头是 CSV、Excel 还是 JSON,全部转换成统一格式,比如 Parquet(列存,查询效率高)。字段类型也统一,比如经纬度全是浮点数,版本号全是整数。
第二步:去重。按"名称+地址+经纬度"三个字段做联合去重。注意不能只按名称去重——现实中一个城市可能有几十家"一点点",但它们是完全不同的门店。也不能只按经纬度去重——同一个商场里不同楼层的店铺经纬度可能只差零点零零几度,但却是完全不同的 POI。联合去重是相对安全的方案。
第三步:坐标统一与偏移校验。如果数据源混有 GCJ-02 和 BD-09,要写一个坐标系转换统一到 GCJ-02(国内业务默认坐标系),然后与已知的行政区划边界做比对,剔除越界记录。
第四步:字段清洗。名称字段去掉前后空格、特殊符号;电话字段统一格式;营业时间字段解析成结构化数据(几点开门、几点关门、是否 24 小时)。
第五步:地址标准化。用解析模型或者规则引擎,把"省市区+街道+门牌+建筑名"的地址拆开,落到不同字段。这一步对后续做行政区域下钻分析时很重要——不能只靠一个整串地址,否则按区县聚合时只能靠经纬度反地理编码。
第六步:分类映射。如果数据的分类体系和实际分析需求的分类体系不够匹配,做一层映射。比如源数据里"茶饮果汁"是独立小类,但我做商圈分析时需要归入"餐饮-饮品甜点",就需要构建映射字典。
第七步:质量打分。给每一条 POI 打个质量分,综合判断它的字段完整度(哪些字段是空值、哪些字段格式异常)、可信度(评分、营业状态是否与周边环境一致)。打分规则建议用规则加权的方式,根据具体场景调整权重。数据后续使用时,可以直接按质量分的阈值过滤——不建议拿全量跑模型,把低质量噪声直接撒进算法里。
5.2 一个实际项目的清洗记录
我之前处理过一份数量接近 6000 万的 POI 数据,原始状态下大约有 3% 的记录存在明显问题,跑完上述流程后,剩下来可用的记录还有 5800 万左右。
这 3% 里包含了大概一百多万条名称乱码,几十万条重复记录,还有几十万条明显越界点位。如果这批脏数据不处理直接进模型,前脚你还在建商圈模型,后脚模型就会把一片乱码点识别成一个"繁荣商圈"——可就闹笑话了。
清洗环节不是最炫酷的,却是整个分析链路里性价比最高的部分。清洗花的时间,往往能在后续模型训练里十倍的省回来。许多团队不愿意在这个环节投入时间,最后模型效果不好,丈二和尚摸不着头脑,其实问题可能就出在入库阶段没把好关。
5.3 增量更新怎么做
POI 数据不是一锤子买卖。拿到初始全量数据之后,业务系统需要持续更新。
建议设计一个增量更新管道:每月/每季度从数据源获取最新全量,与库内数据做比对。同一 POI ID 对比字段变化,生成"新增、关闭、属性变更"三类增量记录。然后分别处理后合并入库。
增量更新有两个坑要避开:
一个坑是过度依赖"新增"记录。实际上,"关闭"记录(POI 从营业中变为已关闭)才更值钱——它能反映商圈的衰退趋势。做选址分析时,如果一个商圈的边际新增率一直在减少,但关闭率不断上升,那是明确的"衰退信号",应该避开这个区域。
另一个坑是大量属性变更导致的"版本管理混乱"。同一个 POI,上月人均消费"50 元",这月变"80 元",说明商圈消费力升级了。如果数据覆盖时直接覆盖旧值,你就丢失了这段趋势信息。更好的做法是保留历史快照(至少保留一个上一个版本),这样能分析属性变化趋势,在做用户画像和经分时会有不少可挖掘的信号。
6. 常见问题与排查技巧实录
实际操作了多个 POI 项目,把最常见的问题和排查思路整理成速查表,照着排查能省不少事。
| 问题现象 | 可能原因 | 排查方法 | 解决方案 |
|---|---|---|---|
| 某城市 POI 数量异常偏少 | 采集遗漏或行政区划字段错误 | Group By 省市区查看数量分布,抽查坐标是否落在城市范围内 | 用周边城市数据插补,或反馈数据供应商补采 |
| 大量 POI 落在水域/无人区 | 坐标偏移、坐标系混用 | 叠加地图底图或水域矢量数据做空间 Join | 剔除越界点,重投影坐标系 |
| 分类字段"其他"占比过高 | 数据源分类体系不完整或映射逻辑缺失 | 统计分类分布,抽看"其他"类下的具体名称 | 建立规则库,根据名称关键词二次归类 |
| 同一家店出现多条记录 | 数据源重复采集 | 按名称+地址+坐标联合排序查找近邻重复 | 用空间聚类算法合并重复点 |
| 营业状态与实际情况不符 | 更新周期长导致信息滞后 | 抽样实地/外卖平台核验 | 接入更多实时反馈源,缩短更新周期 |
| 经纬度字段为空 | 采集时信号缺失 | 统计空值比例,抽查缺失分布 | 用地址反向地理编码补充 |
| 连续两期数据"新增"为零 | 更新管道异常,并非真实无新增 | 检查管道日志、数据源接口状态 | 快速修复后全量校验比对 |
6.1 一些独门排查心得
除了上面这张表,还有几条真实经验值得展开说一说。
第一,做空间 Join 检验时要有"地理常识"。我曾处理过一批落在沙漠正中央的"购物中心",数据本身没问题,是坐标系搞错了,用错了投影参数导致点位整体偏移了几千公里。拿到数据先抽几十个点位自己眼见为实——肉眼在地图上扫一遍再做,是最快的异常发现手段。
第二,去重要小心"同名不同店"。商场里不同楼层的两家"必胜客"确实是同一品牌,但确实是两个独立 POI(一家在 3 楼,一家在 B1)。如果简单按名称去重,会把真实存在的店铺给删掉。需要配合楼层、商铺编号这类字段来综合判断。
第三,版本之间的 diff 要带着"业务视角"去做。单纯比对字段差异意义不大,要问"这个字段变化对业务意味着什么"。比如"营业时间从 10:00-21:00 变成 10:00-23:00",对用户画像分析来说意味着这个点位的"夜生活标签权重"要上调。这种字段级的变化如果被忽略,数据驱动决策的价值就大打折扣。
6.2 常见的错误:一上来就炫模型
最后提一个技术之外的坑。很多团队拿到 POI 数据,第一反应是上一个高级模型——比如图神经网络、区位选择模型、空间插值算法,指望模型能自动解决一切问题。
但在 POI 数据上一开始就上复杂模型,是大概率失败的路径。模型表现不行,往往问题不在模型,而在底数——"特征太粗糙、数据太脏、坐标系偏差"这些基础问题没解决。
更务实的路径是:先在经典统计和规则层面把数据吃透(描述性统计、分布分析、相关性分析),在理解数据特征之后,再上复杂模型。让模型做锦上添花的事,而不是让它从头收拾烂摊子。
7. 这份数据适合谁用、怎么用最划算
聊了这么多,最后给不同需求的朋友一个直给的参考建议:到底要不要用这份数据,以及怎么用最划算。
如果你做的是全国性的连锁选址:直接用,但别指望 POI 数据给你"答案"。用它把全国几百个城市做初筛,筛出几十个高潜城市,再用它在这几十个城市里圈出几百个候选点位,最后用人工完成实地考察。POI 数据帮您把成本最高的部分——"大海捞针式实地勘探"——转变成"有优先级的候选列表",这就是它最大的价值。
如果你是做用户画像/经分的:重点关注 39 个字段里的运营特征层(营业时间、人均消费、评分、品牌),这些字段是构建用户消费档位、生活节奏、品牌偏好标签的直接素材。数据入库后,先做一轮"定位点→POI标签"的空间映射,这会是后续所有特征工程的基座。
如果你是做 AI 算法或大模型应用的:重点关注数据的分类体系完整性、字段文档的规范度、以及增量更新的稳定性。对模型来说,数据的规范性和稳定性比数据量更重要。一旦模型训练集里混入大量脏数据,模型学到的就不是规律而是噪声,上线之后问题会非常难查。
如果你是做城市规划或公共服务研究的:重点关注设施覆盖率分析、片区功能识别和空间错位诊断这几类应用,按上述方法把数据做成"底图",每一步决策都有了数据支撑。
坦率地说,拿到任何一份 POI 数据,最先要做的都是看清它擅长什么、短板在哪里,然后把它放到合适的业务位置上。定位准确了,这份数据就是一份生产力;定位错了,再好的数据也只会让你得出错误的结论。这是我做了这么多年位置数据应用,最深的一条体会。