2017-07-12 4 views
1

J'ai une vue de terrain dans Cesium Sandcastle et j'ai chargé des données de routes au format GeoJSON, ce sont des lignes. Je veux les serrer sur le terrain, comme cet exemple (dans le menu déroulant choisissez "Exemples de positions de ligne et dessiner avec test de profondeur désactivé") ->http://cesiumjs.org/Cesium/Apps/Sandcastle/index.html?src=Ground%20Clamping.html&label=Tutorials Dans l'exemple, la ligne que vous voyez est définie dans le code, mais j'ai données (routes) sur mon PC qui est chargé dans l'application. Une fois chargées, les routes sont plates (sous le terrain) et de toute façon je dois les serrer sur le terrain mais je ne sais pas comment.Comment fixer le format de données GeoJSON au relief de Cesium Sandcastle?

J'ai essayé d'utiliser le code existant de l'exemple mais je n'ai pas réussi.

C'est mon code pour l'instant:

//Add terrain 
var viewer = new Cesium.Viewer('cesiumContainer'); 
var cesiumTerrainProviderMeshes = new Cesium.CesiumTerrainProvider({ 
    url : 'https://assets.agi.com/stk-terrain/v1/tilesets/world/tiles', 
    requestWaterMask : true, 
    requestVertexNormals : true 
}); 
viewer.terrainProvider = cesiumTerrainProviderMeshes; 
viewer.scene.globe.depthTestAgainstTerrain = true; 

//Load data (roads) 
var dataSource = Cesium.GeoJsonDataSource.load('../../SampleData/ceste_rab_okvir.geojson'); 
viewer.dataSources.add(dataSource); 
viewer.zoomTo(dataSource); 

Je sais qu'il ya Cesium.GeoJsonDataSource.clampToGround, mais comme je ne suis pas un développeur, je ne comprends pas comment l'écrire dans mon code. Est-ce que quelqu'un sait comment le faire? Ou peut-être existe-t-il un autre moyen de bloquer les routes sur le terrain?

Merci d'avance.

Répondre

0

Je l'ai compris. Il devrait être écrit comme ceci:

//Add terrain 
var viewer = new Cesium.Viewer('cesiumContainer'); 
var cesiumTerrainProviderMeshes = new Cesium.CesiumTerrainProvider({ 
    url : 'https://assets.agi.com/stk-terrain/v1/tilesets/world/tiles', 
    requestWaterMask : true, 
    requestVertexNormals : true 
}); 
viewer.terrainProvider = cesiumTerrainProviderMeshes; 
viewer.scene.globe.depthTestAgainstTerrain = true; 

//Load data (roads) 
Cesium.GeoJsonDataSource.clampToGround = true; 
var dataSource = Cesium.GeoJsonDataSource.load('../../SampleData/ceste_rab_okvir.geojson'); 
viewer.dataSources.add(dataSource); 
viewer.zoomTo(dataSource);