view flys-artifacts/doc/conf/conf.xml @ 3073:0ace00c0c12a

FixA: Improved W/Q facet code flys-artifacts/trunk@4664 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Thu, 14 Jun 2012 14:03:16 +0000
parents 7660cfe5e8f6
children db9e2bb34707
line wrap: on
line source
<artifact-database>
    <export-secret>YOUR_SECRET</export-secret>
    <factories>
        <context-factory>de.intevation.flys.artifacts.context.FLYSContextFactory</context-factory>

        <collection-factory
            name="DefaultArtifactCollectionFactory"
            description="The default artifact collection factory"
            ttl="21600000"
            artifact-collection="de.intevation.flys.collections.FLYSArtifactCollection">de.intevation.artifactdatabase.DefaultArtifactCollectionFactory</collection-factory>

        <artifact-factories>
            <!-- All Artifactfactories which are available in this Database. -->
            <artifact-factory name="winfo" description="Factory to create an artifact to be used in WINFO"
                ttl="3600000"
                artifact="de.intevation.flys.artifacts.WINFOArtifact">de.intevation.artifactdatabase.DefaultArtifactFactory</artifact-factory>
            <artifact-factory name="riveraxis" description="Factory to create an artifact to be used in WINFO"
                ttl="3600000"
                artifact="de.intevation.flys.artifacts.RiverAxisArtifact">de.intevation.artifactdatabase.DefaultArtifactFactory</artifact-factory>
            <artifact-factory name="hyk" description="Factory to create an artifact to be used for hyks"
                ttl="3600000"
                artifact="de.intevation.flys.artifacts.HYKArtifact">de.intevation.artifactdatabase.DefaultArtifactFactory</artifact-factory>
            <artifact-factory name="new_map" description="Factory to create an artifact to be used for new map"
                ttl="3600000"
                artifact="de.intevation.flys.artifacts.MapArtifact">de.intevation.artifactdatabase.DefaultArtifactFactory</artifact-factory>
            <artifact-factory name="wmskmfactory" description="Factory to create an artifact that generates WMS facets for KMs."
                ttl="3600000"
                artifact="de.intevation.flys.artifacts.WMSKmArtifact">de.intevation.artifactdatabase.DefaultArtifactFactory</artifact-factory>
            <artifact-factory name="wmsqpsfactory" description="Factory to create an artifact that generates WMS facets for CrossSectionTracks."
                ttl="3600000"
                artifact="de.intevation.flys.artifacts.WMSQPSArtifact">de.intevation.artifactdatabase.DefaultArtifactFactory</artifact-factory>
            <artifact-factory name="wmshwsfactory" description="Factory to create an artifact that generates WMS facets for CrossSectionTracks."
                ttl="3600000"
                artifact="de.intevation.flys.artifacts.WMSHwsArtifact">de.intevation.artifactdatabase.DefaultArtifactFactory</artifact-factory>
            <artifact-factory name="wmshydrboundariesfactory" description="Factory to create an artifact that generates WMS facets for CrossSectionTracks."
                ttl="3600000"
                artifact="de.intevation.flys.artifacts.WMSHydrBoundaryArtifact">de.intevation.artifactdatabase.DefaultArtifactFactory</artifact-factory>
            <artifact-factory name="wmshydrboundariespolyfactory" description="Factory to create an artifact that generates WMS facets for CrossSectionTracks."
                ttl="3600000"
                artifact="de.intevation.flys.artifacts.WMSHydrBoundaryPolyArtifact">de.intevation.artifactdatabase.DefaultArtifactFactory</artifact-factory>
            <artifact-factory name="wmscatchmentfactory" description="Factory to create an artifact that generates WMS facets for CrossSectionTracks."
                ttl="3600000"
                artifact="de.intevation.flys.artifacts.WMSCatchmentArtifact">de.intevation.artifactdatabase.DefaultArtifactFactory</artifact-factory>
            <artifact-factory name="wmsfloodplainfactory" description="Factory to create an artifact that generates WMS facets for CrossSectionTracks."
                ttl="3600000"
                artifact="de.intevation.flys.artifacts.WMSFloodplainArtifact">de.intevation.artifactdatabase.DefaultArtifactFactory</artifact-factory>
            <artifact-factory name="wmslinefactory" description="Factory to create an artifact to be used in WINFO"
                ttl="3600000"
                artifact="de.intevation.flys.artifacts.WMSLineArtifact">de.intevation.artifactdatabase.DefaultArtifactFactory</artifact-factory>
            <artifact-factory name="wmsbuildingsfactory" description="Factory to create an artifact to be used in WINFO"
                ttl="3600000"
                artifact="de.intevation.flys.artifacts.WMSBuildingsArtifact">de.intevation.artifactdatabase.DefaultArtifactFactory</artifact-factory>
            <artifact-factory name="wmsfixpointsfactory" description="Factory to create an artifact to be used in WINFO"
                ttl="3600000"
                artifact="de.intevation.flys.artifacts.WMSFixpointsArtifact">de.intevation.artifactdatabase.DefaultArtifactFactory</artifact-factory>
            <artifact-factory name="wmsfloodmapsfactory" description="Factory to create an artifact to be used in WINFO"
                ttl="3600000"
                artifact="de.intevation.flys.artifacts.WMSFloodmapsArtifact">de.intevation.artifactdatabase.DefaultArtifactFactory</artifact-factory>
            <artifact-factory name="wmsgaugelocationfactory" description="Factory to create an artifact to be used in WINFO"
                ttl="3600000"
                artifact="de.intevation.flys.artifacts.WMSGaugeLocationArtifact">de.intevation.artifactdatabase.DefaultArtifactFactory</artifact-factory>
            <artifact-factory name="wmsbackground" description="Factory to create an artifact to be used in WINFO"
                ttl="3600000"
                artifact="de.intevation.flys.artifacts.WMSBackgroundArtifact">de.intevation.artifactdatabase.DefaultArtifactFactory</artifact-factory>
            <artifact-factory name="externalwmsfactory" description="Factory to create an artifact to be used in Floodmaps to display external WMS layers"
                ttl="3600000"
                artifact="de.intevation.flys.artifacts.ExternalWMSArtifact">de.intevation.artifactdatabase.DefaultArtifactFactory</artifact-factory>
            <artifact-factory name="annotations" description="Factory to create an artifact to access Annotations for Points at rivers"
                ttl="3600000"
                artifact="de.intevation.flys.artifacts.AnnotationArtifact">de.intevation.artifactdatabase.DefaultArtifactFactory</artifact-factory>
            <artifact-factory name="crosssections" description="Factory to create an artifact to access cross sections"
                ttl="3600000"
                artifact="de.intevation.flys.artifacts.CrossSectionArtifact">de.intevation.artifactdatabase.DefaultArtifactFactory</artifact-factory>
            <artifact-factory name="waterlevel" description="Factory to create an artifact to access waterlevel data"
                ttl="3600000"
                artifact="de.intevation.flys.artifacts.WaterlevelArtifact">de.intevation.artifactdatabase.DefaultArtifactFactory</artifact-factory>
            <artifact-factory name="mainvalue" description="Factory to create an artifact to access Main Values for discharge curve diagrams"
                ttl="3600000"
                artifact="de.intevation.flys.artifacts.MainValuesArtifact">de.intevation.artifactdatabase.DefaultArtifactFactory</artifact-factory>
            <artifact-factory name="staticwkms" description="Factory to create an artifact to access 'other' WKms data"
                ttl="3600000"
                artifact="de.intevation.flys.artifacts.StaticWKmsArtifact">de.intevation.artifactdatabase.DefaultArtifactFactory</artifact-factory>
            <artifact-factory name="area" description="Factory to create an artifact to draw (wkms) area data"
                ttl="3600000"
                artifact="de.intevation.flys.artifacts.AreaArtifact">de.intevation.artifactdatabase.DefaultArtifactFactory</artifact-factory>
            <artifact-factory name="staticwqkms" description="Factory to create an artifact to access 'other' WKms data"
                ttl="3600000"
                artifact="de.intevation.flys.artifacts.StaticWQKmsArtifact">de.intevation.artifactdatabase.DefaultArtifactFactory</artifact-factory>
            <artifact-factory name="wqinterpol" description="Factory to create an artifact to access 'other' WQ (at km) data"
                ttl="3600000"
                artifact="de.intevation.flys.artifacts.WQKmsInterpolArtifact">de.intevation.artifactdatabase.DefaultArtifactFactory</artifact-factory>
            <artifact-factory name="new_chart" description="Factory to create an artifact to be used for new chart"
                ttl="3600000"
                artifact="de.intevation.flys.artifacts.ChartArtifact">de.intevation.artifactdatabase.DefaultArtifactFactory</artifact-factory>
            <artifact-factory name="manualpoints" description="Factory to create an artifact for storing and editing points added by the user."
                ttl="3600000"
                artifact="de.intevation.flys.artifacts.ManualPointsArtifact">de.intevation.artifactdatabase.DefaultArtifactFactory</artifact-factory>
            <artifact-factory name="fixanalysis" description="Factory to create an artifact to be used in fixation analysis."
                ttl="3600000"
                artifact="de.intevation.flys.artifacts.FixationArtifact">de.intevation.artifactdatabase.DefaultArtifactFactory</artifact-factory>
            <artifact-factory name="gaugedischarge" description="Factory to create an artifact to host historical qs."
                ttl="3600000"
                artifact="de.intevation.flys.artifacts.GaugeDischargeArtifact">de.intevation.artifactdatabase.DefaultArtifactFactory</artifact-factory>

            <!-- MINFO specific Artifacts -->
            <artifact-factory name="minfo" description="Factory to create an artifact to be used in module minfo."
                ttl="3600000"
                artifact="de.intevation.flys.artifacts.MINFOArtifact">de.intevation.artifactdatabase.DefaultArtifactFactory</artifact-factory>
        </artifact-factories>

        <user-factory name="default" description="Factory to create new users">de.intevation.artifactdatabase.DefaultUserFactory</user-factory>

        <service-factories>
            <service-factory
                name="rivers"
                service="de.intevation.flys.artifacts.services.RiverService"
                description="This service returns a list of provided rivers by the artifact server.">de.intevation.artifactdatabase.DefaultServiceFactory</service-factory>
            <service-factory
                name="distanceinfo"
                service="de.intevation.flys.artifacts.services.DistanceInfoService"
                description="Returns a list of distances supported by a specific river.">de.intevation.artifactdatabase.DefaultServiceFactory</service-factory>
            <service-factory
                name="mainvalues"
                service="de.intevation.flys.artifacts.services.MainValuesService"
                description="Returns the main values of a river's gauge based on a start and end point of the river.">de.intevation.artifactdatabase.DefaultServiceFactory</service-factory>
            <service-factory
                name="metadata"
                service="de.intevation.flys.artifacts.services.MetaDataService"
                description="The service provides some introspection into the database content.">de.intevation.artifactdatabase.DefaultServiceFactory</service-factory>
            <service-factory
                name="mapinfo"
                service="de.intevation.flys.artifacts.services.MapInfoService"
                description="The service provides some basic information to create a WMS for a specific river.">de.intevation.artifactdatabase.DefaultServiceFactory</service-factory>
            <service-factory
                name="cross-section-km"
                service="de.intevation.flys.artifacts.services.CrossSectionKMService"
                description="The service provides the N next neighbored kms and ids of cross section lines for given cross section id, km and N.">de.intevation.artifactdatabase.DefaultServiceFactory</service-factory>
            <service-factory
                name="cache-invalidation"
                service="de.intevation.flys.artifacts.services.CacheInvalidationService"
                description="The service invalidates caches.">de.intevation.artifactdatabase.DefaultServiceFactory</service-factory>
            <service-factory
                name="dischargeinfo"
                service="de.intevation.flys.artifacts.services.DischargeInfoService"
                description="Returns description, start year and end year of discharges at a specific gauge.">de.intevation.artifactdatabase.DefaultServiceFactory</service-factory>
            <service-factory
                name="fixings-overview"
                service="de.intevation.flys.artifacts.services.FixingsOverviewService"
                description="Returns an overview of the fixings of a given river.">de.intevation.artifactdatabase.DefaultServiceFactory</service-factory>
            <service-factory
                name="fixings-km-chart"
                service="de.intevation.flys.artifacts.services.FixingsKMChartService"
                description="Returns a chart of fixings of given river and km.">de.intevation.artifactdatabase.DefaultServiceFactory</service-factory>
            <service-factory
                name="gaugeinfo"
                service="de.intevation.flys.artifacts.services.GaugeInfoService"
                description="Returns an overview of the fixings of a given river.">de.intevation.artifactdatabase.DefaultServiceFactory</service-factory>
            <service-factory
                name="fileupload"
                service="de.intevation.flys.artifacts.services.FileUploadService"
                description="Takes base64 coded files embedded in XML.">de.intevation.artifactdatabase.DefaultServiceFactory</service-factory>
            <service-factory
                name="themelisting"
                service="de.intevation.flys.artifacts.services.ThemeListingService"
                description="Returns a list of Themes filtered by theme name.">de.intevation.artifactdatabase.DefaultServiceFactory</service-factory>
        </service-factories>

    </factories>

    <lifetime-listeners>
        <listener>de.intevation.flys.artifacts.datacage.Datacage</listener>
        <listener>de.intevation.flys.wsplgen.SchedulerSetup</listener>
    </lifetime-listeners>

    <backend-listeners>
        <listener>de.intevation.flys.artifacts.datacage.DatacageBackendListener</listener>
    </backend-listeners>

    <callcontext-listener
        name="SessionCallContextListener"
        description="A CallContext.Listener to open and close Hibernatesessions">de.intevation.flys.artifacts.context.SessionCallContextListener</callcontext-listener>

    <artifacts>
        <artifact name="manualpoints" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="${artifacts.config.dir}/artifacts/manualpoints.xml" />
        <artifact name="winfo" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="${artifacts.config.dir}/artifacts/winfo.xml" />
        <artifact name="minfo" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="${artifacts.config.dir}/artifacts/minfo.xml" />
        <artifact name="waterlevel" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="${artifacts.config.dir}/artifacts/waterlevel.xml" />
        <artifact name="annotation" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="${artifacts.config.dir}/artifacts/annotation.xml" />
        <artifact name="hyk" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="${artifacts.config.dir}/artifacts/hyk.xml" />
        <artifact name="wmsbackground" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="${artifacts.config.dir}/artifacts/wmsbackground.xml" />
        <artifact name="new_map" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="${artifacts.config.dir}/artifacts/map.xml" />
        <artifact name="new_chart" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="${artifacts.config.dir}/artifacts/chart.xml" />
        <artifact name="staticwqkms" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="${artifacts.config.dir}/artifacts/staticwqkms.xml" />
        <artifact name="fixanalysis" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="${artifacts.config.dir}/artifacts/fixanalysis.xml" />
        <artifact name="gaugedischarge" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="${artifacts.config.dir}/artifacts/gaugedischarge.xml" />
    </artifacts>


    <hooks>
        <hook
            class="de.intevation.flys.artifacts.CollectionMonitor"
            applies="post-feed,post-advance,post-describe"
            xmlns:xlink="http://www.w3.org/1999/xlink"
            xlink:href="${artifacts.config.dir}/output-defaults.xml">
        </hook>
    </hooks>

    <output-generators>
        <output-generator name="discharge_curve">de.intevation.flys.exports.DischargeCurveGenerator</output-generator>
        <output-generator name="discharge_curve_chartinfo">de.intevation.flys.exports.DischargeCurveInfoGenerator</output-generator>
        <output-generator name="cross_section">de.intevation.flys.exports.CrossSectionGenerator</output-generator>
        <output-generator name="cross_section_chartinfo">de.intevation.flys.exports.CrossSectionInfoGenerator</output-generator>
        <output-generator name="computed_discharge_curve">de.intevation.flys.exports.ComputedDischargeCurveGenerator</output-generator>
        <output-generator name="computed_discharge_curve_chartinfo">de.intevation.flys.exports.ComputedDischargeCurveInfoGenerator</output-generator>
        <output-generator name="longitudinal_section">de.intevation.flys.exports.LongitudinalSectionGenerator</output-generator>
        <output-generator name="longitudinal_section_chartinfo">de.intevation.flys.exports.LongitudinalSectionInfoGenerator</output-generator>
        <output-generator name="duration_curve">de.intevation.flys.exports.DurationCurveGenerator</output-generator>
        <output-generator name="duration_curve_chartinfo">de.intevation.flys.exports.DurationCurveInfoGenerator</output-generator>
        <output-generator name="discharge_longitudinal_section">de.intevation.flys.exports.DischargeLongitudinalSectionGenerator</output-generator>
        <output-generator name="discharge_longitudinal_section_chartinfo">de.intevation.flys.exports.DischargeLongitudinalSectionInfoGenerator</output-generator>
        <output-generator name="waterlevel_export">de.intevation.flys.exports.WaterlevelExporter</output-generator>
        <output-generator name="fix_wq_curve">de.intevation.flys.exports.fixings.FixWQCurveGenerator</output-generator>
        <output-generator name="durationcurve_export">de.intevation.flys.exports.DurationCurveExporter</output-generator>
        <output-generator name="computed_dischargecurve_export">de.intevation.flys.exports.ComputedDischargeCurveExporter</output-generator>
        <output-generator name="discharge_longitudinal_section_export">de.intevation.flys.exports.DischargeLongitudinalSectionExporter</output-generator>
        <output-generator name="w_differences">de.intevation.flys.exports.WDifferencesCurveGenerator</output-generator>
        <output-generator name="w_differences_chartinfo">de.intevation.flys.exports.WDifferencesCurveInfoGenerator</output-generator>
        <output-generator name="w_differences_export">de.intevation.flys.exports.WDifferencesExporter</output-generator>
        <output-generator name="floodmap">de.intevation.flys.exports.MapGenerator</output-generator>
        <output-generator name="map">de.intevation.flys.exports.MapGenerator</output-generator>
        <output-generator name="reference_curve">de.intevation.flys.exports.ReferenceCurveGenerator</output-generator>
        <output-generator name="reference_curve_normalized">de.intevation.flys.exports.NormalizedReferenceCurveGenerator</output-generator>
        <output-generator name="reference_curve_normalized_chartinfo">de.intevation.flys.exports.NormalizedReferenceCurveInfoGenerator</output-generator>
        <output-generator name="reference_curve_chartinfo">de.intevation.flys.exports.ReferenceCurveInfoGenerator</output-generator>
        <output-generator name="reference_curve_export">de.intevation.flys.exports.ReferenceCurveExporter</output-generator>
        <output-generator name="historical_discharge">de.intevation.flys.exports.HistoricalDischargeCurveGenerator</output-generator>
        <output-generator name="historical_discharge_chartinfo">de.intevation.flys.exports.HistoricalDischargeCurveInfoGenerator</output-generator>
        <output-generator name="historical_discharge_export">de.intevation.flys.exports.HistoricalDischargeCurveExporter</output-generator>
        <output-generator name="flow_velocity">de.intevation.flys.exports.FlowVelocityGenerator</output-generator>
        <output-generator name="flow_velocity_chartinfo">de.intevation.flys.exports.FlowVelocityInfoGenerator</output-generator>
        <output-generator name="flow_velocity_export">de.intevation.flys.exports.FlowVelocityExporter</output-generator>
        <output-generator name="bedheight_middle">de.intevation.flys.exports.MiddleBedHeightGenerator</output-generator>
        <output-generator name="bedheight_middle_chartinfo">de.intevation.flys.exports.MiddleBedHeightInfoGenerator</output-generator>
        <output-generator name="bedheight_middle_export">de.intevation.flys.exports.MiddleBedHeightExporter</output-generator>
        <output-generator name="fix_deltawt_export">de.intevation.flys.exports.DeltaWtExporter</output-generator>
        <!-- Error report generators. -->
        <output-generator name="discharge_longitudinal_section_report">de.intevation.flys.exports.ReportGenerator</output-generator>
        <output-generator name="waterlevel_report">de.intevation.flys.exports.ReportGenerator</output-generator>
        <output-generator name="computed_dischargecurve_report">de.intevation.flys.exports.ReportGenerator</output-generator>
        <output-generator name="durationcurve_report">de.intevation.flys.exports.ReportGenerator</output-generator>
        <output-generator name="wsplgen_report">de.intevation.flys.exports.ReportGenerator</output-generator>
        <output-generator name="historical_discharge_report">de.intevation.flys.exports.ReportGenerator</output-generator>
        <output-generator name="reference_curve_report">de.intevation.flys.exports.ReportGenerator</output-generator>
        <output-generator name="fix_report">de.intevation.flys.exports.ReportGenerator</output-generator>
        <!-- AT exporter. -->
        <output-generator name="computed_dischargecurve_at_export">de.intevation.flys.exports.ATExporter</output-generator>
    </output-generators>

    <!-- Path to the template file of the meta data. -->
    <metadata>
        <template>${artifacts.config.dir}/meta-data.xml</template>
    </metadata>

    <!-- The floodmap configuration for each supported river. Each element
         requires a srid, wms and background-wms. Those information are used for
         creating a Map view.-->
    <floodmap>
        <shapefile-path value="${artifacts.config.dir}/../shapefiles"/>
        <mapserver>
            <server path="http://flys-devel.intevation.de/cgi-bin/"/>
            <mapfile path="${artifacts.config.dir}/../flys.map"/>
            <templates path="${artifacts.config.dir}/mapserver/"/>
            <map-template path="mapfile.vm"/>
        </mapserver>

        <velocity>
            <logfile path="${artifacts.config.dir}/../velocity_log.log"/>
        </velocity>

        <river name="Saar">
            <srid value="31466"/>
            <river-wms url="http://flys-devel.intevation.de/cgi-bin/saar-wms"/>
            <background-wms url="http://vmap0.tiles.osgeo.org/wms/vmap0" layers="basic"/>
        </river>
        <river name="Mosel">
            <srid value="31466"/>
            <river-wms url="http://flys-devel.intevation.de/cgi-bin/mosel-wms"/>
            <background-wms url="http://vmap0.tiles.osgeo.org/wms/vmap0" layers="basic"/>
        </river>
        <river name="Elbe">
            <srid value="31466"/>
            <river-wms url="http://flys-devel.intevation.de/cgi-bin/elbe-wms"/>
            <background-wms url="http://vmap0.tiles.osgeo.org/wms/vmap0" layers="basic"/>
        </river>
    </floodmap>

    <rest-server>
        <!--  The port which the ArtifactDatabase (ArtifactServer) will bind to. -->
        <port>8181</port>
        <listen>localhost</listen>
    </rest-server>
    <!-- Garbage collection of outdated artifacts. -->
    <cleaner>
        <sleep-time>60000</sleep-time>
    </cleaner>

    <cache>
        <config-file>${artifacts.config.dir}/cache.xml</config-file>
    </cache>

    <!-- This is the default configuration of the datacage db:
    <datacage>
        <user/>
        <password/>
        <driver>org.h2.Driver</driver>
        <url>jdbc:h2:mem:datacage;INIT=RUNSCRIPT FROM '${artifacts.config.dir}/datacage.sql'</url>
    </datacage>
    -->

    <database>
        <!-- This Section configures the Settings for connecting to the 
             Artifact-Database instance. e.g. SQLite -->
        <user>SA</user>
        <password></password>
        <!-- For use with a postgresql database use the appropriate driver-->
        <!--driver>org.postgresql.Driver</driver-->
        <url>jdbc:h2:${artifacts.config.dir}/../artifactdb/artifacts.db</url>
    </database>
    <!-- This is the default backend db configuration. -->
    <!--
    <backend-database>
        <user>flys</user>
        <password>flys</password>
        <dialect>org.hibernate.dialect.PostgreSQLDialect</dialect>
        <driver>org.postgresql.Driver</driver>
        <url>jdbc:postgresql://localhost:5432/flys</url>
    </backend-database>
    -->

    <flys>
        <themes>
            <configuration>${artifacts.config.dir}/themes.xml</configuration>
        </themes>
    </flys>
</artifact-database>

http://dive4elements.wald.intevation.org