1

I am brand new to Repast and am interested in eventually creating a marine traffic simulation in the Arctic. I am going through the "Import Repast Examples" and none of the models I go through display the maps in the simulation display. For example this shot of the Geotracks demo shows the blue marble map is clearly not loading. Missing Background Maps

In the Geography demo a small thumbnail of Chicago is visible but none of the surrounding map. Repast Geography demo

I couldn't find any documentation to fix this issue. When I go to the GIS display setup it appears the files are enabled so I do not known what else to do to troubleshoot. Display options

Here is a picture of the console errors that I am receiving. enter image description here

I installed Repast using the default installation settings for Windows.

  • 1
    Are there any error messages in the Eclipse console? Some of the background layers like Bing imagery request the data from online servers, and if there is a problem connecting to the server the layer will not appear. However, the Blue Marble layer should appear as it is a local image bundled with Repast. Please check the Eclipse console for any errors with OpenGL which is required by the GIS displays. – Eric Tatara Sep 02 '21 at 16:27
  • I do not get any errors referencing OpenGL but I get: WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.thoughtworks.xstream.core.util.Fields (file:/C:/Users/.../RepastSimphony-2.8/eclipse/plugins/repast.simphony.runtime_2.8.0/lib/xstream-1.4.7.jar) to field java.util.TreeMap.comparator WARNING: Please consider reporting this to the maintainers of com.thoughtworks.xstream.core.util.Fields WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations – user7479159 Sep 03 '21 at 13:56
  • As Well as the error: SEVERE: Retrieval failed for https://worldwind26.arc.nasa.gov/elev?EXCEPTIONS=application/vnd.ogc.se_xml&REQUEST=GetCapabilities&SERVICE=WMS&VERSION=1.3.0 Sep 03, 2021 9:54:53 AM gov.nasa.worldwind.util.SessionCacheUtils retrieveSessionData SEVERE: Exception while retrieving resources for https://worldwind26.arc.nasa.gov/elev?EXCEPTIONS=application/vnd.ogc.se_xml&REQUEST=GetCapabilities&SERVICE=WMS&VERSION=1.3.0 java.net.SocketTimeoutException: Read timed out – user7479159 Sep 03 '21 at 14:00
  • I've uninstalled and reinstalled Repast twice, making sure to do the default install that installs the default JDK....am I missing something obvious? I had a buddy try the install on an independent machine and she had the same issue. – user7479159 Sep 03 '21 at 14:02

1 Answers1

1

I am able to replicate the issue. The background map layers are provided by the NASA WorldWind service and it appears that the servers are sometimes slow or unresponsive. This data is served by third parties and the Repast team does not have direct control over providing the background map layers. There does appear to be a solution as posted by one of their developers here: https://github.com/NASAWorldWind/WorldWindJava/issues/219 in which they describe how to improve some of the WorldWind network properties to help with the slow servers, and I have tested that this does work.

You will need to copy the below into a file named "worldwind.xml" in your project:

<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ Copyright 2006-2009, 2017, 2020 United States Government, as represented by the
  ~ Administrator of the National Aeronautics and Space Administration.
  ~ All rights reserved.
  ~ 
  ~ The NASA World Wind Java (WWJ) platform is licensed under the Apache License,
  ~ Version 2.0 (the "License"); you may not use this file except in compliance
  ~ with the License. You may obtain a copy of the License at
  ~ http://www.apache.org/licenses/LICENSE-2.0
  ~ 
  ~ Unless required by applicable law or agreed to in writing, software distributed
  ~ under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
  ~ CONDITIONS OF ANY KIND, either express or implied. See the License for the
  ~ specific language governing permissions and limitations under the License.
  ~ 
  ~ NASA World Wind Java (WWJ) also contains the following 3rd party Open Source
  ~ software:
  ~ 
  ~     Jackson Parser – Licensed under Apache 2.0
  ~     GDAL – Licensed under MIT
  ~     JOGL – Licensed under  Berkeley Software Distribution (BSD)
  ~     Gluegen – Licensed under Berkeley Software Distribution (BSD)
  ~ 
  ~ A complete listing of 3rd Party software notices and licenses included in
  ~ NASA World Wind Java (WWJ)  can be found in the WorldWindJava-v2.2 3rd-party
  ~ notices and licenses PDF found in code directory.
  -->

