用于3D多块可视化的开源JavaScript库

生成3D GIS平台,集成和可视化AEC(建筑,工程,建筑)区域和传统的3D空间信息(3D GIS)。将AEC和3D GIS集成到Web浏览器中,室内,室外,无法区分。您可以浏览和协作进行大规模BIM(建筑信息模型),JT(Jupiter Tessellation)和3D GIS文件,而无需在Web浏览器上安装任何程序。

特性

  • AEC和3D GIS的集成
  • 室内和室外空间的无缝连接
  • 在Web浏览器上运行,不需要单独的插件或ActiveX安装
  • 它基于开源(Cesium,W​​eb World Wind)开发,具有出色的开放性和可扩展性
  • 高效管理和超高速渲染高容量3-D文件

支持的格式格式

  • IFC(工业基础课程)
  • JT(木星镶嵌)
  • OBJ
  • 3DS
  • COLLADA

入门

1.发展环境

2.来源下载

  • 使用git通过git clone https://github.com/Gaia3D/mago3djs.git将源安装到C:\ git \ repository \ mago3djs 。
  • 运行eclipse并导入mago3djs Project Import File -> import -> General -> Projects from Folder or Archive
  • 如果您不使用git,请单击“下载ZIP”链接进行安装。

3.节点安装

  • 节点安装窗口安装(.msi)64位。
  • 安装完成后,转到C:\ git \ repository \ mago3djs目录。
  • 使用节点包管理器为mago3DJS安装node_modules。
    C:\git\repository\mago3djs> npm install
  • gulp在Terminal中全局安装以使用模块的模型。
    C:\git\repository\mago3djs> npm install -g gulp

4. F4D转换器安装

  • 安装程序:F4D转换器64位(此安装需要Windows 7或更高版本)
  • 安装路径:C:\ F4DConverter \

5.数据转换

  • 创建一个目录来存储已更改的f4d(outputFolder) 
    C:\f4d\projectname (Create a directory for each project under the data folder, the root folder)
  • 保存要转换为C:\ demo_data(inputFolder)的数据
  • 以管理员身份运行命令行提示符(cmd.exe)并移至安装F4D Converter的目录
  • 运行 
    ※有关F4D Conveter参数F4D Conveter的描述
    C:\F4DConverter>F4DConverter.exe #inputFolder C:\demo_f4d #outputFolder C:\f4d\projectname #log C:\demo_f4d/logTest.txt #indexing y
  • 创建符号链接以将转换后的F4D文件用作mago3D JS项目中的Web服务
    • 使用管理权限运行命令行提示符(cmd.exe)并转到mago3D JS项目
      C:\mago3djs
    C:\mago3djs>mklink /d "C:\git\repository\mago3djs\f4d" "C:\f4d"
    (delete is rmdir data)

6.编辑配置文件

添加两个配置文件。(data.json,policy.json)

data.json

  • 它分为三个主要领域。存储属性值的属性,存储子节点信息的子节点,存储位置信息的其他区域
  • - attributes字段的isPhysical属性是必需属性
  • json的根节点的data_key与f4d文件夹下的项目名称匹配
{
//attributes area
"attributes" : {
"isPhysical" : false,
"nodeType": "root",
"projectType": "project Type"
},
//Child node area
"children" : [
],
//Location information area
"data_key" : "Project name",
"data_name" : "Project name"
}
  • C:\f4d\projectname找到要渲染的目录
  • 目录名称中F4D_之后的字符是唯一标识符
  • 将data.json文件中child的data_key值修改为唯一标识符
  • 将纬度,经度,高度,航向,俯仰和滚动值修改为适当的值
//Child node area
"children" : [
{
"attributes" : {
"isPhysical" : true,
"nodeType" : "..."
},
"children" : [
],
"data_key" : "Unique identifier",
"data_name" : "Data name",
"latitude" : Enter latitude,
"longitude" : Enter longitude,
"height" : Enter height,
"heading" : Enter heading,
"pitch" : Enter pitch,
"roll" : Enter roll
}
]

