• Cesium项目实战(5)-城市各类POI数据制作、加工、展示


    百度百科关于POI是这样解释的。POI是"Point of Interest"的缩写,中文可以翻译为"兴趣点"。在地理信息系统中,一个POI可以是一栋房子、一个商铺、一个邮筒、一个公交站等。每个POI包含四方面信息,名称、类别、坐标、分类,全面的POI讯息是丰富导航地图的必备资讯,及时的POI兴趣点能提醒用户路况的分支及周边建筑的详尽信息,也能方便导航中查到你所需要的各个地方,选择最为便捷和通畅的道路来进行路径规划,因此,无论是车载导航还是手机导航,导航地图POI多少状况直接影响到导航的好用程度,导航地图中POI信息点的多少以及信息的准确程度和信息更新速度,都严重影响到一款导航的使用情况。

    我们可以理解为POI在任何一个GIS系统中,都占据了非常重要的地位。因此,如何收集POI信息,以及如何在三维场景中显示这些POI信息也是非常重要的。很幸运的是,我们获取到了一份北京市较全的POI数据,大概15万条记录,本篇文章就这个数据着重介绍一下,如何加载POI信息。


    笔者获取到的数据为SHP格式,classify为分类属性,本文中,提炼了4s店、餐饮、地铁站、汽车站、超市5个种类,作为示例。

    在本篇“城市各类POI数据制作、加工、展示”中我们主要包括如下几个可视化内容。

    1. 普通直接加载
    2. 默认启用汇聚加载
    3. 自定义汇聚加载

    1. 普通直接加载

    普通直接加载,主要是针对于POI数量比较少的情况下。笔者把shp文件转换成了geojson格式,方便使用,同时,可便于模拟真实情况下的,后台API返回的数据格式。





    如果觉得上面的效果已经满足了要求的话,下面的内容可以忽略了。


    2. 默认启用汇聚加载

    汇聚处理一般是针对数据量比较大的情况,如果你的POI信息点过多,可能直接按照上面的方式浏览器就直接崩溃了。



    3. 自定义汇聚加载

    汇聚默认的是采用pinBuilder构造图标的方式,如果觉得默认的不美观,我们可以自定义显示效果。


    详细代码请参考 Cesium项目实战小专栏

    最后

    1、为什么要用geojson格式的数据,还有为什么要用GeoJsonDataSource来加载数据?
    答:因为json数据格式需要自己解析,自己构造,自己加载entity、billboard等等,同时Entity对象本身不支持汇聚。而geojson默认支持GeoJsonDataSource解析,同时还可以支持汇聚。

    2、为什么会有一个构造数据对象的过程?
    答:为了更好的进行代码复用,同时也是为了控制图层显示与隐藏功能。

  • 相关阅读:
    Emacs使用gnus收发邮件时nnfolder相关介绍
    emacs 播放mp3
    你真的会写二分查找吗?
    数独的经典case
    MySQL处理千万级数据查询、分页
    Mysql Replication 机制
    redis位图(bitmap)常用命令的解析
    由浅入深了解线程池之源码初探
    BlockingQueue家族成员一览
    由浅入深了解线程池之初识线程池
  • 原文地址:https://www.cnblogs.com/telwanggs/p/13055263.html
Copyright © 2020-2023  润新知