OSM数据规范、下载、解析和三维渲染

OpenStreetMap数据规范 数据模型 OpenStreetMap(以下简称osm)数据由三个基本元素组成:node, way, relation。 Node代表一个经纬度坐标点; Way是由一系列有序的node组成的线条或者封闭的面; Relation用来组合node、way和其他relation,表达一种组合关系,比如多个way组成的一条高速公路或者公交线路;两条马路之间的转向限制;带有孔洞的多边形区域(外圈和内圈); 上述三个基本元素中都可以包含一个或多个tag标签 ; Tag标签用于记录一切属性信息,一个tag由一个key字段和一个value字段组成,如一个way元素由一个highway=residential的tag表示这个way元素是一条连通居民区的道路。一个元素不能拥有两个key字段相同的标签。 数据格式 pbf:高度压缩优化的二进制格式, »

用monaco editor打造在线代码编辑器

前言 本文主要记录了用monaco开发一个在线代码编辑器,全程使用webpack和ES6语言。并对一些在开发中遇到的细节问题做了解答:如何在webpack环境下将界面语言设置成中文(官方只提供了AMD模块架构下设置中文的例子);如何在代码编辑器中添加针对某个代码库的API提示(该功能适合开发一个代码库产品的在线开发者平台) 安装 npm install -D monaco-editor 引用 import * as monaco from 'monaco-editor'; 配置 webpack配置 //设置worker文件输出路径 entry: { "app": './index. »

WMTS地图服务格式摘要

1. TileMatrixSet 本质是定义一种切片方案 supportedCRS TileMatrixSet支持的坐标系统(如urn:ogc:def:crs:EPSG::4326代表纬度、经度顺序的WGS84; urn:ogc:def:crs:OGC:2:84代表经度、纬度顺序的WGS84;城建坐标没有EPSG代码,所以用urn:ogc:def:crs:EPSG: »

Ionic与Unity3D ARKit项目的整合与通讯

整合目的 Ionic是基于前端技术开发移动端应用的框架,Unity可以开发跨平台3D场景应用的框架。两者结合可以实现轻量型移动端三维应用的快速开发。本文的目的是将Ionic前端项目(页面,大型三维场景)与Unity ARKit项目(设备相机交互,小场景)结合。 框架版本 本文使用的Ionic、Cordova、Unity和Xcode版本如下: ionic (Ionic CLI) : 3.9.2 Cordova CLI : 8.0. »

Draco几何压缩与Cesium中的应用

Draco压缩的glTF格式规范 如果primitive中的extension属性包含键KHRdracomesh_compression,那么Draco几何压缩就会启用。 Primitive中可以包含压缩和未压缩两个版本的几何数据,如果未压缩版本没有提供,需要在extensionRequired中声明KHR_draco_mesh_compression,如下: "extensionsRequired" : [ "KHR_draco_mesh_compression" ] 如果extensionRequired中已经声明了KHR_draco_mesh_compression,那么primitive中只能包含Draco压缩的数据(只是理论规范上的要求,Cesium的glTF也没有遵循这条规则)。如果Draco压缩版数据存在,那么extensionsUsed中需要声明KHR_draco_ »