【Cesium Sandcastle 研究4】- GeoJSON 与 TopoJSON
访问地址:
http://localhost:8080/Apps/Sandcastle/index.html?src=GeoJSON%20and%20TopoJSON.html&label=Tutorials
知识点
// Seed the random number generator for repeatable results.
Cesium.Math.setRandomNumberSeed(0);
// 产生随机颜色值
color = Cesium.Color.fromRandom({alpha : 1.0});
// 一个DataSource处理 GeoJSON和TopoJSON数据的。
var promise = Cesium.GeoJsonDataSource.load('../../SampleData/ne_10m_us_states.topojson');
// 等到数据源加载成功后
promise.then(function(dataSource) {
}
// 矩形框的颜色 和 边框
//Set the polygon material to our random color.
entity.polygon.material = color;
//Remove the outlines.
entity.polygon.outline = false;
获取或设置指定多边形拉伸高度的数字属性。如果PolygonGraphics#perPositionHeight为false,
则PolygonGraphics#height从此高度开始并结束。如果PolygonGraphics#perPositionHeight为真,
则从每个PolygonGraphics#hierarchy位置的高度开始并在此高度结束。
entity.polygon.extrudedHeight = entity.properties.Population / 200.0;
geojson 中 entity 的数据结构如下所示:相当于 entity.properties 对应于 properties 中的属性值。
{
"type" : "Topology",
"transform" : {
"scale" : [0.0035892802775563276, 0.0005250691027211737],
"translate" : [-179.14350338367416, 18.906117143691233]
},
"objects" : {
"states" : {
"type" : "GeometryCollection",
"geometries" : [{
"type" : "MultiPolygon",
"arcs" : [[[0]], [[1]], [[2, 3, 4, 5, 6, 7, 8, 9]]],
"id" : "MA",
"properties" : {
"name" : "Massachusetts",
"Statehood" : "Feb. 6, 1788",
"Population" : 6692824
}
}, ...