GeoServer

Z GeoWikiCZ

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.

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)

  1. Nejprve vytvoříme nový workspace (pro datové vrstvy podobných vlastností)
    • Data->Workspaces
    • Add new workspace
  2. Dále vytvoříme nový "data store" (nastavení přístupu k datům)
    • Data->Stores
    • Add new store
    • Vector Data Sources -> PostGIS
  3. Zvolíme datové vrstvy určené k publikování
    • New Layer chooser
Zvolit datovou vrstvu určenou k publikování

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>
Vizualizace OpenLayers

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=polygon&
format=application/openlayers&
request=GetMap&
layers=gis1:obce&
width=800&
height=600&
srs=EPSG:102067

Příklad WFS (QGIS)

Nastavení WFS serveru
Výběr WFS vrstvy
Zobrazení WFS vrstvy

Porovnání s MapServerem

  • MapServer většinou poskytuje rychlejší přístup k WMS, GeoServer naopak k WFS
  • GeoServer podporuje WFS-T, 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