Announcement

Collapse
No announcement yet.

CountryBoundaries and NASAWFSPlaceName Layers

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • CountryBoundaries and NASAWFSPlaceName Layers

    Hello World Wind Community.

    I am working on a world wind project that runs without internet access. I have received the World Wind NAS package and have my own WMS server up and running with blue marble, Landsat7, and ASTER data. It works great.

    My issue is using the PoliticalBoundaries an NASAWFSPlaceName Layers. How do I get these layers' data? I would like to download these in their entirety and host them on my WMS server. I need world wide coverage and it's against the rules to server scrape. These layers have to be orders of magnitude smaller than the landsat data.

    cat worldwind.layers.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <!--$Id: worldwind.layers.xml 687 2012-07-09 20:09:24Z tgaskins $-->
    <!--This document specifies the initial layers to load in World Wind-->
    <!--This list can be overridden by specifying an alternate list in worldwind.xml, or by specifying an-->
    <!--alternate configuration document-->
    <!--See the javadoc for the Configuration class for details-->
    <LayerList>
    <Layer className="gov.nasa.worldwind.layers.Sta rsLayer">
    <!--Individual properties can be specified within Layer entries, like this:-->
    <Property name="Name" value="Stars"/>
    </Layer>
    <Layer className="gov.nasa.worldwind.layers.Sky GradientLayer"/>
    <Layer className="gov.nasa.worldwind.layers.Ear th.BMNGOneImage">
    <Property name="MinActiveAltitude" value="3e6"/>
    </Layer>
    <Layer href="config/Earth/BMNGWMSLayer.xml" actuate="onLoad"/>
    <Layer href="config/Earth/LandsatI3WMSLayer.xml" actuate="onLoad"/>
    <Layer href="config/Earth/USDANAIPWMSImageLayer.xml" actuate="onRequest"/>
    <Layer href="config/Earth/USDANAIPUSGSWMSImageLayer.xml" actuate="onRequest"/>
    <Layer href="config/Earth/MSVirtualEarthAerialLayer.xml" actuate="onRequest"/>
    <Layer href="config/Earth/BingImagery.xml" actuate="onRequest"/>
    <Layer href="config/Earth/USGSTopoLowResLayer.xml" actuate="onRequest"/>
    <Layer href="config/Earth/USGSTopoMedResLayer.xml" actuate="onRequest"/>
    <Layer href="config/Earth/USGSTopoHighResLayer.xml" actuate="onRequest"/>
    <Layer href="config/Earth/USGSUrbanAreaOrthoLayer.xml" actuate="onRequest"/>
    <!--<Layer className="gov.nasa.worldwind.layers.Ear th.OSMMapnikLayer" actuate="onRequest"/>-->
    <!--<Layer className="gov.nasa.worldwind.layers.Ear th.OSMCycleMapLayer" actuate="onRequest"/>-->
    <Layer className="gov.nasa.worldwind.layers.Ear th.CountryBoundariesLayer" actuate="onRequest"/> // LAYERS I WANT
    <Layer className="gov.nasa.worldwind.layers.Ear th.NASAWFSPlaceNameLayer"/> // LAYERS I WANT
    <Layer className="gov.nasa.worldwind.layers.Wor ldMapLayer"/>
    <Layer className="gov.nasa.worldwind.layers.Sca lebarLayer"/>
    <Layer className="gov.nasa.worldwind.layers.Com passLayer"/>
    </LayerList>


    cat CountryBoundariesLayer.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <!--$Id: CountryBoundariesLayer.xml 1 2011-07-16 23:22:47Z dcollins $-->
    <Layer version="1" layerType="TiledImageLayer">
    <DisplayName>Political Boundaries</DisplayName>
    <Service serviceName="OGC:WMS" version="1.3">
    <GetCapabilitiesURL>http://worldwind22.arc.nasa.gov/geoserver/wms</GetCapabilitiesURL>
    <GetMapURL>http://worldwind22.arc.nasa.gov/geoserver/wms</GetMapURL>
    <LayerNames>topp:cia</LayerNames>
    <StyleNames>countryboundaries</StyleNames>
    </Service>
    <!-- day month year hours:minutes:seconds timezone -->
    <LastUpdate>25 11 2009 22:21:47 GMT</LastUpdate>
    <DataCacheName>Earth/PoliticalBoundaries</DataCacheName>
    <ImageFormat>image/png</ImageFormat>
    <AvailableImageFormats>
    <ImageFormat>image/png</ImageFormat>
    </AvailableImageFormats>
    <FormatSuffix>.dds</FormatSuffix>
    <NumLevels count="13" numEmpty="0"/>
    <TileOrigin>
    <LatLon units="degrees" latitude="-90" longitude="-180"/>
    </TileOrigin>
    <LevelZeroTileDelta>
    <LatLon units="degrees" latitude="36" longitude="36"/>
    </LevelZeroTileDelta>
    <TileSize>
    <Dimension width="512" height="512"/>
    </TileSize>
    <Sector>
    <SouthWest>
    <LatLon units="degrees" latitude="-90" longitude="-180"/>
    </SouthWest>
    <NorthEast>
    <LatLon units="degrees" latitude="90" longitude="180"/>
    </NorthEast>
    </Sector>
    <UseTransparentTextures>true</UseTransparentTextures>
    </Layer>

    Thanks in Advance.

  • #2
    For worldwide placenames, just download the bulk from http://www.geonames.org/export/, filter and convert as suitable.

    Comment


    • #3
      Hello. These are the instructions for the legacy placename server that we used based on WFS. Please note! It references old software so you'll need to check for updates. Just in case, I uploaded the source data to the following location (I'm not sure the original source links are still working):
      http://worldwind.arc.nasa.gov/temp/placenamedata/

      1. Install PostgseSQL and PostGIS: Windows install included in backup directory. Go to http://www.postgresql.org/download/ for other OS or newer versions. (8.2.6-2 at time of writing)
      a. On the Windows installation, PostGIS is an option you must select during the install process.
      b. Prompt to create a system user, this is the user for running the service.
      c. Prompt for database user: user to connect to db. (user: postgres and password)

      2. Restore data- The place name data is stored in two databases: places is the original database and geonames is for new data loaded from geonames.org data dump.
      a. go to the command line
      b. first create the geonames db: C:\Program Files\PostgreSQL\8.2\bin>createdb -U postgres geonames
      c. then populate: C:\Program Files\PostgreSQL\8.2\bin>pg_restore -U postgres -d geonames <...>\placename_server_rebuild\geonames_ db_June_2008.backup
      d. create the places db: C:\Program Files\PostgreSQL\8.2\bin>createdb -U postgres places
      e. populate: C:\Program Files\PostgreSQL\8.2\bin>pg_restore -U postgres -d geonames <...>\places_db_June_2008.backup

      3. Now is a good time to install uDig and look at the data.
      a. install uDig-1.1-RC14.exe
      b. "add layer" by connecting to local instance of PostGIS.
      c. select database: geonames or places
      d. select a layer (or all) to add, may take awhile to render.


      4. Install Apache Tomcat
      a. apache-tomcat-6.0.16.exe for Windows in placename_server_rebuild directory.


      5. Install Geoserver
      a. unzip geoserver-1.6.2a-war.zip
      b. deploy war file to apache
      c. copy data_dir from backup directory locally.
      d. Edit web.xml in <apache install>webapps/geoserver/WEB-INF.
      uncomment this section and point to the location of data_dir
      <context-param>
      <param-name>GEOSERVER_DATA_DIR</param-name>
      <param-value><...>\data_dir</param-value>
      </context-param>
      e. Restart apache tomcat


      6. WFS is now running up and running.
      a. Check capabilities
      http://localhost:8080/geoserver/wfs?...etCapabilities

      Comment


      • #4
        Originally posted by Marjan Sterk View Post
        For worldwide placenames, just download the bulk from http://www.geonames.org/export/, filter and convert as suitable.
        Thanks for the info. I will look into that data source.
        Last edited by Zarkon; 09-25-2013, 08:18 PM.

        Comment


        • #5
          Thanks for the informative reply.

          I do have a couple questions and comments about it.

          First off I'm running the world wind WMS server jar on 64 bit Linux. Also, Apache Tomcat is blacklisted so I'm trying to find another way. Is there a way to run the geospacial data with the world wind wms server or do I need a separate server? Forgive me if it's a simple question but I am new to the GIS game.

          Here is my WMS server's capabilities document.

          <WMT_MS_Capabilities version="1.3.0"><Service><Name>OGC:WMS</Name><Title>NASA WorldWind WMS</Title><Abstract>

          </Abstract><KeywordList><Keyword>WMS</Keyword></KeywordList><OnlineResource xlink:type="simple" xlink:href="http://192.168.50.51:8080/wms?"/><ContactInformation><ContactPersonPrima ry><ContactPerson>Lado Garakanidze</ContactPerson><ContactOrganization>NASA WorldWind Project</ContactOrganization></ContactPersonPrimary><ContactPosition/><ContactAddress><AddressType/><Address/><City/><StateOrProvince/><PostCode/><Country/></ContactAddress><ContactVoiceTelephone/><ContactFacsimileTelephone/><ContactElectronicMailAddress/></ContactInformation><Fees>NONE</Fees><AccessConstraints>NONE</AccessConstraints></Service><Capability><Request><GetCapabil ities><Format>application/vnd.ogc.wms_xml</Format><DCPType><HTTP><Get><OnlineResour ce xlink:type="simple" xlink:href="http://192.168.50.51:8080/wms?"/></Get></HTTP></DCPType></GetCapabilities><GetMap><Format>image/dds</Format><Format>image/png</Format><Format>image/jpeg</Format><Format>image/tiff</Format><!-- UNSUPPORTED AS OF YET UNDER NEWER ImageFormatter framework
          <Format>image/bil</Format>
          <Format>image/jpeg</Format>
          <Format>image/geotiff</Format>
          --><DCPType><HTTP><Get><OnlineResource xlink:type="simple" xlink:href="http://192.168.50.51:8080/wms?"/></Get></HTTP></DCPType></GetMap><GetFeatureInfo><Format>text/plain</Format><Format>text/html</Format><Format>application/vnd.ogc.gml</Format><DCPType><HTTP><Get><OnlineResour ce xlink:type="simple" xlink:href="http://192.168.50.51:8080/wms?"/></Get><Post><OnlineResource xlink:type="simple" xlink:href="http://192.168.50.51:8080/wms?"/></Post></HTTP></DCPType></GetFeatureInfo></Request><Exception><Format>application/vnd.ogc.se_xml</Format></Exception><UserDefinedSymbolization SupportSLD="1" UserLayer="1" UserStyle="1" RemoteWFS="0"/><Layer><Title>NASA WorldWind WMS</Title><Abstract>

          </Abstract><CRS>EPSG:4326</CRS><!--common SRS -All supported EPSG projections?
          <SRS>EPSG:2000</SRS>
          <SRS>EPSG:2001</SRS>
          <SRS>EPSG:2002</SRS>
          <SRS>EPSG:2003</SRS>
          ...many, many SRSs reported...
          --><!--
          <LatLonBoundingBox minx="-180.0" miny="-90.0" maxx="180.0" maxy="90.0"/>
          --><Layer queryable="false"><Name>usda_naip_low_re s</Name><Title>USDA NAIP (low resolution)</Title><Abstract>USDA NAIP (low resolution)</Abstract><CRS>EPSG:4326</CRS><EX_GeographicBoundingBox><westBound Longitude>-125.0</westBoundLongitude><eastBoundLongitude>-66.0</eastBoundLongitude><southBoundLatitude>2 4.0</southBoundLatitude><northBoundLatitude>5 0.0</northBoundLatitude></EX_GeographicBoundingBox><BoundingBox miny="24.0" minx="-125.0" maxy="50.0" maxx="-66.0" CRS="EPSG:4326"/><LastUpdate>1238025600000</LastUpdate><MissingDataSignal>-9999</MissingDataSignal></Layer><Layer queryable="false"><Name>bmng200406</Name><Title>Blue Marble NG 2004.06</Title><Abstract>Blue Marble NG 2004.06</Abstract><CRS>EPSG:4326</CRS><EX_GeographicBoundingBox><westBound Longitude>-180.0</westBoundLongitude><eastBoundLongitude>1 80.0</eastBoundLongitude><southBoundLatitude>-90.0</southBoundLatitude><northBoundLatitude>9 0.0</northBoundLatitude></EX_GeographicBoundingBox><BoundingBox miny="-90.0" minx="-180.0" maxy="90.0" maxx="180.0" CRS="EPSG:4326"/><LastUpdate>1238025600000</LastUpdate><MissingDataSignal>-9999</MissingDataSignal></Layer><Layer queryable="false"><Name>bmng200405</Name><Title>Blue Marble NG 2004.05</Title><Abstract>Blue Marble NG 2004.05</Abstract><CRS>EPSG:4326</CRS><EX_GeographicBoundingBox><westBound Longitude>-180.0</westBoundLongitude><eastBoundLongitude>1 80.0</eastBoundLongitude><southBoundLatitude>-90.0</southBoundLatitude><northBoundLatitude>9 0.0</northBoundLatitude></EX_GeographicBoundingBox><BoundingBox miny="-90.0" minx="-180.0" maxy="90.0" maxx="180.0" CRS="EPSG:4326"/><LastUpdate>1238025600000</LastUpdate><MissingDataSignal>-9999</MissingDataSignal></Layer><Layer queryable="false"><Name>bmng200409</Name><Title>Blue Marble NG 2004.09</Title><Abstract>Blue Marble NG 2004.09</Abstract><CRS>EPSG:4326</CRS><EX_GeographicBoundingBox><westBound Longitude>-180.0</westBoundLongitude><eastBoundLongitude>1 80.0</eastBoundLongitude><southBoundLatitude>-90.0</southBoundLatitude><northBoundLatitude>9 0.0</northBoundLatitude></EX_GeographicBoundingBox><BoundingBox miny="-90.0" minx="-180.0" maxy="90.0" maxx="180.0" CRS="EPSG:4326"/><LastUpdate>1238025600000</LastUpdate><MissingDataSignal>-9999</MissingDataSignal></Layer><Layer queryable="false"><Name>esat</Name><Title>i-cubed Landsat</Title><Abstract>i-cubed Landsat</Abstract><CRS>EPSG:4326</CRS><EX_GeographicBoundingBox><westBound Longitude>-180.0</westBoundLongitude><eastBoundLongitude>1 80.0</eastBoundLongitude><southBoundLatitude>-60.0</southBoundLatitude><northBoundLatitude>8 4.0</northBoundLatitude></EX_GeographicBoundingBox><BoundingBox miny="-60.0" minx="-180.0" maxy="84.0" maxx="180.0" CRS="EPSG:4326"/><LastUpdate>1252512549000</LastUpdate><MissingDataSignal>-9999</MissingDataSignal></Layer><Layer queryable="false"><Name>bmng200404</Name><Title>Blue Marble NG 2004.04</Title><Abstract>Blue Marble NG 2004.04</Abstract><CRS>EPSG:4326</CRS><EX_GeographicBoundingBox><westBound Longitude>-180.0</westBoundLongitude><eastBoundLongitude>1 80.0</eastBoundLongitude><southBoundLatitude>-90.0</southBoundLatitude><northBoundLatitude>9 0.0</northBoundLatitude></EX_GeographicBoundingBox><BoundingBox miny="-90.0" minx="-180.0" maxy="90.0" maxx="180.0" CRS="EPSG:4326"/><LastUpdate>1238025600000</LastUpdate><MissingDataSignal>-9999</MissingDataSignal></Layer><Layer queryable="false"><Name>bmng200411</Name><Title>Blue Marble NG 2004.11</Title><Abstract>Blue Marble NG 2004.11</Abstract><CRS>EPSG:4326</CRS><EX_GeographicBoundingBox><westBound Longitude>-180.0</westBoundLongitude><eastBoundLongitude>1 80.0</eastBoundLongitude><southBoundLatitude>-90.0</southBoundLatitude><northBoundLatitude>9 0.0</northBoundLatitude></EX_GeographicBoundingBox><BoundingBox miny="-90.0" minx="-180.0" maxy="90.0" maxx="180.0" CRS="EPSG:4326"/><LastUpdate>1238025600000</LastUpdate><MissingDataSignal>-9999</MissingDataSignal></Layer><Layer queryable="false"><Name>bmng200410</Name><Title>Blue Marble NG 2004.10</Title><Abstract>Blue Marble NG 2004.10</Abstract><CRS>EPSG:4326</CRS><EX_GeographicBoundingBox><westBound Longitude>-180.0</westBoundLongitude><eastBoundLongitude>1 80.0</eastBoundLongitude><southBoundLatitude>-90.0</southBoundLatitude><northBoundLatitude>9 0.0</northBoundLatitude></EX_GeographicBoundingBox><BoundingBox miny="-90.0" minx="-180.0" maxy="90.0" maxx="180.0" CRS="EPSG:4326"/><LastUpdate>1238025600000</LastUpdate><MissingDataSignal>-9999</MissingDataSignal></Layer><Layer queryable="false"><Name>bmng200403</Name><Title>Blue Marble NG 2004.03</Title><Abstract>Blue Marble NG 2004.03</Abstract><CRS>EPSG:4326</CRS><EX_GeographicBoundingBox><westBound Longitude>-180.0</westBoundLongitude><eastBoundLongitude>1 80.0</eastBoundLongitude><southBoundLatitude>-90.0</southBoundLatitude><northBoundLatitude>9 0.0</northBoundLatitude></EX_GeographicBoundingBox><BoundingBox miny="-90.0" minx="-180.0" maxy="90.0" maxx="180.0" CRS="EPSG:4326"/><LastUpdate>1238025600000</LastUpdate><MissingDataSignal>-9999</MissingDataSignal></Layer><Layer queryable="false"><Name>bmng200412</Name><Title>Blue Marble NG 2004.12</Title><Abstract>Blue Marble NG 2004.12</Abstract><CRS>EPSG:4326</CRS><EX_GeographicBoundingBox><westBound Longitude>-180.0</westBoundLongitude><eastBoundLongitude>1 80.0</eastBoundLongitude><southBoundLatitude>-90.0</southBoundLatitude><northBoundLatitude>9 0.0</northBoundLatitude></EX_GeographicBoundingBox><BoundingBox miny="-90.0" minx="-180.0" maxy="90.0" maxx="180.0" CRS="EPSG:4326"/><LastUpdate>1238025600000</LastUpdate><MissingDataSignal>-9999</MissingDataSignal></Layer><Layer queryable="false"><Name>bmng200402</Name><Title>Blue Marble NG 2004.02</Title><Abstract>Blue Marble NG 2004.02</Abstract><CRS>EPSG:4326</CRS><EX_GeographicBoundingBox><westBound Longitude>-180.0</westBoundLongitude><eastBoundLongitude>1 80.0</eastBoundLongitude><southBoundLatitude>-90.0</southBoundLatitude><northBoundLatitude>9 0.0</northBoundLatitude></EX_GeographicBoundingBox><BoundingBox miny="-90.0" minx="-180.0" maxy="90.0" maxx="180.0" CRS="EPSG:4326"/><LastUpdate>1238025600000</LastUpdate><MissingDataSignal>-9999</MissingDataSignal></Layer><Layer queryable="false"><Name>bmng200401</Name><Title>Blue Marble NG 2004.01</Title><Abstract>Blue Marble NG 2004.01</Abstract><CRS>EPSG:4326</CRS><EX_GeographicBoundingBox><westBound Longitude>-180.0</westBoundLongitude><eastBoundLongitude>1 80.0</eastBoundLongitude><southBoundLatitude>-90.0</southBoundLatitude><northBoundLatitude>9 0.0</northBoundLatitude></EX_GeographicBoundingBox><BoundingBox miny="-90.0" minx="-180.0" maxy="90.0" maxx="180.0" CRS="EPSG:4326"/><LastUpdate>1238025600000</LastUpdate><MissingDataSignal>-9999</MissingDataSignal></Layer><Layer queryable="false"><Name>bmng200407</Name><Title>Blue Marble NG 2004.07</Title><Abstract>Blue Marble NG 2004.07</Abstract><CRS>EPSG:4326</CRS><EX_GeographicBoundingBox><westBound Longitude>-180.0</westBoundLongitude><eastBoundLongitude>1 80.0</eastBoundLongitude><southBoundLatitude>-90.0</southBoundLatitude><northBoundLatitude>9 0.0</northBoundLatitude></EX_GeographicBoundingBox><BoundingBox miny="-90.0" minx="-180.0" maxy="90.0" maxx="180.0" CRS="EPSG:4326"/><LastUpdate>1238025600000</LastUpdate><MissingDataSignal>-9999</MissingDataSignal></Layer><Layer queryable="false"><Name>bmng200408</Name><Title>Blue Marble NG 2004.08</Title><Abstract>Blue Marble NG 2004.08</Abstract><CRS>EPSG:4326</CRS><EX_GeographicBoundingBox><westBound Longitude>-180.0</westBoundLongitude><eastBoundLongitude>1 80.0</eastBoundLongitude><southBoundLatitude>-90.0</southBoundLatitude><northBoundLatitude>9 0.0</northBoundLatitude></EX_GeographicBoundingBox><BoundingBox miny="-90.0" minx="-180.0" maxy="90.0" maxx="180.0" CRS="EPSG:4326"/><LastUpdate>1238025600000</LastUpdate><MissingDataSignal>-9999</MissingDataSignal></Layer></Layer></Capability></WMT_MS_Capabilities>


          Thanks in advance

          Comment


          • #6
            The original Java based WMS server does not know how to interpret place name data. We happened to use GeoServer at the time for WFS traffic but there may be other systems like Map Server that might serve your needs.

            We have moved our imagery and elevation data services to Map Server. We made this change because it made significant progress for performance, stability and the ability to absorb a large variety of data where as before, our custom Java server required a change to the code for every new layer of data.

            We would like to update anyone who picked up a kit from us when we're ready to do so. I've been saying for awhile it's basically ready but would like to take time to ensure instructions are bullet proof.

            Comment

            Working...
            X