#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, чтобы вам не нужно было вручную вносить эти изменения.