首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >晚餐西蒙斯三维地理信息系统

晚餐西蒙斯三维地理信息系统
EN

Stack Overflow用户
提问于 2019-11-15 23:06:46
回答 1查看 119关注 0票数 3

我正在使用雷帕斯特西蒙尼项目,涉及空域,并希望让代理人在三维连续空间以上的地理信息系统投影,有静态的地面代理。目前,我有单独的GeographyContinuousSpace投影在相同的上下文中,同时移动代理在两个投影,但地理信息系统显示仅仅是二维的代理运动。

我注意到,用于在Geometry中设置位置的Geography对象有一个Coordinate.z字段,但是将z值设置为NaN以外的任何值都不会起任何作用。我在文档里没有找到关于这件事的任何东西。

我计划实现Projection接口并进行自己的投影,因为由于相互冲突的方法签名('getAdder'),无法在同一个类中实现GeographyContinuousSpace。这似乎是一项相当艰巨的任务,所以我想,如果有什么更好的方法来做这件事,这是值得的吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-17 18:38:26

您可以通过重写repast.simphony.visualization.gis3D.style.MarkStyle()方法来提升三维地理信息系统显示中的点标记。

public double getElevation(T obj)

这将在3DGIS显示中以米为单位的标高处放置点标记。JTS坐标对象可以像您指出的那样存储z值,但是Geotools或JTS空间数学中没有一个使用这个值,因为CRS转换都是基于2D地形的。我相信样式中的getElevation()指定相对于地面的海拔,而不是海平面。您可以在代理中提供一个提供当前样式提升的方法,然后让样式返回agent.getElevation()。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58885818

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档