第一部分

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

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

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

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

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

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

  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. Leetcode(215)-数组中的第K个最大元素

    在未排序的数组中找到第 k 个最大的元素.请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素. 示例 1: 输入: [3,2,1,5,6,4] 和 k = 2 输出: 5 ...

  2. Python源码剖析——01内建对象

    <Python源码剖析>笔记 第一章:对象初识 对象是Python中的核心概念,面向对象中的"类"和"对象"在Python中的概念都为对象,具体分为 ...

  3. five86-1 (OpenNetadmin RCE+cp命令提权+crunch生成密码字典)

    Vulnhub-Five86-1 实验环境 kali攻击机ip:192.168.56.116 Five86-1靶机ip:192.168.56.121 知识点及工具 nmap扫描 john爆破 Open ...

  4. JWT All In One

    JWT All In One OAuth 2.0 JWT JSON Web Tokens https://jwt.io refs https://www.cnblogs.com/xgqfrms/tag ...

  5. how to input special keyboard symbol in macOS(⌘⇧⌃⌥)

    how to input special keyboard symbol in macOS(⌘⇧⌃⌥) emoji ctrl + command + space / ⌘⇧⌃ ⌘⇧⌃ Character ...

  6. server sent events

    server sent events server push https://html5doctor.com/server-sent-events/ https://developer.mozilla ...

  7. Taro 版本

    Taro 版本 https://taro-docs.jd.com/taro/versions.html 1.x 1.3.34 https://taro-docs.jd.com/taro/docs/1. ...

  8. svg & regex

    svg & regex https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reg ...

  9. SVG & gradient & color

    SVG & gradient & color https://developer.mozilla.org/zh-CN/docs/Web/SVG/Tutorial/Gradients & ...

  10. PAA房产,一家有温度的房产公司

    PAUL ADAMS ARCHITECT房产(以下简称PAA,公司编号:07635831)对每一个客户从心出,为他们选择优质房源,为他们缔造家的温暖.PAA房产,是一家有温度的房产公司. PAA房产( ...