一种借助POI粗略的标注城市也许重要的区域的方法

很久以前,我住在村子里,因为村子小,所以对村子的一草一木都很熟悉,在熟悉的环境里就很有安全感。

后来我到了大城市,却发现城市太大了,一辈子都熟悉不完。

这个城市的绝大部分地方我都没有去过,就算去了我也不知道这些高楼和院墙里到底是干嘛的,这让我很没安全感。

后来,总而言之,我做了一个简单的程序,输入一个地图边界,就能把一些也许重要的区域在地图上标注出来,像下面这样(图片点击放大):

一种借助POI粗略的标注城市也许重要的区域的方法

上面这个图标注的是南京市秦淮区,其中红字部分是我手动加上去的,其它部分是程序生成的。

虽然比较简陋,但上图还是提供了一些值得关注的信息:

南京新街口有很多品牌服装店

夫子庙和秦淮河是两个主要的旅游景点

上述两个区域附近有较多的餐饮饭馆

南京航空航天大学在此区域

然后我又输入了北京市-海淀区的边界,这个区的面积更大,然后得到了如下标注图(图片点击放大)

一种借助POI粗略的标注城市也许重要的区域的方法

稍微观察后发现,海淀区标注为高等院校的浅黄色区域比较多,然后我放大了高校较密集的区域,用了一些时间把高校的名字用红色字体手动加上(图片点击放大):

一种借助POI粗略的标注城市也许重要的区域的方法

以上,就是这个程序的全部功能:输入一个地理边界,得到一个标注图。

第二部分

然后就是这个简单的效果是怎么实现的~

想办法得到全国的POI数据

输入一个地理边界,用Python库h3将该边界内的区域填充为无数个紧邻的六边形

计算每个六边形内各种POI的种类对应的数量

把每个六边形看成一篇内容是POI类型的文章,用tf-idf方法获得每个六边形的主题

只显示主题相同且相邻个数 >= 3的六边形

将所有六边形和主题用folium库在地图上绘制出来

第三部分

如果有小伙伴对其它城市区域感兴趣,请在本周(03月21日前)留言 "省-城市-行政区" 的形式,我会尽量生成对应的html文件并统一放在 百度网盘:  提取码: sbq4

显示html文件的内容需要ke学上网(因为用的奇怪的绘图库folium。。。)

因为生成标注图耗时较长,比如生成海淀区的标注图大概要10分钟,所以留言时请尽量精确到区,如果时间足够留言多个区我也会尽量处理

POI数据比较难获得,所以不打算公开,请见谅

标注六边形类型的蓝字可以点击,点击会出来对应的高德坐标,可在 高德地图坐标拾取 中输入坐标进一步查询

部分行政区无法生成标注图,因为其对应的行政区边界很不规则

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwpxjw.html