Repast Не отображает фоновые карты в файлах примеров

#gis #simulation #repast-simphony

Вопрос:

Я совершенно новичок в Трапезе и заинтересован в том, чтобы в конечном итоге создать симуляцию морского движения в Арктике. Я просматриваю «Примеры импортной трапезы», и ни одна из моделей, которые я просматриваю, не отображает карты на дисплее моделирования. Например, этот снимок демо-версии Geotracks показывает, что карта blue marble явно не загружается. Отсутствуют Фоновые Карты

В демонстрации географии виден небольшой эскиз Чикаго, но ни одной из окружающих карт. Демонстрация географии трапезы

Я не смог найти никакой документации для устранения этой проблемы. Когда я перехожу к настройке отображения ГИС, кажется, что файлы включены, поэтому я не знаю, что еще нужно сделать для устранения неполадок. Параметры отображения

Вот изображение ошибок консоли, которые я получаю. введите описание изображения здесь

Я установил Repast, используя параметры установки по умолчанию для Windows.

Комментарии:

1. Есть ли какие-либо сообщения об ошибках в консоли Eclipse? Некоторые фоновые слои, такие как изображения Bing, запрашивают данные с онлайн-серверов, и если возникнет проблема с подключением к серверу, слой не появится. Однако слой синего мрамора должен отображаться так, как это локальное изображение в комплекте с едой. Пожалуйста, проверьте консоль Eclipse на наличие любых ошибок с OpenGL, которые требуются для отображения ГИС.

2. Я не получаю никаких ошибок, ссылающихся на OpenGL, но я получаю: ПРЕДУПРЕЖДЕНИЕ: Произошла незаконная операция отражающего доступа ПРЕДУПРЕЖДЕНИЕ: Незаконный отражающий доступ со стороны com.thoughtworks.xstream.core.util. Поля (file:/C:/Users/…/RepastSimphony-2.8/eclipse/plugins/repast.simphony.runtime_2.8.0/lib/xstream-1.4.7.jar) в поле java.util. ПРЕДУПРЕЖДЕНИЕ TreeMap.comparator: Пожалуйста, подумайте о том, чтобы сообщить об этом сопровождающим com.thoughtworks.xstream.core.util. Поля ПРЕДУПРЕЖДЕНИЕ: Используйте —незаконный доступ=предупреждение, чтобы включить предупреждения о дальнейших незаконных операциях отражающего доступа

3. А также ошибка: СЕРЬЕЗНАЯ: Поиск не удался для worldwind26.arc.nasa.gov/elev? ИСКЛЮЧЕНИЯ=приложение/… 03 сентября 2021 г. 9:54:53 правительство.nasa.worldwind.util. SessionCacheUtils извлекает данные сеанса СЕРЬЕЗНОЕ: Исключение при извлечении ресурсов для worldwind26.arc.nasa.gov/elev? ИСКЛЮЧЕНИЯ=приложение/… java.net.SocketTimeoutException: Время ожидания чтения истекло

4. Я дважды удалил и переустановил Repast, убедившись, что сделал установку по умолчанию, которая устанавливает по умолчанию JDK….am Я упускаю что-то очевидное? У меня был приятель, который попробовал установить на независимую машину, и у нее была та же проблема.

Ответ №1:

Я могу воспроизвести эту проблему. Слои фоновой карты предоставляются службой NASA WorldWind, и, похоже, серверы иногда работают медленно или не отвечают. Эти данные предоставляются третьими лицами, и команда Repast не имеет прямого контроля над предоставлением фоновых слоев карты. Похоже, что есть решение, опубликованное одним из их разработчиков здесь: https://github.com/NASAWorldWind/WorldWindJava/issues/219 в которой они описывают, как улучшить некоторые свойства сети WorldWind, чтобы помочь с медленными серверами, и я проверил, что это работает.

Вам нужно будет скопировать приведенное ниже в файл с именем «worldwind.xml» в вашем проекте:

 <?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>
 

Для тестирования с демонстрацией географии трапезы я разместил worldwind.xml файл в папке geograph.styles. А затем в ContextCreator.java добавьте следующее:

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

Это подскажет Мировому ветру, где найти измененный worldwind.xml файл. Вам нужно будет повторить этот процесс для любой другой модели застолья, в которой используются фоновые слои NASA. Приношу извинения за этот неуклюжий обходной путь. Мы исправим это в следующем выпуске Repast, чтобы вам не нужно было вручную вносить эти изменения.