wiki:HowToViewSpatialIndexUsingGeoServerWMS

Version 1 (modified by fxp, 15 years ago) ( diff )

--

Note: Warning: Using this, all metadata record's bounding box will be visible to all. Spatial index contains all metadata record and the WMS will not take care of filtering bounding box according to privileges.

How-to browse your GeoNetwork spatial index using WMS in GeoServer ?

Create a link between spatial index directory to GeoServer data directory

cd trunk/data/geoserver_data/data
ln -s ../../../web/geonetwork/WEB-INF/lucene/spatial/ spatialindex

Configure GeoServer to deploy the spatial index shapefile

Really simple SLD style

<?xml version="1.0" encoding="ISO-8859-1"?>
<StyledLayerDescriptor version="1.0.0" xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc"
  xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.opengis.net/sld http://schemas.opengis.net/sld/1.0.0/StyledLayerDescriptor.xsd">
  <NamedLayer>
    <Name>Catalogue bounding box style</Name>
    <UserStyle>
      <Title>Catalogue</Title>
      <Abstract></Abstract>
      <FeatureTypeStyle>
        <Rule>
          <Title>Polygon</Title>
          <PolygonSymbolizer>
            <Stroke>
              <CssParameter name="stroke">#000000</CssParameter>
              <CssParameter name="stroke-width">3</CssParameter>
            </Stroke>
          </PolygonSymbolizer>
          <TextSymbolizer>
            <Label>
              <ogc:PropertyName>id</ogc:PropertyName>
            </Label>
            <Font>
              <CssParameter name="font-family">Times New Roman</CssParameter>
              <CssParameter name="font-style">Normal</CssParameter>
              <CssParameter name="font-size">14</CssParameter>
            </Font>
            <LabelPlacement>
              <PointPlacement>
                <AnchorPoint>
                  <AnchorPointX>0.5</AnchorPointX>
                  <AnchorPointY>0.5</AnchorPointY>
                </AnchorPoint>
              </PointPlacement>
            </LabelPlacement>
          </TextSymbolizer>
        </Rule>

      </FeatureTypeStyle>
    </UserStyle>
  </NamedLayer>
</StyledLayerDescriptor>

Access the WMS using a WMS client (eg. OpenLayers, Google Earth) =

OpenLayers

Google Earth

You could use GeoServer KML templating system in order to style your KML. On issue will be that only the metadata record ID (internal GeoNetwork identifier) is available.

KML Demo template:

  • title
    Metadata: ${id.value}
    
  • description
    Metadata id: ${id.value}.
    <br/>
    <br>
    <a href="http://localhost:8080/geonetwork/srv/en/metadata.show?id=${id.value}">Metadata</a><br/>
    <a href="http://localhost:8080/geonetwork/srv/en/xml.metadata.get?id=${id.value}">Metadata (XML)</a>
    

Note: Here the privilege filter is applied by the catalogue.

Comments

  • Another option at least for KML output is to create a searcher which output KML (Done in geocat.ch sandbox on top of a CSW searcher).

Attachments (5)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.