问题标签 [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 回答
112 浏览

java - 将 WorldWindowGLJPanel 重新添加到 JFrame 会导致 GL 视口计算错误

如果我将 WorldWindowGLJPanel 的实例添加到我的 JFrame 中,然后将其删除并再次添加,则面板的 GL 视口将重新计算为比可用空间小得多的 Rectangle。尺寸似乎始终为 116x26。这意味着框架变成了大部分空白,只有一小块 WorldWind 面板显示在框架的左下角。调整框架大小似乎会重置视口,但有没有办法以编程方式重置视口?

0 投票
1 回答
569 浏览

java - 从符号到地形的 Worldwind 线

Worldwind 的 Point PlaceMark 可渲染具有通过调用setLineEnabled将线从 Placemark 下拉到地形的功能,如下图所示:

在此处输入图像描述

我想要做的是添加一条这样的线,它也适用于可渲染的战术符号。我的第一个想法是从PointPlacemark可渲染对象中借用执行此操作的逻辑,并将其添加到AbstractTacticalSymbol可渲染对象中。我已经尝试过了,到目前为止我一直没有成功。

这是我到目前为止所做的:

  1. 将此添加到 OrderedSymbol 类:

    /li>
  2. 更新了 computeSymbolPoints 以计算地形点

    /li>
  3. 添加此逻辑(取自 PointPlacemark.java 并更新以符合 AbstractTacticalSymbol.java)。请注意,我已将 lineEnabled 设置为 true,因此默认情况下它应该画线。

    /li>
  4. 将此调用添加到 drawOrderedRenderable 方法的开头:

    /li>

我相信这密切反映了 PointPlacemark 正在做什么以使线到地形出现,但这是我在运行TacticalSymbols示例时得到的结果:

在此处输入图像描述

这是带有我(尝试的)更改的整个 AbsractTacticalSymbol 文件:http://pastebin.com/aAC7zn0p 对于 SO 来说太大了)

0 投票
0 回答
582 浏览

java - Worldwind 渲染表面形状和战术符号的顺序

本质上,我希望默认情况下将 Surface Shapes 渲染在 Tactical Symbols 之上。这是在 Worldwind 示例中重新创建的问题

在此处输入图像描述

无论我以哪种顺序添加图层,战术符号始终呈现在表面形状的顶部。我假设这是因为形状的呈现方式不同:

“图层按照它们在图层列表中定义的顺序显示。(但是,图层内的 3D 形状以从远到近的顺序显示”

我有一种预感,我可以通过扩展 Tactical Symbol 并实现OrderedRenderable接口并覆盖makeOrderedRenderable()方法来解决这个问题,但我不确定在不破坏其他层的情况下我应该进行哪些具体更改来实现所需的功能。

0 投票
1 回答
59 浏览

worldwind - 删除 GlobeBrowserBalloon 控件

我正在尝试从 GlobeBrowserBalloons 中删除前进和后退按钮,因为我只想保留关闭的 X。

我知道该方法是balloon.removeBrowserControl(AbstractBrowserBalloon.BrowserControl browserControl); BrowserControl 的构造函数参数是(String action, Offset offset, Object imageSource)

我的问题是,我在 BrowserControl 的构造函数中放了什么?我不熟悉 action 和 imageSource 是什么。

0 投票
1 回答
2078 浏览

java - World Wind Java 无法检索 WMS 资源

我已经下载了 WorldWindJava SDK 并运行了 HelloWorldWind 示例。但是我每次都会收到以下错误:

2016 年 10 月 21 日下午 2:16:48 gov.nasa.worldwind.util.SessionCacheRetrievalPostProcessor 运行严重: http ://worldwind20.arc.nasa.gov/mapcache?EXCEPTIONS=application/vnd.ogc.se_xml&REQUEST=GetCapabilities&SERVICE 检索失败=WMS&VERSION=1.3.0 Oct 21, 2016 2:16:48 PM gov.nasa.worldwind.util.SessionCacheUtils retrieveSessionData 严重:检索 http://worldwind20.arc.nasa.gov/mapcache?EXCEPTIONS=application的资源时出现异常/vnd.ogc.se_xml&REQUEST=GetCapabilities&SERVICE=WMS&VERSION=1.3.0 java.net.SocketTimeoutException:在 java.io 的 java.net.SocketInputStream.read(Unknown Source) 处的 java.net.SocketInputStream.socketRead0(Native Method) 处读取超时。 BufferedInputStream.fill(Unknown Source) at java.io.BufferedInputStream.read1(Unknown Source) at java.io.BufferedInputStream.read(Unknown Source) at sun.net.www.http.HttpClient.parseHTTPHeader(Unknown Source) at sun。 net.www.http.HttpClient.parseHTTP(Unknown Source) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source) at java.net.HttpURLConnection.getResponseCode(Unknown Source) at gov.nasa.worldwind。 gov.nasa.worldwind.retrieve.URLRetriever.read(URLRetriever.java:368) 上 gov.nasa.worldwind 上的retrieve.HTTPRetriever.doRead(HTTPRetriever.java:48)。在 gov.nasa.worldwind.retrieve.URLRetriever.call(URLRetriever.java:1) 在 gov.nasa.worldwind.util.SessionCacheUtils.retrieveSessionData(SessionCacheUtils.java:80) 的检索.URLRetriever.call(URLRetriever.java:244)在 gov.nasa.worldwind.util.SessionCacheUtils.getOrRetrieveSessionCapabilities(SessionCacheUtils.java:170) 在 gov.nasa.worldwind.layers.BasicTiledImageLayer.retrieveResources(BasicTiledImageLayer.java:723) 在 gov.nasa.worldwind.layers.BasicTiledImageLayer$2。在 java.lang.Thread.run 运行(BasicTiledImageLayer.java:812)(未知来源)getOrRetrieveSessionCapabilities(SessionCacheUtils.java:170) at gov.nasa.worldwind.layers.BasicTiledImageLayer.retrieveResources(BasicTiledImageLayer.java:723) at gov.nasa.worldwind.layers.BasicTiledImageLayer$2.run(BasicTiledImageLayer.java:812) at java。 lang.Thread.run(未知来源)getOrRetrieveSessionCapabilities(SessionCacheUtils.java:170) at gov.nasa.worldwind.layers.BasicTiledImageLayer.retrieveResources(BasicTiledImageLayer.java:723) at gov.nasa.worldwind.layers.BasicTiledImageLayer$2.run(BasicTiledImageLayer.java:812) at java. lang.Thread.run(未知来源)

不用说,应用程序无法渲染任何 WMS 层。

我尝试使用浏览器导航到 URL,但连接超时。

关于如何解决此问题或解决此问题的任何想法?

0 投票
1 回答
257 浏览

java - 无法在独立 Java 可执行文件中使用 WorldWind

我正在尝试创建一个独立的 Java 可执行文件来显示 WorldWind Globe 并不断遇到依赖问题。下面是我的代码:

这是我的 Maven 项目的 pom 文件:

我可以在 NetBeans 中毫无问题地执行此操作,但是第二次我使用 Shade Plugin for Maven 并在 NetBeans 之外运行可执行文件时出现以下错误:

任何想法为什么会发生这种情况?我认为 Shade Plugin 将依赖项打包在 jar 中,以便它可以在 IDE 之外工作?任何帮助将不胜感激。我正在使用 WorldWind 2.0 和 Java 8。

0 投票
0 回答
322 浏览

java - World Wind Java SDK 2.0 Netbeans 8 MCVE 项目

在花费时间研究并遵循教程/建议之后,我仍然无法在32 位 Windows 7机器上使用Netbeans 8中的NASA World Wind SDK 2开始我的项目。

由于 World Wind SDK 2.0 更新至 JOGL 2.3x,大部分教程已弃用且不再有用。

到目前为止我尝试了什么:

概括:

有人知道 NASA World Wind Java 2 SDK 是否有示例项目(配置良好)?Github 存储库 ( https://github.com/NASAWorldWind/WorldWindJava ) 不提供对重用有效的项目。

我的目标是拥有(当然后来为社区提供)一个最小的、完整的和可验证的示例

可能很容易解决我的问题,但花了一些时间后,我可能陷入了失败状态......

0 投票
1 回答
331 浏览

java - Worldwind SurfaceImage Deep/Batch Picking

我正在使用 WorldWind 并尝试在同一层中“挑选”多个表面图像,但不明白为什么它不起作用。

我的印象是这样称呼:

将使我能够在同一层中选择多个可渲染对象。这似乎适用于 SurfaceImage 以外的所有其他情况。我还注意到,如果我将加载的 SurfaceImage 强制放入不同的层,它会按预期工作。

这是我用来测试的代码:

这些是我一直用来测试的 2 个相互叠加的 geotiff。当我单击两个 geotiff 时,我希望 SelectListener 上的 println 打印出“3”。(我已将 geotiffs 上传到此处提供的 zip 中)

您将看到这些的区域位于旧金山,请参见屏幕截图:

在此处输入图像描述

0 投票
1 回答
327 浏览

java - 在 World Wind 显示中获取 JPopupMenu

JPopupMenu我需要在 World Wind 显示中添加右键单击。World Wind 显示在JPanel. 我几乎只是ApplicationTemplate.AppPanel从 World Wind 的示例ApplicationTemplate类中复制了内部类的成员变量和方法,将其粘贴到我需要 WW 显示的 GUI 中,并将this.add(component)复制代码的引用更改为myJPanel.add(component).

除了缺少弹出菜单之外,它工作得很好;我在我的应用程序中嵌入了一个 World Wind 显示器,并从我的应用程序对话框中控制它。

加入JPopupMenu世界风显示后JPanel,好像根本不显示。我右键单击,没有弹出任何内容。我不认为这是隐藏菜单的重量级与轻量级 Java 组件问题,因为我可以将菜单附加到 World Wind 显示上方的组件(WWD 位于BorderLayoutCENTER,其他组件位于其 NORTH)而不是菜单会很高兴地进入世界风展示的空间而不被它隐藏。为了安全起见,我在我所做的主类的静态初始化程序顶部设置了JPopupMenu's和setLightWeightPopupEnabled(false)JPopupMenu.setDefaultLightWeightPopupEnabled(false)

我做了一个MouseListener附加到JPanel包含世界风显示的测试,并且没有任何MouseListener事件被触发。所以我最好的猜测是我不应该将其添加JPopupMenuJPanelwwd 对象的某些特定子组件中,而是应该将其添加到 wwd 对象的某些特定子组件中。wwd 对象本身似乎没有添加弹出菜单的方法,并且我在 wwd 的方法中没有看到类似“getGLCanvas”的东西。如果我在正确的轨道上,应该将菜单添加到哪个组件,以及如何访问该组件?

所以我的问题很简单,或者看起来是这样:我如何JPopupMenu进入 World Wind 显示器?

其次,这个问题也与MouseListener在显示器上显示 a 相同,但我认为这个问题的答案将超出JPopupMenu在显示器上显示 a 的答案。

下面是我插入的 World Wind 模板代码,以及我对它的修改。其他地方的另一个类使用getComponent()JPanel包含 World Wind 显示添加到我的应用程序的用户界面。我留下了我注释掉的默认 World Wind 内容,以防万一这很重要。通过图层名称的 String[] 循环只是我轻松仅显示地图和单位比例的一种方式。JPopupMenu代码位于构造函数的一半。为凌乱的代码道歉,但我认为您应该按原样查看它以获得最佳帮助。

0 投票
2 回答
1047 浏览

kml - KML 运动线方向

我一直在与 NASA WorldWind 和 Google Earth 合作。我正在为图标使用 KML地标,并且希望在 KML 中复制标题/引线。我想要一个类似于 DIRECTION_OF_MOVEMENT 线在 WorldWind 中的工作方式的引导线,因为它在 2525 符号系统上实现。基本上,这条线表示对象正在移动的方向,并且无论地图的方向如何,它都会保持指向该方向,如所附屏幕截图中的黑线所示。如何在 Google 地球中使用 KML 复制它?

在此处输入图像描述