[Geoserver-devel] How to get fast access to DEM pixels with Geoserver?

Hi,

There has been some brainstorming about how to get a fast access to DEM height values with GDAL without running a special GIS server http://thread.gmane.org/gmane.comp.gis.gdal.devel/36544

My conclusion was that the non-server solution will not be very effective and I continued to think how to get fast access with running a GIS server. DEM is a coverage and WCS is made for coverages but it is not planned for making queries by point. GetFeatureInfo is made for point queries and it is also quite fast in finding pixel values but the syntax of the request is pretty odd if someone wants to utilize it like a REST service. If DEM was a polygon layer then Geoserver WFS with CQL and Intersects filter could be usable for automated requests. Unfortunately the DEM of the USA consists of 61000 raster files in BIL format and converting all the data into for example PostGIS polygon table feels like a heavy job.

What would be your favorite way to do fast point queries from a big DEM?

-Jukka Rahkonen-

One way is a raster coverage with a single high precision band. Here is the state of Oklahoma LIDAR data as a 2 meter DEM. Click anywhere and you get the elevation (actually the pixel value) in meters at any zoom level.

http://204.62.18.181/OGI/search.aspx?mapcenterlon=-98.499999999999&mapcenterlat=35.49&mapscale=7&Layers=58d1fa5c-6eb4-4b95-9f42-69cd7277e15d%2C6a929ec5-a0fa-44f8-aba9-21e4ba21a233%2C&maptype=OLMap

Roger

ยทยทยท

On Tue, Feb 4, 2014 at 2:52 PM, Rahkonen Jukka (Tike) <jukka.rahkonen@anonymised.com> wrote:

Hi,

There has been some brainstorming about how to get a fast access to DEM height values with GDAL without running a special GIS server http://thread.gmane.org/gmane.comp.gis.gdal.devel/36544

My conclusion was that the non-server solution will not be very effective and I continued to think how to get fast access with running a GIS server. DEM is a coverage and WCS is made for coverages but it is not planned for making queries by point. GetFeatureInfo is made for point queries and it is also quite fast in finding pixel values but the syntax of the request is pretty odd if someone wants to utilize it like a REST service. If DEM was a polygon layer then Geoserver WFS with CQL and Intersects filter could be usable for automated requests. Unfortunately the DEM of the USA consists of 61000 raster files in BIL format and converting all the data into for example PostGIS polygon table feels like a heavy job.

What would be your favorite way to do fast point queries from a big DEM?

-Jukka Rahkonen-


Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121051231&iu=/4140/ostg.clktrk


Geoserver-devel mailing list
Geoserver-devel@anonymised.comsts.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

On Tue, Feb 4, 2014 at 2:52 PM, Rahkonen Jukka (Tike) <
jukka.rahkonen@anonymised.com> wrote:

Hi,

There has been some brainstorming about how to get a fast access to DEM
height values with GDAL without running a special GIS server
http://thread.gmane.org/gmane.comp.gis.gdal.devel/36544

My conclusion was that the non-server solution will not be very effective
and I continued to think how to get fast access with running a GIS server.
DEM is a coverage and WCS is made for coverages but it is not planned for
making queries by point. GetFeatureInfo is made for point queries and it is
also quite fast in finding pixel values but the syntax of the request is
pretty odd if someone wants to utilize it like a REST service. If DEM was
a polygon layer then Geoserver WFS with CQL and Intersects filter could be
usable for automated requests. Unfortunately the DEM of the USA consists of
61000 raster files in BIL format and converting all the data into for
example PostGIS polygon table feels like a heavy job.

I'd go for a image mosaic, at any point we have to open a single file, that
should not be too much of a burden (well, it depends on how fast you want
it to be),
and then build a GetFeatureInfo. Assuming you want to query coordinate qx,
qy, it would have to contain:

&bbox=qx-delta,qy-delta,qx+detal,qy+delta&width=11&height=11&x=qx&y=qy

and ask for a GML output format.
To improve speed you could turn all the BIL files into a smaller set of
tiled BigTiff files.

Cheers
Andrea

--
== Our support, Your Success! Visit http://opensdi.geo-solutions.it for
more information ==

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

-------------------------------------------------------