zoukankan      html  css  js  c++  java
  • Cesium项目实战(2)-城市行政区划信息展示以及专题信息展示

     
     

    从这篇文章开始,我们正式进入了Cesium项目实战,在接下来的系列文章中,我们以“北京市”作为我们的研究区域,探讨在城市综合运营管理中的一些常见场景,结合具体的业务场景进行三维可视化。

    在本篇“城市行政区划信息展示以及专题信息展示”中我们主要包括如下几个可视化内容。

    1. 展示城市行政区划信息
    2. 专题信息展示

    1. 展示城市行政区划信息

    Cesium支持好几种矢量格式的数据加载,比如geojson、kml、czml等,但是不支持shp,但是,我们拿到的城市行政区划数据往往都是shp格式的,对此,我们首先需要做的就是数据格式转换,在这里,我们将shp转换为geojson格式的。

    • 方法(注意shp文件的坐标系需要WGS84的经纬度投影)
    1. 在线转换(个人推荐)
      https://mapshaper.org/
    2. 工具软件转换
      QGIS 等专业GIS软件
    3. 编码实现
      使用 geotools 等开发库

    接下来,我们重点说说如何在Cesium中使用geojson格式的数据来做三维可视化。在Cesium中,使用GeoJsonDataSource接口来作为geojson格式数据的加载。我们看看API文档中的定义。


    在API实例中,我们可以看到主要是通过GeoJsonDataSource接口的静态load方法来加载,接受一个文件地址参数,以及一些自定义的样式显示参数即可。我们按照API文档中的示例来试一下。

    1、默认参数(最精简)

    可以看出,默认参数情况下,有一个填充色和边界线。

    2、自定义参数(更改边线颜色、边线的粗细程度以及填充色)

    2. 专题信息展示

    1、注记标签

    仅仅显示行政区划未免太单调了,同时不太好进行分辨。我们首先添加一层标签,告诉使用者,每一块区划的地名。

    2、分色渲染

    根据不同的地块分色渲染,更便于区分

    3、标签+分色渲染

    4、专题分类

    在数据准备的过程中,我们构造了persons这个人口字段专题信息,那么,我们就可以对专题字段进行专题分类。这是我们构造的数据接口信息。


    比如:我们要按照人口数量的大小,进行颜色渐变的专题显示。

    我们还可以通过拉升多边形的方式,使用高度来可视化专题信息。


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

    总结

    关于城市中用面状来表达的数据,均可以通过shp转geojson的方式,然后通过GeoJsonDataSource接口来加载,剩下来的就是按照数据以平面或者立体的方式,分色,渐变,均色来表达专题信息。

  • 相关阅读:
    P4396 [AHOI2013]作业 分块+莫队
    B1965 [Ahoi2005]SHUFFLE 洗牌 数论
    B1970 [Ahoi2005]Code 矿藏编码 暴力模拟
    B1968 [Ahoi2005]COMMON 约数研究 数论
    B1237 [SCOI2008]配对 贪心 + dp
    B1108 [POI2007]天然气管道Gaz 贪心
    B1734 [Usaco2005 feb]Aggressive cows 愤怒的牛 二分答案
    B1012 [JSOI2008]最大数maxnumber 分块||RMQ
    HAOI2007 反素数
    NOIP2009 Hankson的趣味题
  • 原文地址:https://www.cnblogs.com/telwanggs/p/13055193.html
Copyright © 2011-2022 走看看