<!--$Id: worldwind.xml 2348 2014-09-25 23:35:46Z dcollins $-->
<!--Default WorldWind configuration values-->
<!--Any of these can be overridden by specifying an application configuration document-->
<!--An alternate document to this one can also be specified-->
<!--See the javadoc for the Configuration class for details-->
<WorldWindConfiguration version="1">
    <!--The initial layer list can be embedded here or linked as below. To change the set of initial layers,-->
    <!--modify the file identified by the href or replace the link with your own-->
    <LayerList href="config/worldwind.layers.xml"/>
    <!--Most configuration information is defined in attribute-value pairs-->
    <Property name="gov.nasa.worldwind.avkey.ModelClassName" value="gov.nasa.worldwind.BasicModel"/>
    <Property name="gov.nasa.worldwind.avkey.GlobeClassName"
              value="gov.nasa.worldwind.globes.Earth"/>
    <Property name="gov.nasa.worldwind.avkey.EarthElevationModelConfigFile"
              value="config/Earth/EarthElevations2.xml"/>
    <Property name="gov.nasa.worldwind.globes.GeographicProjectionClassName"
              value="gov.nasa.worldwind.globes.projections.ProjectionEquirectangular"/>
    <Property name="gov.nasa.worldwind.avkey.InitialLatitude" value="38"/>
    <Property name="gov.nasa.worldwind.avkey.InitialAltitude" value="19.07e6"/>
    <Property name="gov.nasa.worldwind.avkey.ViewClassName" value="gov.nasa.worldwind.view.orbit.BasicOrbitView"/>
    <Property name="gov.nasa.worldwind.avkey.ViewInputHandlerClassName"
              value="gov.nasa.worldwind.view.orbit.OrbitViewInputHandler"/>
    <Property name="gov.nasa.worldwind.avkey.InputHandlerClassName" value="gov.nasa.worldwind.awt.AWTInputHandler"/>
    <Property name="gov.nasa.worldwind.avkey.LoggerName" value="gov.nasa.worldwind"/>
    <Property name="gov.nasa.worldwind.avkey.WorldWindowClassName"
              value="gov.nasa.worldwind.WorldWindowGLAutoDrawable"/>
    <Property name="gov.nasa.worldwind.avkey.ElevationModelFactory"
              value="gov.nasa.worldwind.terrain.BasicElevationModelFactory"/>
    <Property name="gov.nasa.worldwind.avkey.LayerFactory" value="gov.nasa.worldwind.layers.BasicLayerFactory"/>
    <Property name="gov.nasa.worldwind.avkey.ShapefileLayerFactory"
              value="gov.nasa.worldwind.formats.shapefile.ShapefileLayerFactory"/>
    <Property name="gov.nasa.worldwind.avkey.WebViewFactory"
              value="gov.nasa.worldwind.util.webview.BasicWebViewFactory"/>
    <Property name="gov.nasa.worldwind.avkey.TessellatorClassName"
              value="gov.nasa.worldwind.terrain.RectangularTessellator"/>
    <Property name="gov.nasa.worldwind.avkey.MemoryCacheSetClassName"
              value="gov.nasa.worldwind.cache.BasicMemoryCacheSet"/>
    <Property name="gov.nasa.worldwind.avkey.SessionCacheClassName" value="gov.nasa.worldwind.cache.BasicSessionCache"/>
    <Property name="gov.nasa.worldwind.avkey.RetrievalServiceClassName"
              value="gov.nasa.worldwind.retrieve.BasicRetrievalService"/>
    <Property name="gov.nasa.worldwind.avkey.SceneControllerClassName"
              value="gov.nasa.worldwind.StereoOptionSceneController"/>
    <Property name="gov.nasa.worldwind.avkey.NetworkStatusClassName"
              value="gov.nasa.worldwind.util.BasicNetworkStatus"/>
    <Property name="gov.nasa.worldwind.render.PointPlacemarkAttributes.DefaultImagePath"
              value="images/pushpins/plain-yellow.png"/>
    <Property name="gov.nasa.worldwind.render.PointPlacemarkAttributes.DefaultLabelFont"
              value="Arial-BOLD-14"/>
    <!-- The following lists the sites to test for public network access. Specify an empty string, "", for no sites.-->
    <!-- Don't specify the property at all to use the default list. -->
    <Property name="gov.nasa.worldwind.avkey.NetworkStatusTestSites"
              value="www.nasa.gov, worldwind.arc.nasa.gov, google.com, microsoft.com, yahoo.com"/>
    <Property name="gov.nasa.worldwind.avkey.TaskServiceClassName" value="gov.nasa.worldwind.util.ThreadedTaskService"/>
    <Property name="gov.nasa.worldwind.avkey.DataFileStoreClassName"
              value="gov.nasa.worldwind.cache.BasicDataFileStore"/>
    <Property name="gov.nasa.worldwind.avkey.DataRasterReaderFactoryClassName"
              value="gov.nasa.worldwind.data.BasicDataRasterReaderFactory"/>
    <Property name="gov.nasa.worldwind.avkey.DataFileStoreConfigurationFileName" value="config/DataFileStore.xml"/>
    <Property name="gov.nasa.worldwind.avkey.WorldMapImagePath" value="images/earth-map-512x256.dds"/>
    <Property name="gov.nasa.worldwind.StarsLayer.StarsFileName" value="config/Hipparcos_Stars_Mag6x5044.dat"/>
    <!--The following are tuning parameters for various WorldWind internals-->
    <Property name="gov.nasa.worldwind.avkey.RetrievalPoolSize" value="32"/>
    <Property name="gov.nasa.worldwind.avkey.RetrievalQueueSize" value="400"/>
    <Property name="gov.nasa.worldwind.avkey.RetrievalStaleRequestLimit" value="60000"/>
    <Property name="gov.nasa.worldwind.avkey.TaskPoolSize" value="32"/>
    <Property name="gov.nasa.worldwind.avkey.TaskQueueSize" value="60"/>
    <Property name="gov.nasa.worldwind.avkey.ScheduledTaskPoolSize" value="1"/>
    <Property name="gov.nasa.worldwind.avkey.VerticalExaggeration" value="1"/>
    <Property name="gov.nasa.worldwind.avkey.URLConnectTimeout" value="8000"/>
    <Property name="gov.nasa.worldwind.avkey.URLReadTimeout" value="10000"/>
    <Property name="gov.nasa.worldwind.avkey.TextureCacheSize" value="500000000"/>
    <Property name="gov.nasa.worldwind.avkey.ElevationTileCacheSize" value="20000000"/>
    <Property name="gov.nasa.worldwind.avkey.ElevationExtremesLookupCacheSize" value="20000000"/>
    <Property name="gov.nasa.worldwind.avkey.SectorGeometryCacheSize" value="10000000"/>
    <Property name="gov.nasa.worldwind.avkey.TextureTileCacheSize" value="10000000"/>
    <Property name="gov.nasa.worldwind.avkey.PlacenameLayerCacheSize" value="4000000"/>
    <Property name="gov.nasa.worldwind.avkey.AirspaceGeometryCacheSize" value="32000000"/>
    <Property name="gov.nasa.worldwind.avkey.VBOUsage" value="true"/>
    <Property name="gov.nasa.worldwind.avkey.VBOThreshold" value="30"/>
    <Property name="gov.nasa.worldwind.avkey.OfflineMode" value="false"/>
    <Property name="gov.nasa.worldwind.avkey.RectangularTessellatorMaxLevel" value="30"/>
    <Property name="gov.nasa.worldwind.StereoFocusAngle" value="1.6"/>
    <Property name="gov.nasa.worldwind.avkey.ForceRedrawOnMousePressed" value="f"/>
    <!-- Here's one way to specify proxy settings -->
    <!--<Property name="gov.nasa.worldwind.avkey.UrlProxyHost" value="100.215.10.20"/>-->
    <!--<Property name="gov.nasa.worldwind.avkey.UrlProxyPort" value="8080"/>-->
    <!--<Property name="gov.nasa.worldwind.avkey.UrlProxyType" value="Proxy.Type.Http"/>-->

    <!-- Location of icons for MIL-STD-2525C symbol set. This can be a URL to a web server, to a local zip or jar archive.
         See https://goworldwind.org/developers-guide/symbology/tactical-symbols/#offline-use for more information on how
         to configure a local symbol repository.
         Examples: http://myserver.com/milstd2525/   (web server)
                   jar:file:milstd2525-symbols.zip!  (local zip archive)  -->
    <Property name="gov.nasa.worldwind.avkey.MilStd2525IconRetrieverPath"
              value="https://worldwind.arc.nasa.gov/milstd2525c/rev1/"/>
</WorldWindConfiguration>

For testing with the Repast Geography demo, I placed the worldwind.xml file in the geograph.styles folder. And then in the ContextCreator.java add the following:

static
        {
            System.setProperty("gov.nasa.worldwind.app.config.document",
                "geography/styles/worldwind.xml");
        }

This will tell WorldWind where to find the modified worldwind.xml file. You will need to repeat this process for any other Repast model that uses the background NASA layers. Apologies for this clunky workaround. We will fix this in the next Repast release so that you don't need to manually perform these changes.

Eric Tatara
  • 715
  • 3
  • 12