问题标签 [worldwind]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
301 浏览

java - 在 World Wind 中高效渲染大量多边形

我有大量的多边形,我想在世界风上渲染它们。所以我使用他们的 Polygon 类如下:

它适用于小型数据集,但是当多边形数量增加(~45k)时,它会耗尽内存(4GB),或者数量较少时运行缓慢。有人可以建议一些技术来有效地渲染如此大的数据集。谢谢,

0 投票
1 回答
919 浏览

javafx - 如何调整 WorldWind 面板的大小?

我想把 aWorldWindowGLJPanel放到一个窗格中,我想让它 resizable,但我不能,即使我调用resizesetSize方法。

就是我正在做的事情:

然后我用它wwdPane来显示世界风。

我希望我world wind panel拥有包含它的窗格的大小,并且我想让它world wind panel调整大小。

我想过用 a给 my world wind panelof my的大小,然后将我的 worldwindpanel 的大小与我的窗格绑定,但该功能不起作用panesetSize(PaneDimenson)setSize

编辑:我找到了一个替代解决方案,不使用窗格,而是直接使用 swingNode,调整大小现在是自动的。但是如果你想使用一个窗格仍然有问题,你不得不使用一个组。

0 投票
0 回答
181 浏览

algorithm - 在 NASA 世界风上渲染本地 DEM

我正在尝试在 World Wind 上渲染本地高程数据。然后使用world wind的tessellation算法对数据进行tessellation,渲染到地球仪上。我知道 LocalElevationModel。我能够使用这个存储一个 DEM 文件:

我可以通过 localElevation 数据中的 max,min lat 日志使用 lookupElevation 方法访问此模型。但我不知道如何继续前进。我研究了 RectangularTessellator 类,但不明白如何使用它。关于我如何做到这一点的任何线索?

PS:我正在查看他们的源代码,但无法理解很多场景。所以我想了解更多。

PPS:如果不可能,有人可以指导我使用易于实现和优化的地形渲染算法。它支持生成的混乱的各种 LOD。

谢谢,

0 投票
1 回答
123 浏览

colors - 在 jogl 中使用 VAO 应用颜色

我正在尝试在 jogl 中为我的多边形着色。我将顶点存储在一个数组中,一个三角形顺序的索引数组和一个颜色数组。代码如下,但我面临的问题是三角形是白色的,而不是颜色缓冲区中的颜色。

我正在 NASA 世界风球上进行此渲染。但我认为这不会引起任何问题。有人可以帮我解决问题吗?我坚持了一段时间。

谢谢,

0 投票
2 回答
812 浏览

javafx - 如何在 WorldWind 中绘制具有高程表示的线

我想用高程表示在地球上画一条线,如下所示:

立面表示草图

我知道我可以使用折线来表示一条线,但是如何填充线下方的空间?

0 投票
0 回答
123 浏览

java - Java WorldWind:翻译全球

我正在广泛使用 Java WorldWind,并且很难通过 3d 渲染实现更多功能。起初,我在使用 zoom 和BasicOrbitView时遇到了巨大的困难,因为 zoom 实际上会改变视点高度,从而改变地平线,因此不是缩放。我使用FOV 参数解决了这个问题。减小此参数会执行真正的缩放,因为可视化对象仅通过类位变换进行修改。我解释说,为了让我知道隐藏在“缩放”或“翻译”等词后面的细节水平。

现在我有关于“翻译”的第二个问题:我想沿着屏幕 X 和 Y 轴平移整个地球,而不改变地平线或其他任何东西。目标是结合 FOV 变化和平移变化来放大一些地球边缘。

可以使用滚动和俯仰缩放某些地球边缘,条件是边缘位于屏幕上,禁止北极朝上,例如在赤道上的地球边缘缩放(如果不清楚,我将提供插图) . 所以这次尝试没有成功。我在 BasicOrbitView.setOrientation 方法上做了很多工作,但没有成功。

我还尝试修改 View 后面的 OpenGL 视图矩阵,尝试将其与描述翻译的 4x4 矩阵相乘,但未成功(在 worldwind 子例程期间执行崩溃)。

您对如何在 worldwind 中实现该翻译有想法吗?

0 投票
1 回答
92 浏览

java - RayCastingSupport.intersectRayWithTerrain 总是返回 null

我使用自己的交互方法,因为我将 NASA WorldWind 嵌入 JavaFX 而不是 Swing。视图在 FXML 中定义如下:

控制器属性:

WW初始化代码:

从 JavaFx 初始化代码:

交互类:

Interactions.getPositionFromScreenPoint从 FX 鼠标处理程序调用。

问题是RayCastingSupport.intersectRayWithTerrain()在我从世界的球形表示切换到平面表示后,总是返回 null 。

0 投票
3 回答
1577 浏览

java - 在 World Wind 中单击时禁用地球运动

我试图在 World Wind 中通过鼠标单击来禁用地球的移动。我希望能够做到:

whereMyMouseMotionListener消耗所有的鼠标事件。这不起作用,所以我必须这样做:

是否预期消耗的鼠标事件仍应到达gov.nasa.worldwind.awt.AWTInputHandler侦听器?

更新: WorldWindowGLCanvas只是打电话addMouseMotionListener()java.awt.Component所以显然我不明白消费事件是如何工作的。

更新 2:尽管与 Swing 共享接口,但调用WorldWindowGLCanvas.removeMouseMotionListener()withAWTInputHandler作为参数将阻止所有其他MouseMotionListeners 接收事件。AWTInputHandler应该使用add 和 remove 方法。

0 投票
1 回答
367 浏览

java - PointPlacemarks 的绘制顺序

有没有办法修复 World Wind 中 PointPlacemarks 的绘制顺序?

即使在地标示例中,地标 B和音频地标的顺序也可以通过在某些缩放级别上移动鼠标来改变:

在此处输入图像描述

在此处输入图像描述

到目前为止,我已经尝试过:

0 投票
1 回答
64 浏览

java - Java WorldWind:如何在 DragEvent 上访问 AnalyticSurface

我正在广泛使用 Java worldwind 来在矩形扇区上显示数据的应用程序。我希望能够将这些数据拖到全球。如通过BasicDragger演示的那样,此类行为已在 WorldWind 中针对SurfaceCircle(实现Movable)等形状实现。

我正在尝试为AnalyticSurface实现这种行为(不实现可移动)。问题是DragSelectEvent .getTopObject 向我返回了一个名为AnalyticSurface.ClampToGroundSurface的受保护静态类,而我的 AnalyticSurface 没有公共访问器。

总结一下:我创建了一个对象并在 3d 地球渲染中显示它,并且在此图形表示上启动的拖动事件返回给我一个对象,该对象没有对我自己的对象的公共访问器,因此无法根据鼠标行为对其进行修改。

这似乎是 WorldWind 方面的架构错误。不使用反射,有没有办法访问我自己的对象链接到我的拖动事件?