policy.json

  • 要在初始化时加载的项目,Init Camera Latitude,Longitude,CallBack Function,Geo Server setup
  • 如果要加载多个项目,请在初始化页面时输入要加载的键值
"geo_data_default_projects": [
"data.json"
]
  • 修复网页启动时移动的位置(lattiude,经度)
"geo_init_latitude": "Enter latitude",
"geo_init_longitude": "Enter longitude"
  • 铯离子地形访问令牌设置

    • 下载maago3D JS源代码时,默认使用Cesium World Terrain。
    • 在mago3D JS中发布用于铯地形应用的Cesium离子令牌。(https://cesium.com/ion/signin
 "geo_cesium_ion_token": "cesium ion token" 

7.运行节点服务器

// If you run the server privately
C:\git\repository\mago3djs>node server.js
// If you run the server as public
C:\git\repository\mago3djs>node server.js --public true

8.浏览器验证

// Cesium
http:localhost/sample/cesium.html
// WorlWind
http:localhost/sample/worldwind.html

mago3DJS 应用的更多相关文章

  1. Cesium资料大全

    前言 Cesium是一个用于显示三维地球和地图的开源js库.它可以用来显示海量三维模型数据.影像数据.地形高程数据.矢量数据等等.三维模型格式支持gltf.三维瓦片模型格式支持3d tiles.矢量数 ...

随机推荐

  1. 入职小白随笔之Android四大组件——活动详解(activity)

    推荐Android入门书籍:第一行代码(郭霖) google官方文档地址:https://developer.android.google.cn/guide/components/activities ...

  2. VMware_Player_nat网络的端口映射_手工设置

    VMware_Player_nat网络的端口映射_手工设置 转载注明来源: 本文链接 来自osnosn的博客,写于 2019-12-21. vmware nat的配置文件在 C:\ProgramDat ...

  3. Grafana = 可视化分析 + 监控告警

    Grafana是一个完美地分析和监控的开发平台 可以把Grafana理解为一个可视化面板(Dashboard),其实Kibana也是一个分析和可视化平台,只不过在大家的日常使用中Kibana是跟着Lo ...

  4. MySQL 排错-解决MySQL非聚合列未包含在GROUP BY子句报错问题

    排错-解决MySQL非聚合列未包含在GROUP BY子句报错问题 By:授客 QQ:1033553122   测试环境 win10 MySQL 5.7 问题描述: 执行类似以下mysql查询, SEL ...

  5. Oracle 定时备份数据库

    [操作说明] 在前面的博客中,学习了如何Oracle如何备份数据库,实际开发过程中数据库应该每隔一段时间就要备份一次,所以我们就需要一个定时执行这个代码的功能,同时备份的文件可能进行一些处理,比如压缩 ...

  6. android studio 3.4配置Android -jni 开发基础

    首先下载配置android studio ndk 1.打开sdkManager下载CMake和LLDB 2.配置ndk 项目新建 项目建立完毕后,工程目录如下,cpp文件夹是系统自动生成的 3.自定义 ...

  7. MySQL数据库:聚合函数的使用

    聚合函数 max() 最大值 min() 最小值 avg() 平均值 sum() 求和 count() 符合条件数据的数目 聚合函数不能嵌套使用 # 在统计时字段内没有满足条件的数值只有count返回 ...

  8. Vant-Weap通过事件获取值

    van-field框的使用 和通过事件获取值 <van-cell-group> <van-field value="{{username}}" label=&qu ...

  9. 2019-2020-1 20199305《Linux内核原理与分析》第九周作业

    进程的切换和一般执行过程 (一)进程调度的时机 (1)关键问题 何为进程切换?就是进程调度时机到来时从就绪进程队列中能够挑选一个进程执行,占用CPU时间,那么就有两个关键问题:一是什么时间去挑选一个就 ...

  10. Java之Arrays类

    Arrays概述 java.util.Arrays 此类包含用来操作数组的各种方法,比如排序和搜索等.其所有方法均为静态方法,调用起来非常简单. 常用方法 public static String t ...