GeoServer is an open source software server written in Java that allows users to share and edit geospatial data

Overview

Gitter

GeoServer is an open source software server written in Java that allows users to share and edit geospatial data. Designed for interoperability, it publishes data from any major spatial data source using open standards.

Being a community-driven project, GeoServer is developed, tested, and supported by a diverse group of individuals and organizations from around the world.

GeoServer is the reference implementation of the Open Geospatial Consortium (OGC) Web Feature Service (WFS) and Web Coverage Service (WCS) standards, as well as a high performance certified compliant Web Map Service (WMS), compliant Catalog Service for the Web (CSW) and implementing Web Processing Service (WPS). GeoServer forms a core component of the Geospatial Web.

License

GeoServer licensed under the GPL.

Using

Please refer to the user guide for information on how to install and use GeoServer.

Building

GeoServer uses Apache Maven for a build system. To build the application run maven from the src directory.

mvn clean install

See the developer guide for more details.

Bugs

GeoServer uses JIRA, hosted by Atlassian, for issue tracking.

Mailing Lists

The mailing list page on the GeoServer web site provides access to the various mailing list, as well as some indication of the code of conduct when posting to the lists

Contributing

Please read the contribution guidelines before contributing pull requests to the GeoServer project.

More Information

Visit the website or read the docs.

