Contours– Symbolized from a single table

In a previous post, I restructured the contour data for display in GeoServer, e.g.: UPDATE base.contours_2 SET div_10 = CAST( contours_2.elevation % 10 AS BOOLEAN ), div_20 = CAST( contours_2.elevation % 20 AS BOOLEAN ), div_50 = CAST( contours_2.elevation % 50 AS BOOLEAN ), div_100 = CAST( contours_2.elevation % 100 AS BOOLEAN ), div_250 = CAST( contours_2.elevation % 250 AS BOOLEAN ); The SLD styling … Continue reading Contours– Symbolized from a single table

WMS vs. WMTS and GetFeatureInfo Requests

How to get GetFeatureInfo requests to perform against GeoWebCache?  Just don’t.  I’m unclear as to whether it is problematic to do this because of a known bug or known implementation differences between the (unofficial) WMTS standard as implemented by OpenLayers and GeoServer, but in Googling for answers to how to perform a GetFeatureInfo request against GeoWebCache, I discovered a workaround (logged here for example).  The … Continue reading WMS vs. WMTS and GetFeatureInfo Requests

GeoWebCache Configuration

I’ve long delayed the configuration of GeoWebCache (GWC).  Automatic configuration within GeoServer’s deployment of it has been adequate until now.   Until now that I want to deploy tiles in something other than Google Mercator… . I’ve developed a cache setup for Ohio State Plane North, Feet (epsg:3734).  At first it was a going to be a cache just for our service area, then I thought … Continue reading GeoWebCache Configuration

Contours– Structuring PostGIS data for viewing with GeoServer

Naively structured data is my bane– the desire (and need) to get stuff done so often overtakes the time needed to do things the better way. So, we bootstrap. A long time ago, we managed to load in a few tens of gigs of contour data into PostGIS, partitioned it into 2ft, 10ft, 20ft, 50ft, 100ft and 250ft tables using select queries with a modulus … Continue reading Contours– Structuring PostGIS data for viewing with GeoServer

SLD for contour data

See other post for explanation: <?xml version=”1.0″ encoding=”ISO-8859-1″?> <StyledLayerDescriptor version=”1.0.0″ xmlns=”http://www.opengis.net/sld&#8221; xmlns:ogc=”http://www.opengis.net/ogc&#8221; xmlns:xlink=”http://www.w3.org/1999/xlink&#8221; xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance&#8221; xsi:schemaLocation=”http://www.opengis.net/sld http://schemas.opengis.net/sld/1.0.0/StyledLayerDescriptor.xsd”&gt; <NamedLayer> <Name>contours</Name> <UserStyle> <Title>contours</Title> <Abstract>Contour lines with index</Abstract> <FeatureTypeStyle> <Rule> <Name>rule01</Name> <Title>2 ft contours</Title> <Abstract>Abstract</Abstract> <ogc:Filter> <ogc:PropertyIsEqualTo> <ogc:PropertyName>div_10</ogc:PropertyName> <ogc:Literal>1</ogc:Literal> </ogc:PropertyIsEqualTo> </ogc:Filter> <MinScaleDenominator>1</MinScaleDenominator> <MaxScaleDenominator>4799</MaxScaleDenominator> <LineSymbolizer> <Stroke> <CssParameter name=”stroke”> <ogc:Literal>#ffd700</ogc:Literal> </CssParameter> <CssParameter name=”stroke-linecap”> <ogc:Literal>butt</ogc:Literal> </CssParameter> <CssParameter name=”stroke-linejoin”> <ogc:Literal>miter</ogc:Literal> </CssParameter> <CssParameter name=”stroke-width”> <ogc:Literal>1</ogc:Literal> </CssParameter> </Stroke> </LineSymbolizer> </Rule> <Rule> <Name>rule02</Name> <Title>10 ft contours … Continue reading SLD for contour data

GeoServer and efficient delivery of raster data (image pyramid layer)

One thing I’ve learned in the last few years is that there is no theoretical reason why (properly indexed and summarized) data cannot be displayed at all scales as quickly as at any scale. This is the principle at work behind the extraordinary efficiencies of delivering data and imagery through a slippy map interface like Google, Bing, and OpenLayers as well as efficient thick client … Continue reading GeoServer and efficient delivery of raster data (image pyramid layer)

GeoServer Optimization

As we move away from a simple stack of PostGIS/GeoServer/GeoWebCache/Openlayers to wrapping a MapFish print service into the stack, it’s time to think more seriously about optimizing and stabilizing GeoServer. In preparation for this step, I’ve been setting up a series of VMWare ESX-hosted Debian Linux VMs to function as the cluster of geospatial services. Fortunately for me, there’s plenty of great advice in Andre … Continue reading GeoServer Optimization

POV-ray for GIS Visualization

This is a “wouldn’t it be nice” post– i.e. a I-don’t-have-time-to-write-it-and-everything-else-on-my-list post. Wouldn’t it be nice if in addition to returning GeoRSS, WFS, OGC, KML, etc. GeoServer returned a POV-Ray file? It could be returned as part of a simple GET post like this: http://localhost:8080/geoserver/wms?bbox=2100506,575982,2290532,739026&styles=&Format=application/povray&request=GetMap&version=1.1.1&layers=base:contours&width=800&height=644&srs=EPSG:102722&camera=2195519,657504,1000&look_at=2195029,657004,500 Vector symbolization could be a POV-Ray approximation of the WFS render styles using coordinates and POV primitives. Also, a PHP … Continue reading POV-ray for GIS Visualization