GeoServer
GeoServer je open source webový server napsaný v programovacím jazyce Java umožňující sdílet ale i upravovat geoprostorová data. Projekt klade důraz na interoperabilitu, publikuje data s využitím otevřených standardů v oblasti. GeoServer umožňuje propojení informací poskytovaných z různých zdrojů jako jsou např. virtuální glóby (Google Earth, NASA World Wind) či webové aplikace postavené na OpenLayer, Google Maps a dalších. GeoServer implementuje standardy jako WMS, WCS či WFS.
Převzato z anglické wikipedie.
GeoServer je komunitní projekt. Projekt založila společnost OpenGeo, která se v současnosti zcela zasadním způsobem na vývoji projektu stále podílí. Mezi další společnosti, které do vývoje projektu přispívají patří např. Refractions (viz projekt PostGIS) či italská společnost GeoSolutions.
Součástí GeoServeru je projekt GeoWebCache. GeoWebCache je používán pro dlaždicování dat poskytovaných službou WMS. GeoWebCache je alternativou pro TileCache, který se používá především v souvislosti s [[MapServer|MapServerem].
Instalace
Debian GNU/Linux
Více informací zde.
apt-get install sun-java6-jre tomcat6
unzip geoserver-2.0.2-war.zip cp geoserver.war /var/lib/tomcat6/webapps
GeoServer poběží ve výchozím nastavení na portu 8080
http://geo102.fsv.cvut.cz:8080/geoserver
Výchozí adresář s daty
/var/lib/tomcat6/webapps/geoserver/data
Poznámky
Přidání nové datové vrstvy (PostGIS)
- Nejprve vytvoříme nový workspace (pro datové vrstvy podobných vlastností)
- Data->Workspaces
- Add new workspace
- Dále vytvoříme nový "data store" (nastavení přístupu k datům)
- Data->Stores
- Add new store
- Vector Data Sources -> PostGIS
- Zvolíme datové vrstvy určené k publikování
- New Layer chooser
Více informací v manuálu.
Přidání nového stylu
Pro definovaní stylu používá GeoServer zápis Styled Layer Descriptor. SDL vychází ze značkovacího jazyka XML a byl navržen konsorciem OGC pro potřeby vyjádření stylů vektorových dat. Užitečné příklady najdete také v SLD Cookbook.
Příklad stylu polygonové vrstvy obcí ČR
<?xml version="1.0" encoding="UTF-8"?>
<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>obce</Name>
<UserStyle>
<Name>obce</Name>
<Title>Obce</Title>
<Abstract>Obce CR s popiskem</Abstract>
<FeatureTypeStyle>
<Rule>
<Name>Large</Name>
<MaxScaleDenominator>300000</MaxScaleDenominator>
<PolygonSymbolizer>
<Fill>
<CssParameter name="fill">#69b9e3</CssParameter>
</Fill>
<Stroke>
<CssParameter name="stroke">#175677</CssParameter>
<CssParameter name="stroke-width">3</CssParameter>
</Stroke>
</PolygonSymbolizer>
<TextSymbolizer>
<Label>
<ogc:PropertyName>nazev</ogc:PropertyName>
</Label>
<Font>
<CssParameter name="font-family">Arial</CssParameter>
<CssParameter name="font-size">14</CssParameter>
<CssParameter name="font-style">normal</CssParameter>
<CssParameter name="font-weight">bold</CssParameter>
</Font>
<LabelPlacement>
<PointPlacement>
<AnchorPoint>
<AnchorPointX>0.5</AnchorPointX>
<AnchorPointY>0.5</AnchorPointY>
</AnchorPoint>
</PointPlacement>
</LabelPlacement>
<Fill>
<CssParameter name="fill">#000000</CssParameter>
</Fill>
<VendorOption name="maxDisplacement">150</VendorOption>
</TextSymbolizer>
</Rule>
<Rule>
<Name>Medium</Name>
<MinScaleDenominator>300000</MinScaleDenominator>
<MaxScaleDenominator>1000000</MaxScaleDenominator>
<PolygonSymbolizer>
<Fill>
<CssParameter name="fill">#69b9e3</CssParameter>
</Fill>
<Stroke>
<CssParameter name="stroke">#175677</CssParameter>
<CssParameter name="stroke-width">2</CssParameter>
</Stroke>
</PolygonSymbolizer>
</Rule>
<Rule>
<Name>Small</Name>
<MinScaleDenominator>1000000</MinScaleDenominator>
<PolygonSymbolizer>
<Fill>
<CssParameter name="fill">#69b9e3</CssParameter>
</Fill>
<Stroke>
<CssParameter name="stroke">#175677</CssParameter>
<CssParameter name="stroke-width">1</CssParameter>
</Stroke>
</PolygonSymbolizer>
</Rule>
</FeatureTypeStyle>
</UserStyle>
</NamedLayer>
</StyledLayerDescriptor>
Podpora pro ESRI:102067 (Krovak)
Definice souřadnicového systému ESRI:102067. Definici přidáme do souboru epsg.properties.
cat user_projections/epsg.properties
... 102067=PROJCS["S-JTSK_Krovak_East_North",GEOGCS["GCS_S_JTSK",DATUM["Jednotne_Trigonometricke_Site_Katastralni", SPHEROID["Bessel_1841",6377397.155,299.1528128]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]], PROJECTION["Krovak"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER ["Pseudo_Standard_Parallel_1",78.5],PARAMETER["Scale_Factor",0.9999],PARAMETER["Azimuth", 30.28813975277778],PARAMETER["Longitude_Of_Center",24.83333333333333], PARAMETER["Latitude_Of_Center",49.5],PARAMETER["X_Scale",-1],PARAMETER ["Y_Scale",1],PARAMETER["XY_Plane_Rotation",90],UNIT["Meter",1],AUTHORITY["EPSG","102067"]] ...
Příklad WMS (OpenLayers)
Příklad požadavku GetMap.
http://geo102.fsv.cvut.cz:8080/geoserver/wms? bbox=-904539.625000,-1227290.250000,-431680.593750,-935232.312500& styles=obce& format=application/openlayers& request=GetMap& layers=gis1:obce& width=800& height=600& srs=EPSG:102067
Příklad WFS (QGIS)
Porovnání s MapServerem
- MapServer většinou poskytuje rychlejší přístup k WMS, GeoServer naopak k WFS
- GeoServer podporuje WFS-T včetně možnosti verzování (není součástí standardu), MapServer nikoliv
- MapServer pracuje jako CGI aplikace, GeoServer používá J2EE
- GeoServer nabízí webově založené nástroje na správu webového serveru
- MapServer poskytuje poměrně silné nástroje pro kartografické výstupy
Související články
Externí odkazy
- Oficiální stránky projektu, http://geoserver.org
- Serving and styling maps with Geoserver
- WMS Performance Shootout 2010