Comments
  • Allow ExternalGraphic image to be used for GetCapabilities and GetLegendGraphics

    Allow ExternalGraphic image to be used for GetCapabilities and GetLegendGraphics

    This is a replacement for #400 adding LegendInfo to StyleInfo for use in WMS GetCapabilities generation. The data structure (if available) is also used in GetLegendGraphics.

    • http://jira.codehaus.org/browse/GEOS-6425
    • http://geoserver.org/display/GEOS/GSIP+111+GetLegendGraphicsRequest+Cleanup

    The scope of this feature has been refined to restrict these external graphic references to images that are being served by GeoServer (for example from the styles directory). This allows GeoServer to still be responsible for all the information it is publishing, and ensure that the images are available for the GetLegendGraphics operation.

    Update: Due to feedback from @aaime the above restriction is lifted, a warning will be provided in the user interface if you configure GeoServer with an absolute URL pointing to an external server. An absolute URL that starts with the base url is fine. During GetLegendGraphics any online resource that cannot be resolved will result in a warning in the logs, and the code will proceed with dynamic generation.

    To do:

    • [x] Update ExternalGraphicPanel to restrict graphics to images in the styles directory
    • [x] Submit proposal to cleanup GetLegendGraphicsRequest (GSIP 111)
    • [x] Recording images in GetLegendGraphicRequest using resource name, change to use of style name to allow for the same data with two different styles
    • [x] Resolve images in GetLegendGraphicRequest as local file references (KVP parser has access to data directory) to allow local test cases to pass
    • [x] Test GetCapabilities
    • [x] Test GetLegendGraphic with LAYER and STYLE
    • [x] Test GetLegendGraphic with LAYER and STYLE (rescale)
    • [x] Test GetLegendGraphic with with no style (i.e. ensure default style picked up)
    • [x] Test GetLegendGraphic with with no layer (i.e. used as a style preview)
    • [x] Test GetLegendGraphic with group layer
    • [x] Update user docs
    • [x] Issue: Prepending of styles directory (see http://localhost:8080/geoserver/styles/http://visual.merriam-webster.com/images/earth/meteorology/station-model.jpg)
    • [x] Issue: Warnings not cleared in wicket form
    • [x] Issue: Validation not run on form submit (only when "update" link is clicked).
    • [x] Issue: Confirm assignment agreement for #400
    opened by jodygarnett 34
  • [GEOS-7516] Resource Browser (ResourceStore GUI)

    [GEOS-7516] Resource Browser (ResourceStore GUI)

    GSIP 139 - GeoServer Resource Browser GUI https://github.com/geoserver/geoserver/wiki/GSIP-139

    [GEOS-7516] Resource Browser (ResourceStore GUI) https://osgeo-org.atlassian.net/browse/GEOS-7516

    opened by NielsCharlier 26
  • Improve

    Improve "scaleline" WMS decoration widget

    With this patch, the "scaleline" widget now supports new parameters:

    • strokewidth
    • borderwidth
    • padding
    • suggestedwidth
    • top-out-unit
    • top-in-unit
    • bottom-out-unit
    • bottom-in-unit

    This makes the use of the widget much more flexible in terms of visual output.

    opened by dalbani 26
  • [GEOS-10058] Welcome Page Layout

    [GEOS-10058] Welcome Page Layout

    GEOS-10058

    See https://github.com/geoserver/geoserver/wiki/GSIP-202 proposal for details, prior discussion on https://github.com/geoserver/geoserver/pull/6113

    Checklist

    For core and extension modules:

    • [x] New unit tests have been added covering the changes.
    • [x] Documentation has been updated (if change is visible to end users).
    • [ ] The REST API docs have been updated (when changing configuration objects or the REST controllers).
    • [x] There is an issue in the GeoServer Jira (except for changes that do not affect administrators or end users in any way).
    • [x] Commit message(s) must be in the form [GEOS-XYZWV] Title of the Jira ticket.
    • [ ] Bug fixes and small new features are presented as a single commit.
    • [ ] Each commit has a single objective (if there are multiple commits, each has a separate JIRA ticket describing its goal).
    opened by jodygarnett 25
  • SLD package extension [GEOS-6837]

    SLD package extension [GEOS-6837]

    A extension to upload with the REST API a zip package with SLD file and related resources (images) to Geoserver.

    Code to review.

    https://jira.codehaus.org/browse/GEOS-6837

    opened by josegar74 25
  • Dependency upgrade: xstream 1.4.19, jettison 1.4.1

    Dependency upgrade: xstream 1.4.19, jettison 1.4.1

    Current XStream version has several (29) vulnerabilities, though they won't affect GeoServer, since it properly configures the security subsystem, an upgrade seems to be in place anyways.

    This upgrades to the latest 1.4.19 version and Jettison 1.4.1 with a patch to preserve Jettison's legacy behaviour when encoding single-element arrays.

    Checklist

    For core and extension modules:

    • [x] New unit tests have been added covering the changes.
    • [ ] Documentation has been updated (if change is visible to end users).
    • [ ] The REST API docs have been updated (when changing configuration objects or the REST controllers).
    • [ ] There is an issue in the GeoServer Jira (except for changes that do not affect administrators or end users in any way).
    • [ ] Commit message(s) must be in the form [GEOS-XYZWV] Title of the Jira ticket.
    • [ ] Bug fixes and small new features are presented as a single commit.
    • [ ] Each commit has a single objective (if there are multiple commits, each has a separate JIRA ticket describing its goal).
    opened by groldan 23
  • New community module: WFS FlatGeobuf output format

    New community module: WFS FlatGeobuf output format

    See https://github.com/bjornharrtell/flatgeobuf for more info about the format.

    TODO:

    • Figure out what to do with multiple feature collections

    Missing upstream:

    • ~~Handle MultiLineString and MultiPolygon in Java impl.~~
    • ~~Handle attributes in Java impl.~~
    • ~~OpenLayers reader POC~~
    • ~~Publish flatgeobuf on Maven Central~~
    • ~~Publish flatgeobuf on npm~~
    opened by bjornharrtell 23
  • [GEOS-9566] Switch from repo.boundlessgeo.com to repo.osgeo.org

    [GEOS-9566] Switch from repo.boundlessgeo.com to repo.osgeo.org

    As part of the ongoing repository migration, the main GeoServer pom needs to be updated with the new repo.

    See GeoServer Migrate to OSGeo Infrastructure wiki page for details.

    I've tested locally, seems to be working.

    Checklist

    For all pull requests:

    • [x] Confirm you have read the contribution guidelines
    • [x] You have sent a Contribution Licence Agreement (CLA) as necessary (not required for small changes, e.g., fixing typos in documentation)
    • [x] Make sure the first PR targets the master branch, eventual backports will be managed later. This can be ignored if the PR is fixing an issue that only happens in a specific branch, but not in newer ones.

    The following are required only for core and extension modules (they are welcomed, but not required, for community modules):

    • [x] There is a ticket in Jira describing the issue/improvement/feature (a notable exemptions is, changes not visible to end users)
    • [x] PR for bug fixes and small new features are presented as a single commit
    • [x] Commit message must be in the form "[GEOS-XYZW] Title of the Jira ticket" (export to XML in Jira generates the message in this exact form)
    • [x] The pull request contains changes related to a single objective. If multiple focuses cannot be avoided, each one is in its own commit and has a separate ticket describing it.
    • [ ] New unit tests have been added covering the changes
    • [ ] This PR passes all existing unit tests (test results will be reported by travis-ci after opening this PR)
    • [ ] This PR passes the QA checks (QA checks results will be reported by travis-ci after opening this PR)
    • [ ] Commits changing the UI, existing user workflows, or adding new functionality, need to include documentation updates (screenshots, text)
    • [ ] Commits changing the REST API, or any configuration object, should check if the REST API docs (Swagger YAML files and classic documentation) need to be updated.

    Submitting the PR does not require you to check all items, but by the time it gets merged, they should be either satisfied or inapplicable.

    opened by tbarsballe 22
  • [GEOS-9312] Cascaded WMS - Options to select and force Image Format and Styles in requests made to remote WMS server

    [GEOS-9312] Cascaded WMS - Options to select and force Image Format and Styles in requests made to remote WMS server

    -no unit test tess (TODO) -for demo and initial review -covers issue 1 and 3

    Checklist

    Reviewing is a process done by project maintainers, mostly on a volunteer basis. We try to keep the overhead as small as possible and appreciate if you help us to do so by completing the following items. Feel free to ask in a comment if you have troubles with any of them.

    For all pull requests:

    • [] Confirm you have read the contribution guidelines
    • [ ] You have sent a Contribution Licence Agreement (CLA) as necessary (not required for small changes, e.g., fixing typos in documentation)
    • [x ] Make sure the first PR targets the master branch, eventual backports will be managed later. This can be ignored if the PR is fixing an issue that only happens in a specific branch, but not in newer ones.

    The following are required only for core and extension modules (they are welcomed, but not required, for community modules):

    • [ x] There is a ticket in Jira describing the issue/improvement/feature (a notable exemptions is, changes not visible to end users)
    • [ x] PR for bug fixes and small new features are presented as a single commit
    • [ ] Commit message must be in the form "[GEOS-XYZW] Title of the Jira ticket" (export to XML in Jira generates the message in this exact form)
    • [x] New unit tests have been added covering the changes
    • [x] This PR passes all existing unit tests (test results will be reported by travis-ci after opening this PR)
    • [x] This PR passes the QA checks (QA checks results will be reported by travis-ci after opening this PR)
    • [x] Commits changing the UI, existing user workflows, or adding new functionality, need to include documentation updates

    Submitting the PR does not require you to check all items, but by the time it gets merged, they should be either satisfied or inapplicable.

    opened by imranrajjad 22
  • [GEOS-8099] GSIP 158 - NetCDF output support for variable attributes and extra variables

    [GEOS-8099] GSIP 158 - NetCDF output support for variable attributes and extra variables

    opened by bencaradocdavies 19
  • [GEOS-6683] Ignore numberMatched per layer

    [GEOS-6683] Ignore numberMatched per layer

    This commit adds a value to the user- and rest interface for disabling counting the numberMatched property. On large queries with very few matches this can cause a significant speed boost.

    NOTE: I currently have no test included in this commit. This is because I don't really know how to create a test for this change without changing the already supplied test data... When testing this on a live GeoServer instance however, the difference is notable.

    opened by alex3305 19
  • [GEOS-10814] Update jdbc config to use consistent SQL formatting

    [GEOS-10814] Update jdbc config to use consistent SQL formatting

    GEOS-10814

    This PR updates the JDBC Config module to use consistent capitalization and spacing in all of its SQL queries.

    Checklist

    For core and extension modules:

    • [ ] New unit tests have been added covering the changes.
    • [ ] Documentation has been updated (if change is visible to end users).
    • [ ] The REST API docs have been updated (when changing configuration objects or the REST controllers).
    • [x] There is an issue in the GeoServer Jira (except for changes that do not affect administrators or end users in any way).
    • [x] Commit message(s) must be in the form [GEOS-XYZWV] Title of the Jira ticket.
    • [x] Bug fixes and small new features are presented as a single commit.
    • [x] Each commit has a single objective (if there are multiple commits, each has a separate JIRA ticket describing its goal).
    backport 2.21.x backport 2.22.x 
    opened by sikeoka 1
  • [GEOS-10556] Cleanup of CSS, HTML DOM structure en rewrite of some CSS - New PR

    [GEOS-10556] Cleanup of CSS, HTML DOM structure en rewrite of some CSS - New PR

    GEOS-10556

    Replacing PR https://github.com/geoserver/geoserver/pull/5984

    This is a new PR with the same code changes (cherry picked) as the PR it is replacing. The new PR has been made because the old one couldn't be rebased properly.

    The old PR contains all the comments that were made.

    Link to proposal: https://github.com/geoserver/geoserver/wiki/GSIP-213

    Checklist

    For core and extension modules:

    • [ ] New unit tests have been added covering the changes.
    • [ ] Documentation has been updated (if change is visible to end users).
    • [ ] The REST API docs have been updated (when changing configuration objects or the REST controllers).
    • [x] There is an issue in the GeoServer Jira (except for changes that do not affect administrators or end users in any way).
    • [x] Commit message(s) must be in the form [GEOS-XYZWV] Title of the Jira ticket.
    • [ ] Bug fixes and small new features are presented as a single commit.
    • [ ] Each commit has a single objective (if there are multiple commits, each has a separate JIRA ticket describing its goal).
    opened by MichelGabriel 4
  • [GEOS-10813] -- jdbcconfig cache bug,changed the workspace name

    [GEOS-10813] -- jdbcconfig cache bug,changed the workspace name

    GEOS-10813

    See jira ticket for details.

    Checklist

    For core and extension modules:

    • [ ] New unit tests have been added covering the changes.
    • [ ] Documentation has been updated (if change is visible to end users).
    • [ ] The REST API docs have been updated (when changing configuration objects or the REST controllers).
    • [ ] There is an issue in the GeoServer Jira (except for changes that do not affect administrators or end users in any way).
    • [ ] Commit message(s) must be in the form [GEOS-XYZWV] Title of the Jira ticket.
    • [x] Bug fixes and small new features are presented as a single commit.
    • [x] Each commit has a single objective (if there are multiple commits, each has a separate JIRA ticket describing its goal).
    opened by Tian-geer 1
  • [GEOS-10794] Add a new vector data source (Web Feature Server (NG)) Filter compliance level bug

    [GEOS-10794] Add a new vector data source (Web Feature Server (NG)) Filter compliance level bug

    GEOS-10794

    Support for proper auto-completion when having multiple select 2 dropdowns had side effects on the WFS config panel, because of the param titles in that store (looks like a wrong component path to jQuery). I've added a test to make sure we have simple yet unique identifier that won't confused jQuery, but the actual reported issue can only be tested interactively in a browser (used to throw exceptions only visible in the javascript console)

    Checklist

    For core and extension modules:

    • [x] New unit tests have been added covering the changes.
    • [ ] Documentation has been updated (if change is visible to end users).
    • [ ] The REST API docs have been updated (when changing configuration objects or the REST controllers).
    • [x] There is an issue in the GeoServer Jira (except for changes that do not affect administrators or end users in any way).
    • [x] Commit message(s) must be in the form [GEOS-XYZWV] Title of the Jira ticket.
    • [x] Bug fixes and small new features are presented as a single commit.
    • [x] Each commit has a single objective (if there are multiple commits, each has a separate JIRA ticket describing its goal).
    opened by aaime 0
  • Bump hazelcast from 3.11.1 to 3.12.13 in /src

    Bump hazelcast from 3.11.1 to 3.12.13 in /src

    Bumps hazelcast from 3.11.1 to 3.12.13.

    Release notes

    Sourced from hazelcast's releases.

    3.12.13 release

    v3.12.12

    3.12.12 release

    v3.12.11

    3.12.11 release

    v3.12.10

    3.12.10 release

    3.12.9

    This document includes the new features, enhancements and fixed issues for Hazelcast IMDG v3.12.9, Open Source edition release.

    Enhancements

    • Updated the hazelcast-kubernetes dependency version to 1.5.4. #17256

    • Added support for tenant control when creating caches. #17121

    Fixes

    • Fixed a race issue when creating a cache (JCache) using multiple methods with the same cache name but having different keys. #17284

    • Fixed an issue where the repeated calls of executeOnKeys() in Hazelcast clients for NATIVE maps was causing a continuous increase in the used memory and exhaustion of the memory pool after a while. #17271

    • Fixed a performance issue when using paging predicates with JDK 8. #17213

    • Fixed an issue where ReliableTopicMessageListener was firing a warning when the client is shutting down. #17070

    • Fixed an issue where the client-side HazelcastInstance was not throwing a configuration exception when there is a conflict between the dynamic and static configurations. #16927

    Contributors

    We would like to thank the contributors from our open source community who worked on this release:

    3.12.8

    This document includes the new features, enhancements and fixed issues for Hazelcast IMDG v3.12.8, Open Source edition release.

    Enhancements

    • Introduced WAN throttling mechanism: this prevents the WAN consumers from getting overloaded by the WAN producers if transferring the WAN events takes less time than processing them in the target cluster. This can be the case with WAN synchronization if the network latency is low enough. It can be configured using the following properties:

      • hazelcast.wan.consumer.invocation.threshold

      • hazelcast.wan.consumer.ack.delay.backoff.init

      • hazelcast.wan.consumer.ack.delay.backoff.max

    ... (truncated)

    Commits
    • 40e63ea Adding RN for IMDG OS 3.12.13
    • 279584c 3.12.13
    • ad21afb Add/Backport OWASP dependency-check-maven plugin configuration (3.12.z) (#21971)
    • f6d1baa [3.12.z] Remember previously joined member addresses in TcpIpJoiner (#21860)
    • 2800fcb [HZ-1202] Make TcpIpConnection.equals more robust (3.12.z) (#21885)
    • 819e2c9 Remove GH action for creating devopshazelcast Docker image Snapshots as we ha...
    • 53193f7 Fix animal sniffer errors by updating the plugin version
    • ba924d4 backport PR #19106 - don't use hazelcas-all in docker snaphost images, use ba...
    • b2f817e Update hazelcast-kubernetes dependency version (#18935)
    • 95aed3d Fix ClientInvocation Retry
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • [GEOS-10807] LayerGroup with nested group POST rest op fails with null styles attribute

    [GEOS-10807] LayerGroup with nested group POST rest op fails with null styles attribute

    GEOS-10807

    See jira ticket for details.

    Checklist

    For core and extension modules:

    • [x] New unit tests have been added covering the changes.
    • [ ] Documentation has been updated (if change is visible to end users).
    • [ ] The REST API docs have been updated (when changing configuration objects or the REST controllers).
    • [x] There is an issue in the GeoServer Jira (except for changes that do not affect administrators or end users in any way).
    • [x] Commit message(s) must be in the form [GEOS-XYZWV] Title of the Jira ticket.
    • [x] Bug fixes and small new features are presented as a single commit.
    • [x] Each commit has a single objective (if there are multiple commits, each has a separate JIRA ticket describing its goal).
    backport 2.21.x backport 2.22.x 
    opened by taba90 0
Releases(2.21.3)
  • 2.21.3(Dec 28, 2022)

    Release Notes

    Maintenance release of GeoServer 2.21 series.

    New Feature

    • GEOS-10716 Build schema for simple feature types leveraging column descriptions, when available

    • GEOS-10734 SpatialJSON WFS output format community module

    • GEOS-10758 OGCAPI - Features - Add storageCrs property for Collections

    Improvement

    • GEOS-10606 Generate html notice and license information for release assemblies

    • GEOS-10673 Add example of using FlatGeobuf granules to the Vector Mosaic documentation

    • GEOS-10696 Allow configuration of Output Format types allowed in GetFeature

    • GEOS-10717 XStreamServiceLoader performance improvement with XstreamPersister caching

    • GEOS-10718 [OIDC] the OIDC plugin does not currently take into account the id_token_hint parameter

    • GEOS-10735 Obfuscate secret key in S3 Blob Store, avoiding requiring reentry when editing and HTML source visibility

    • GEOS-10746 STAC Sortables should be a subset of the configured queryables

    • GEOS-10755 WCS 2.0 module should not use string concatenation to build XML

    • GEOS-10762 Allow enabling auto-escaping for WMS GetFeatureInfo HTML templates

    • GEOS-10773 Enable localized MapML responses that use WMS language parameter

    • GEOS-10777 Update MapML viewer to latest release

    • GEOS-10790 Allow to control map transparency in DownloadMapProcess

    • GEOS-10810 Enable internationalized layer label / MapML document title

    Bug

    • GEOS-4727 Editing SQL views seems to be leaking connections

    • GEOS-10632 Make sure GetLegendGraphics honors the WMS memory service limits

    • GEOS-10667 WFS: inconsistent srsDimension=4 with topp:tasmania_roads layer

    • GEOS-10707 GeoFence internal LayerGroup Limit merge inconsistency

    • GEOS-10710 Features Templating backward mapping with back xpath ('../my/property/name') doesn't work

    • GEOS-10714 DefaultGeoServerFacade throws ConcurrentModificationException for workspace settings and services

    • GEOS-10729 Concurrent access on data access rules (authorization) can lead to loss of configured catalog mode, and lost rules

    • GEOS-10731 GWC variable Parameterization does not work with geoserver-environment.properties due to the bean initialization order

    • GEOS-10736 OSEO product creation via REST API fails if the product id starts with a valid ISO date

    • GEOS-10737 GeoCSS misses support for labelInFeatureInfo and labelAttributeName vendor options

    • GEOS-10741 Remove deprecated YUI usage

    • GEOS-10753 GeoServer can create GML output that is not valid XML

    • GEOS-10757 CITE: WMS