Version 2 (modified by 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
Note: Here maybe there could be lock issue on the Shapefile if both GeoNetwork and GeoServer open the file (not tested). A better option could be to make a copy of the files on a regular basis.
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, GoogleEarth) =
OpenLayers
GoogleEarth
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).
- In order to retrieve more information from the shapefile using TOS could be an option to create a more complete shapefile with metadata title, change date, ...
(TODO : point this how-to)
Attachments (5)
-
1-datastore.png
(13.9 KB
) - added by 15 years ago.
Datastore configuration
-
2-set-shapefile.png
(24.6 KB
) - added by 15 years ago.
Define shapefile to use
-
3-feature-type.png
(52.6 KB
) - added by 15 years ago.
Configure feature type
-
4-googleearth.png
(312.8 KB
) - added by 15 years ago.
Google Earth output
-
4-openlayers.png
(12.8 KB
) - added by 15 years ago.
OpenLayers output
Download all attachments as: .zip