我试图将数据从PostGIS传递给铯,我相信更简单的方法是使用GeoJSON。
为了测试它,我对我的PostGIS做了一个查询,以获得一些geoJSON数据
SELECT ST_AsGeoJSON(mygeom)
FROM mytable where id = 370;
然后,我将结果复制到铯沙堡,看看它是如何工作的。
var viewer = new Cesium.Viewer('cesiumContainer');
const greenPolygon = viewer.entities.add({
name: "Green extruded polygon",
polygon: {
hierarchy : Cesium.GeoJsonDataSource.load({"type":"MultiPolygon","coordinates":[[[[386788.842267334,4204512.29371444],[386804.47751787,4204512.29371444],[386804.47751787,4204510.66293459],[386788.854170836,4204510.66293459],[386788.842267334,4204512.29371444]]]]}),
extrudedHeight: 100000.0,
material: Cesium.Color.YELLOW.withAlpha(0.5),
outline : true,
outlineColor : Cesium.Color.BLACK,
closeTop: true,
closeBottom: true
},
});
viewer.zoomTo(viewer.entities);
我在铯沙堡控制台没有错误,但我也没有看到地图上的多边形。我的PostGIS表中的几何是geometry(MultiPolygon,2100)
,我不知道这是否是问题所在。
请指点
谢谢
发布于 2022-09-28 00:44:08
CesiumJS将不理解自定义空间参考系统中定义的坐标(例如386788.842267334,4204512.29371444)。必须使用地理纬度和经度指定坐标。
https://stackoverflow.com/questions/73878324
复制