通过viewer.entities.add
方法给地球上添加一些图像、文本,现在可以通过viewer.entities.values
可以获取到Entity对象,如何获取这些对象的Geojson数据呢?
在 Cesium 中,可以使用 Entity
对象的 position
、point
、polyline
、polygon
等属性来获取 GeoJSON 数据。
对于您所提的问题,由于您没有提供详细的上下文和代码示例,我将假设您是在使用 Cesium JavaScript API,并给出一般的建议。
首先,让我们假设您已经使用 viewer.entities.add
方法添加了一个图像或文本实体。这个实体有一个唯一的 id
,可以通过这个 id
来获取这个实体对象。
// 添加一个图像或文本实体var entity = viewer.entities.add({ name : 'My Entity', // ... 其他属性 ...});// 获取实体对象var entityObject = viewer.entities.get(entity.id);
然后,你可以从实体对象中获取 GeoJSON 数据。然而,请注意,Cesium 本身并不直接提供将实体对象转换为 GeoJSON 的功能。因此,你需要自己手动从实体对象中提取相关属性,然后按照 GeoJSON 的格式进行组合。
例如,如果你添加的是一个图像实体,那么可以通过 Entity
的 position
属性获取到该实体的位置信息,然后根据 GeoJSON 的格式要求进行组合:
// 获取图像实体的位置信息var position = entityObject.position;// 按照 GeoJSON 的格式组合var geojson = { "type" : "Feature", "geometry" : { "type" : "Point", "coordinates" : [position.x, position.y] }, // ... 其他属性 ...};
同样的,如果你添加的是一个文本实体,那么可以通过 Entity
的 position
和 text
属性来获取位置信息和文本内容:
// 获取文本实体的位置信息和文本内容var position = entityObject.position;var text = entityObject.text;// 按照 GeoJSON 的格式组合var geojson = { "type" : "Feature", "geometry" : { "type" : "Point", "coordinates" : [position.x, position.y] }, "properties" : { "text" : text }, // ... 其他属性 ...};
需要注意的是,由于 Cesium 是基于 WebGL 技术开发的,所以它的所有数据都是以 WebGL 的形式存储和渲染的。这意味着要获取 GeoJSON 数据,实际上就是需要从 WebGL 的数据中手动提取出 GeoJSON 格式的数据。因此,这个过程可能会有一些复杂和繁琐。
问题内容: 假设我有一张带有行星圆柱图的图像,比如说: http://www.johnstonsarchive.net/spaceart/cymaps.html 我想把它画在一个三维球体上,以恢复物体的原始形状 行星。 有没有一种方法可以使用像matplotlib,mayavi, 底图还是类似的? 问题答案: 更新:这是使用Cartopy的新版本,如[basemap is] [下线](https:
我有一张图片上面有文字。我需要从图像中提取文本。 例如:假设我有一个图像,在图像之上我有一个标志“诺基亚”。我想从图像中提取作为文本的徽标。
问题内容: 我尝试在图像的底部添加文本,实际上我已经完成了,但是如果我的文本较长,那么图像的宽度要从两侧切开,为简化起见,我希望文本在多行中长于图片宽度。这是我的代码: 问题答案: 您可以用来分解成字符串列表,每个字符串最多为字符:
问题内容: 假设我有一张带有行星圆柱图的图像,请说以下其中之一: http://www.johnstonsarchive.net/spaceart/cylmaps.html 我想将其绘制在3D球体上以恢复地球的原始形状。 有没有办法使用类似matplotlib,mayavi,basemap或类似的Python包来做到这一点? 问题答案: 更新 :这是使用Cartopy的新版本,因为底图是EOL。以
js 获取怎么复制的内容, navigator.clipboard.readText()有兼容性问题,线上不生效。
我正在使用Bing Maps v8 API,试图将我自己的GeoJSON加载到Bing Maps上,如本例所示:https://www.Bing.com/API/Maps/sdkrelease/mapcontrol/isdk#GeoJSONReadObject+js 我正在成功地创建我的JSON(我已经使用Bing Maps拖放特性测试了它,并且我的所有点都显示在Map.https://bingm