How do I connect to a local elevation server?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了How do I connect to a local elevation server?相关的知识,希望对你有一定的参考价值。
How do I connect to a local elevation server?
Hi,
Since I was having problems using public elevation servers I created one of our own using arcgis. First I generated some tiffs and used gdal to get elevation up and running. This .earth file works and I see elevation just fine. (Elev1.tif is a heightfield). <map name="test" type="geocentric"> <profile>global-geodetic</profile> <image name="world1" driver="gdal"> <url>../../data/Terrain/world/world1.tif</url> <tile_size>256</tile_size> </image> <heightfield name="world1" driver="gdal"> <url>../../data/Terrain/world/Elev1.tif</url> <tile_size>16</tile_size> </heightfield> </map> Next, I tried to connect to the server itself but can‘t seem to get the .earth file right.... <map name="test" type="geocentric"> <heightfield name="world1" driver="wms"> <url>http://gems2/ArcGIS/services/Elevation/MapServer/WMSServer</url> <format>tiff</format> </heightfield> </map> I‘m seeing the following errors printed out... TIFF loader: Error opening file TIFF loader: Error opening file TIFF loader: Error opening file TIFF loader: Error opening file Couldn‘t get tile for 0_0_0 TIFF loader: Error opening file TIFF loader: Error opening file TIFF loader: Error opening file TIFF loader: Error opening file Couldn‘t get tile for 0_1_0 Thoughts? Thanks, Brett |
jasonbeverage |
Mar 18, 2009; 10:23pm
Re: How do I connect to a local elevation server?
Hi Brett,
For the WMS driver to work, you need to specify the layers from the WMS to query. So if your elevation layer is called "elevation" then you need to add: <layers>elevation</layers> to your heightfield element to work correctly. You can see an example of this at: http://wush.net/trac/osgearth/wiki/TileSourcePluginWMS Let us know how it goes! Thanks! Jason On Wed, Mar 18, 2009 at 10:02 AM, brett (via Nabble) - No Reply <[hidden email]> wrote:
Hi, ... [show rest of quote]
|
jasonbeverage |
Mar 18, 2009; 10:25pm
Re: How do I connect to a local elevation server?
In reply to this post by brett
Hi Brett,
Forgot to mention, for the WMS elevation, you‘ll probably also want add a <tile_size>16</tile_size> to keep the keep the terrain tile sizes reasonable. Thanks! Jason On Wed, Mar 18, 2009 at 10:23 AM, Jason Beverage <[hidden email]> wrote:
Hi Brett, ... [show rest of quote]
|
In reply to this post by brett
Jason,
OK, thanks. One step forward... My map file now uses the heightfield as imagery so I can easily find the areas with big elevations. <map name="test" type="geocentric"> <image name="vmap0" driver="wms"> <url>http://XXXXX/ArcGIS/services/Elevation/MapServer/WMSServer</url> <layers>0</layers> <format>png</format> <tile_size>256</tile_size> </image> <heightfield name="world1" driver="wms"> <url>http://XXXXX/ArcGIS/services/Elevation/MapServer/WMSServer</url> <layers>0</layers> <format>tiff</format> <tile_size>16</tile_size> </heightfield> </map> When I run this I see no elevation neither with osgviewer. Because I see elevation when I connect to the pelican server (except those rare cases when the nextwork gives me trouble) I believe this to be a configuration problem with my .earth file or wms server. Anyway to tell? Thanks, Brett |
Brett, can you post your WMS capabilities XML? thanks
http://XXXXX/ArcGIS/services/Elevation/MapServer/WMSServer?request=GetCapabilities Glenn Waldron / Pelican Mapping / @glennwaldron
|
Hey Glenn,
Here are the WMS server capabilities: <?xml version="1.0" encoding="UTF-8"?> <WMS_Capabilities version="1.3.0" xmlns="http://www.opengis.net/wms" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wms http://schemas.opengis.net/wms/1.3.0/capabilities_1_3_0.xsd"> <Service> <Name>WMS</Name> <Title>Elevation</Title> <Abstract>WMS</Abstract> <KeywordList><Keyword></Keyword></KeywordList> <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://gems2/ArcGIS/services/Elevation/MapServer/WMSServer"/> <ContactInformation> <ContactPersonPrimary> <ContactPerson></ContactPerson> <ContactOrganization></ContactOrganization> </ContactPersonPrimary> <ContactPosition></ContactPosition> <ContactAddress> <AddressType></AddressType> <Address></Address> <City></City> <StateOrProvince></StateOrProvince> <PostCode></PostCode> <Country></Country> </ContactAddress> <ContactVoiceTelephone></ContactVoiceTelephone> <ContactFacsimileTelephone></ContactFacsimileTelephone> <ContactElectronicMailAddress></ContactElectronicMailAddress> </ContactInformation> <Fees></Fees> <AccessConstraints></AccessConstraints> <MaxWidth>2048</MaxWidth> <MaxHeight>2048</MaxHeight> </Service> <Capability> <Request> <GetCapabilities> <Format>application/vnd.ogc.wms_xml</Format> <Format>text/xml</Format> <DCPType> <HTTP><Get><OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://gems2/ArcGIS/services/Elevation/MapServer/WMSServer"/></Get></HTTP> </DCPType> </GetCapabilities> <GetMap> <Format>image/bmp</Format> <Format>image/jpeg</Format> <Format>image/tiff</Format> <Format>image/png</Format> <Format>image/gif</Format> <Format>image/svg+xml</Format> <DCPType> <HTTP><Get><OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://gems2/ArcGIS/services/Elevation/MapServer/WMSServer"/></Get></HTTP> </DCPType> </GetMap> <GetFeatureInfo> <Format>application/vnd.ogc.wms_xml</Format> <Format>text/xml</Format> <Format>text/html</Format> <Format>text/plain</Format> <DCPType> <HTTP><Get><OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://gems2/ArcGIS/services/Elevation/MapServer/WMSServer"/></Get></HTTP> </DCPType> </GetFeatureInfo> </Request> <Exception> <Format>application/vnd.ogc.se_xml</Format> <Format>application/vnd.ogc.se_inimage</Format> <Format>application/vnd.ogc.se_blank</Format> <Format>text/xml</Format> <Format>XML</Format> </Exception> <Layer> <Title>Layers</Title> <CRS>CRS:84</CRS> <CRS>EPSG:4326</CRS> <EX_GeographicBoundingBox> <westBoundLongitude>-198.000002</westBoundLongitude> <eastBoundLongitude>198.000019</eastBoundLongitude> <southBoundLatitude>-99.000002</southBoundLatitude> <northBoundLatitude>99.000009</northBoundLatitude> </EX_GeographicBoundingBox> <BoundingBox CRS="CRS:84" minx="-198.000002" miny="-99.000002" maxx="198.000019" maxy="99.000009"/> <BoundingBox CRS="EPSG:4326" minx="-99.000002" miny="-198.000002" maxx="99.000009" maxy="198.000019"/> <Layer> <Name>0</Name> <Title>con_isnull_g1</Title> <Abstract>con_isnull_g1</Abstract> <CRS>CRS:84</CRS> <CRS>EPSG:4326</CRS> <EX_GeographicBoundingBox> <westBoundLongitude>-180.000001</westBoundLongitude> <eastBoundLongitude>180.000018</eastBoundLongitude> <southBoundLatitude>-90.000001</southBoundLatitude> <northBoundLatitude>90.000008</northBoundLatitude> </EX_GeographicBoundingBox> <BoundingBox CRS="CRS:84" minx="-180.000001" miny="-90.000001" maxx="180.000018" maxy="90.000008"/> <BoundingBox CRS="EPSG:4326" minx="-90.000001" miny="-180.000001" maxx="90.000008" maxy="180.000018"/> <Style> <Name>default</Name> <Title>con_isnull_g1</Title> <LegendURL width="100" height="97"> <Format>image/png</Format> <OnlineResource xlink:href="http://gems2/arcgisoutput/Elevation_MapServer/wms/default0.png" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" /> </LegendURL> </Style> </Layer> </Layer> </Capability> </WMS_Capabilities> Does this tell you anything useful? Thanks, Brett |
Brett,
This might be an ArcGIS Server issue. I ran a test, adding some 1-channel 32-bit float SRTM data to an MXD and publishing as a Map service. The resulting TIFFs are RGB 3-channel, not 1-channel. In other words, AGS rendered the elevation data to a regular image, making it useless to osgEarth. (Side note: in MapServer, the open source WMS server, you can explicitly configure the output formats and achieve the desired effect.) I don‘t see a way offhand to configure AGS to do this. An alternative would be to publish the layer as a WCS service (which provides raw access to the source data). However ... the osgEarth WCS driver is not mature yet and will probably require some addition work on our end. |
以上是关于How do I connect to a local elevation server?的主要内容,如果未能解决你的问题,请参考以下文章
How do I get notifications for commits to a repository?
How do I get add-apt-repository to work through a proxy?
How to do if the GM MDI cant connect with the software
How do I force android WiFi Direct group owner to use 2.4 GHz instead of 5 GHz