简介
GeoJSON是一种用于编码各种地理数据结构的格式官网。满足JSON语法格式,具体的说明有两处,一是:wiki-GeoJSON_draft_version_6说明-英文,还有一个是在github上,开源中国上有中英文对照 geojson-spec,GeoJson用的比较广泛,如果想进一步了解二者的不同,请查看下面的扩展阅读
补充 样式说明
topojson 的样式只能通过加载时以参数传入进行修改Cesium.GeoJsonDataSource.load(url,option),即设置 option参数
geojson的样式可以通过和topojson相同的参数设置,也可以写在.geojson文件中,
例如(演示,添加注释,不能正常运行):
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
0.0,
0.0
]
},
"properties": {
"title": "",
//无marker-symbol属性
//"marker-symbol": "0",
//"marker-symbol": "f",
//"marker-symbol": "bus",
"marker-color": "#B9EB14"
}
}
以上四种marker-symbol分别对应四种效果:
地理信息数据说明–个人理解
一幅图里面有多个图层,一个图层上有多个元素,一个元素包括形状和属性
一幅图的信息记录在多个表格中,一个表格有多行,一行信息包括一个形状字段和多个属性字段
对应关系如图:
cesium调用
加载topojson和geojson就比较简单了,(以下代码来自官方包的例子)
viewer.dataSources.add(Cesium.GeoJsonDataSource.load('../../SampleData/ne_10m_us_states.topojson', {
stroke: Cesium.Color.HOTPINK,
fill: Cesium.Color.PINK.withAlpha(0.5),
strokeWidth: 3
}));
扩展阅读
工具网站
Shapefile, GeoJSON, TopoJSON, DBF and CSV files 互转
总结
GeoJson和TopoJson比较简单,本质上只是数据的一种记录方式,结构上也比较简单,掌握规律之后理解起来也很容易。
文章里面引用了很多链接,网上搜一搜资源比较多,这篇日志并没有大量的复制粘贴别人的成果,只是整理了一下常用的资源。
希望有帮助~
想问下远程的json文件通过这个方式是不能加载吗,其他有什么方法吗
可以
请问geojson文件是以entities的方式加载的吗?为何换成数据量大的geojson文件,整个网页都奔溃了
是的
如果想用primitive的方式加载大数据的geojson数据,该如何写呢
参考沙盒示例 Custom DataSource 和 cesium inspector
网站里也有些相关的你看名字带primitive的 , http://cesium.xin/wordpress/archives/cesium-threejs-buffergeometry.html 这个也是
大佬,cesium可以加载geojson和3dtiles数据,我想问一下什么情况需要用geojson啊?是因为它是用的entities方式加载,所以比起3dtiles对单独实体的样式修改可以更精细吗,但是也会更卡。
加小范围,相对简单的形状用