第一部分

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

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

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

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

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

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

  1. 南京新街口有很多品牌服装店
  2. 夫子庙和秦淮河是两个主要的旅游景点
  3. 上述两个区域附近有较多的餐饮饭馆
  4. 南京航空航天大学在此区域

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

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

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

第二部分

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

  1. 想办法得到全国的POI数据
  2. 输入一个地理边界,用Python库h3将该边界内的区域填充为无数个紧邻的六边形
  3. 计算每个六边形内各种POI的种类对应的数量
  4. 把每个六边形看成一篇内容是POI类型的文章,用tf-idf方法获得每个六边形的主题
  5. 只显示主题相同且相邻个数 >= 3的六边形
  6. 将所有六边形和主题用folium库在地图上绘制出来

第三部分

  • 如果有小伙伴对其它城市区域感兴趣,请在本周(03月21日前)留言 "省-城市-行政区" 的形式,我会尽量生成对应的html文件并统一放在 百度网盘:  提取码: sbq4
  • 显示html文件的内容需要ke学上网(因为用的奇怪的绘图库folium。。。)
  • 因为生成标注图耗时较长,比如生成海淀区的标注图大概要10分钟,所以留言时请尽量精确到区,如果时间足够留言多个区我也会尽量处理
  • POI数据比较难获得,所以不打算公开,请见谅
  • 标注六边形类型的蓝字可以点击,点击会出来对应的高德坐标,可在 高德地图坐标拾取中输入坐标进一步查询
  • 部分行政区无法生成标注图,因为其对应的行政区边界很不规则

一种借助POI粗略的标注城市也许重要的区域的方法的更多相关文章

  1. 10、借助POI实现Java生成并打印excel报表(1)

    10.1.了解 Apache POI 实际开发中,用到最多的是把数据库中数据导出生成报表,尤其是在生产管理或者财务系统中用的非常普遍.生成报表格式一般是EXCEL或者PDF .利用Apache  PO ...

  2. 【九天教您南方cass 9.1】 07 绘制与标注圆曲线和细部点的方法

    同学们大家好,欢迎收看由老王测量上班记出品的cass9.1视频课程 我是本节课主讲老师九天. 我们讲课的教程附件也是共享的,请注意索取测量空间中. [点击索取cass教程]5元立得 (给客服说暗号:“ ...

  3. QT点击"X"按钮,调用closeEvent()函数来实现调用特定事件(附:粗略介绍QT的信号与槽的使用方法)

    背景: QT在用户关闭窗口(直接点击"X"键)时,程序一般都需要做一些善后的事情,就我现在的程序来说,既关闭USB.如何实现? 正文: 首先,在对应窗体的".h" ...

  4. 微信小程序城市定位(借助百度地图API判断城市)

    概述 微信小程序提供一些API(地址)用于获取当前用户的地理位置等信息,但无论是wx.getLocation,还是wx.chooseLocation均没有单独的字段表示国家与城市信息,仅有经纬度信息. ...

  5. 11、借助POI实现Java生成并打印excel报表(2)

    11.POI打印功能 11.1.常用模块形式: HSSFPrintSetup printSetup = sheet.getPrintSetup(); printSetup.setVResolution ...

  6. Java 借助poi操作PDF工具类

    ​ 一直以来说写一个关于Java操作PDF的工具类,也没有时间去写,今天抽空写一个简单的工具类,拥有PDF中 换行,字体大小,字体设置,字体颜色,首行缩进,居中,居左,居右,增加新一页等功能,如果需要 ...

  7. 【POI】对于POI无法处理超大xls等文件,官方解决方法【已解决】【多线程提升速率待定】

    本次使用POI处理xlsx文件,莫名的遇到了一个无法逾越的问题. 总共71个xlsx文件,单个文件最大达到50M以上,71个xls文件摆在那里就有3-4G的大小. 在起始处理的时候,发现原本适用于正常 ...

  8. 在Sharepoint2010中一种自定义调查列表的不允许再次答复提示的处理方法!

    在Sharepoint中默认创建的调查列表系统只允许答复一次,再次答复将报错误信息,这对最终用户而言是非常不友好的体验,当然你也可以在调查设置中的常规设置中设置允许多次答复,这样就会有错误提示信息,但 ...

  9. [原创]一种基于Python爬虫和Lucene检索的垂直搜索引擎的实现方法介绍

    声明:本文首发在博客园晨星落羽,Shulin_Cao和lvmememe首页,转载请注明出处. 前言 2016.5到2017.5,我们三人(lvmememe,Shulin_Cao,晨星落羽)共同完成了一 ...

随机推荐

  1. HDU 4336 Card Collector(状压 + 概率DP 期望)题解

    题意:每包干脆面可能开出卡或者什么都没有,一共n种卡,每种卡每包爆率pi,问收齐n种卡的期望 思路:期望求解公式为:$E(x) = \sum_{i=1}^{k}pi * xi + (1 - \sum_ ...

  2. i18n 和 L10n (internationalization and localization) 国际化与本地化(具有全球战略眼光的公司企业的必由之路)

    i18n 和 L10n (internationalization and localization)  国际化与本地化(具有全球战略眼光的公司企业的必由之路) 1 1 https://zh.wiki ...

  3. PyCharm 中文 字符 python 报错 的 完美 解决方案!

    PyCharm 中文 字符 python 报错 的 完美 解决方案! #_*_ coding:utf-8_*_ https://www.python.org/dev/peps/pep-0263/ 到p ...

  4. CSS3 Grid Layout & <track-size> & <line-name>

    CSS3 Grid Layout & <track-size> & <line-name> grid container grid-template: < ...

  5. chrome devtools dark mode

    chrome devtools dark mode default dark mode https://medium.com/@eshwaren/dark-theme-for-chrome-devel ...

  6. @bind decorator

    @bind decorator https://www.npmjs.com/package/bind-decorator https://github.com/NoHomey/bind-decorat ...

  7. 超详细Openstack核心组件——nova部署

    目录 OpenStack-nova组件部署 nova组件部署位置 计算节点Nova服务配置(CT配置) 计算节点配置Nova服务-c1节点配置 计算节点-c2(与c1相同)(除了IP地址) contr ...

  8. Python数据结构与算法_反转字符串(08)

    编写一个函数,其作用是将输入的字符串反转过来.输入字符串以字符数组 char[] 的形式给出. 不要给另外的数组分配额外的空间,你必须原地修改输入数组.使用 O(1) 的额外空间解决这一问题. 你可以 ...

  9. 简单比较 @EnableEurekaClient 和 @EnableDiscoveryClient 两个注解

    @EnableEurekaClient 和 @EnableDiscoveryClient 都是让eureka发现该服务并注册到eureka的注解 相同点: 它们都能让注册中心Eureka发现 , 并将 ...

  10. ============================================ 微信小程序开发学习

    开发文档: https://developers.weixin.qq.com/miniprogram/dev/framework/