第一部分

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

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

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

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

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

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

  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. Linux错误记录贴

    add-apt-repository 不要写成 add-apt-repository service  不要写成 sevice 总之在打命令的时候要注意不要拼错单词 对于ls命令权限不够我们可以先su ...

  2. 010. NET5_命令参数读取+配置多种读取

    上节课遗留问题:上节脚本启动后,CSS样式丢失问题 解决办法:a.拷贝丢失的wwwroot目录:b. 给UesStaticFiles类指定读取wwwroot目录 静态文件读取 Nuget引入:Micr ...

  3. STAR 法则

    STAR 法则 STAR: Situation, Task, Action, Result 一. 什么是 STAR 法则? STAR法则是情境(situation).任务(task).行动(actio ...

  4. Web 前端必备的各种跨域方式汇总

    Web 前端必备的各种跨域方式汇总 跨域方式汇总 同源策略 协议相同 + 域名相同 + 端口相同 https://www.xgqfrms.xyz/index.html https://www.xgqf ...

  5. JavaScript & Automatic Semicolon Insertion

    JavaScript & Automatic Semicolon Insertion ECMA 262 真香警告️ https://www.ecma-international.org/ecm ...

  6. Chrome V8 系统架构

    Chrome V8 系统架构 Chromium 多进程多线程架构 design-documents https://www.chromium.org/developers/design-documen ...

  7. flutter web in action

    flutter web in action flutter for web https://flutter.dev/web https://flutter.dev/docs/get-started/w ...

  8. windows driver 简单的驱动和通信

    sysmain.c #pragma once #pragma warning(disable: 4100) #include <ntifs.h> #include <ntddk.h& ...

  9. 人物传记:Mila Fletcher:如何勤于思考抓住关键?

    Mila Fletcher于2007年毕业于耶鲁大学,她是一名真正意义上的法学博士,在校期间获得了马歇尔奖学金,毕业后曾在美国多家知名律师事务所任职,目前就职于星盟全球投资公司,专注于帮助公司和客户提 ...

  10. Linux安装MySQL_全网最详细

    Linux安装MySQL 编辑于2021-02-19 本文中MySQL安装目录为/usr/local/mysql 上传MySQL安装包至/usr/local目录,执行命令解压 [root@JetXi ...