GeoServer

Z FreeGIS portál
Přejít na: navigace, hledání
Geoserver-logo.png

GeoServer je open source webový server napsaný v programovacím jazyce Java umožňující sdílet ale i upravovat geografická 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 OpenLayers, 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 openjdk-6-jre tomcat6
unzip geoserver-<verze>-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=obce&
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

GeoWebCache

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 MapServerem. Více informací najdete v manuálu GeoWebCache.

Demo najdete na adrese

http://geo102.fsv.cvut.cz:8080/geoserver/gwc/demo

Google Earth

Instalace

Debian GNU/Linux:

apt-get install googleearth-package lsb-core
make-googleearth-package
dpkg -i googleearth*.deb

@TODO

GeoExt

GeoExt je javascriptový toolkit, který rozšiřuje OpenLayers o nástroje knihovny ExtJS. GeoExt tak významně usnadňuje vývoj webových aplikací založených na Javascriptu. Více v manuálu GeoExt Styler.

Demo najdete na URL

http://geo102.fsv.cvut.cz:8080/geoserver/www/styler/index.html

WFS-T

WFS-T podporuje transakce (insert, delete, update), demo pro GeoServer

http://geo102.fsv.cvut.cz:8080/geoserver/www/wfs-t.html

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

Více informací najdete v rámci WMS Performance Shootout 2010.

Související články

Externí odkazy