反馈已提交

网络繁忙

三维城市geojson文件说明

  • 文档创建者:Alicehyy
  • 历史版本:5
  • 最近更新:Alicehyy 于 2023-08-15
  • 用户使用 FVS三维城市组件 构建三维城市场景时,需要上传正确的 geojson 文件,本文即主要介绍 geojson 文件应包含的一些属性及其定义。

    geojson简介

    geojson 是一种对各种地理数据结构进行编码的格式,基于Javascript对象表示法(JavaScript Object Notation, 简称JSON,FineReport内置的中国-area.json也是其中一种)的地理空间信息数据交换格式。
    geojson 对象可以表示几何、特征或者特征集合。

    geojson 支持点、线、面、多点、多线、多面等集合类型。

    geojson属性检测规则

    FVS 插件 V1.16.1 及之后的版本,新增对 geojson 数据文件的检测机制,减少不必要的错误解析消耗;同时也能让正确部分的数据可以根据用户的选择是否继续生成,使得流程可以继续部分执行下去,减少阻塞点。

    基本规则如下:

    规则说明
    规则1:Json 格式判断

    判断是否为可编译 Json 文件。若是,则继续执行数据结构校验;若不是,则提示「geojson文件无法编译」,需重新选择文件上传

    规则2:地物类型属性完整性检测每个 feature 中是否存在 building,road,grass ,water,calder:bbox 等关键地物类型判断属性字段
    规则3:feature 的 geometry 属性的合规性一个 feature 中的 building,road,grass ,water,calder:bbox 等类型,需要与其 geometry 属性一 一对应,例如 building 的 geometry 为 Polygon,而不能是 line
    规则4:feature 的坐标数据结构的合规性

    检测每一个 feature 的坐标数据结构是否符合规范,例如坐标值需要为数组类型的 coordinates

    规则5:多边形类型的首尾坐标一致性building,road,grass ,water,calder 的类型为多边形类型,需要检测其首尾坐标值是否一致,从而才能判断其生成的三维模型是否闭合

    注:若数据检测均不合规,则无法生成场景,需重新上传文件;若数据检测部分不合规,则可选择是否使用合规数据继续生成场景。

    geojson属性标准及说明

     FVS三维城市组件 可自动识别的 geojson 属性包括:

    注:下表中 geometry 表示几何属性,Polygon 和 MultiPolygon 表示二维曲面,LineString 和 MultiLineString 表示一维曲线。

    类型
    属性

    feature 特征

    说明

    命名建筑

    (主要建筑)

    name: string,

    building: true,

    height: number 

    • 建筑 key:

    building/house/department

    • ['geometry'] 中"type"的value:

    Polygon/MultiPolygon

    既有 building 属性又有 name 属性,则在三维城市中会出现该建筑的 3D 模型,且建筑外立面颜色闪耀,代表建筑灯光

    e465cefe97e5c216c63124109e851631.jpg

    未命名建筑

    (其他建筑)

    building: true,

    height: number

    • 建筑 key:

    building/house/department

    • ['geometry'] 中"type"的value:

    Polygon/MultiPolygon

    没有 building 属性,则在三维城市中不会出现该建筑的 3D 模型

    只有 building 属性没有 name 属性,则在三维城市中,该建筑的名称不能被识别到,被纳入其他建筑中,色彩也相较于有名称的建筑更加暗淡

    Snag_4a07e78f.png

    命名道路

    (主要道路)

    name: string,

    road: true

    • 道路 key:

    road/highway/lane/street

    • ['geometry'] 中"type"的value:

    LineString/MultiLineString


    既有 road 属性又有 name 属性,则在三维城市中显示该道路,且道路自带流光效果,表示人流车流

    53115281b61f9b5d66197ee3c1f5368a.jpg

    未命名道路

    (其他道路)

    road: true
    • 道路 key:

    road/highway/lane/street

    • ['geometry'] 中"type"的value:

    LineString/MultiLineString

    没有 road 属性,则在三维城市中不会显示该道路

    只有 road 属性没有 name 属性,则在三维城市中,该街道的名称不能被识别到,被归入其它街道,街道色泽也更暗淡些

    31a3cb9b1485e74a2868ae3cb0d085f9.jpg

    草地grass: true
    • 草地 key:

    grass/green/vegetation/park/leisure

    • ['geometry'] 中"type"的value:

    Polygon/MultiPolygon

    e2d71cdb625747762d2707948e284625.jpg
    水系water: true
    • 水系 key:

    water/river/lake/natural

    • ['geometry'] 中"type"的value:

    Polygon/MultiPolygon

    7160c6009c18ffafe14d28d88cdbe413.jpg
    bbox:caldernull

    ['geometry'] 中"type"的value:

    Polygon/MultiPolygon/LineString/MultiLineString

    特殊属性:

    一些效果依赖于建筑范围,有时,我们希望手动修改这个范围。

    也可以用此方法建立空场景,配合自定义模型使用。

    添加一个 Polygon 并作为第一个 feature,添加特殊属性:

    "calder:bbox": true

    此时场景范围(bbox)以此 Polygon 为准

    示例:

    {
      "type": "FeatureCollection",
      "features": [
        {
          "type": "Feature",
          "properties": {
            "calder:bbox": true
          },
          "geometry": {
            "type": "Polygon",
            "coordinates": [
              [[109,34],
              [109.1,34],
              [109.1,34.1],
              [109,34.1],
              [109,34]
              ]
            ]
          }
        }
      ]
    }


    geojson 数据标准样式如下图所示:

    6dc11a0a0e7ce42631465ab3569014ad.png

    点击下载示例文件:简单geojson示例.zip

    附件列表


    主题: FineVis数据可视化
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持