MapStore is an open-source web mapping framework that enables users to create, share, and embed maps and dashboards with ease, drawing from a broad range of geospatial data sources. Designed for flexibility and scalability, MapStore integrates seamlessly with OpenLayers, Leaflet, and Cesium for both 2D and 3D visualization, allowing users to explore maps in a dynamic, real-time environment.
With built-in support for OGC standards (such as WMS, WMTS, WFS, 3DTiles and CSW), MapStore caters to the needs of professional GIS users while maintaining an intuitive interface for casual users. It supports rich feature configurations like layer styling, spatial analysis tools, and collaborative editing, making it a robust solution for diverse industries—from urban planning to environmental monitoring.
MapStore's architecture is designed for modularity and extensibility, allowing developers to integrate custom plugins or adapt it for specific use cases. Whether you need to create interactive maps for publication or sophisticated geospatial applications, MapStore2 provides a solid foundation for building powerful web mapping solutions.
For more information check the MapStore documentation!
You can find more documentation about how to build, install or develop with MapStore on the documentation site.
MapStore is Free and Open Source software, it is based on OpenLayers, Cesium, Leaflet and ReactJS, and is licensed under the Simplified BSD License.
We have the following instances:
- a DEV instance, which can be accessed here, where all the changes are deployed once they are published on the Master branch of our repo
- a QA instance, which can be accessed here, that becomes active 1 week before any release, during the hardening phase, and deploys the release branch whenever a fix is pushed onto it.
- a STABLE instance, which can be accessed here, that gets deployed on demand after each release.
As a user you need to be aware of STABLE and DEV, QA is used internally before a release; for 1 Week it will diverge from STABLE as it is actually anticipating the next stable. So, if you want to test latest features use DEV, if you are not that brave use STABLE. You might forget that QA exists unless you are parte of the developers team.
You can download the WAR file from the latest release MapStore documentation!
There are two quick ways to test out MapStore. Either using Docker (all tags are available in the geosolutions dockerhub) or a local java web container like Apache Tomcat
Pull the latest image from Docker Hub:
docker pull geosolutionsit/mapstore2
docker run --name mapstore -p 8080:8080 geosolutionsit/mapstore2
Then you can access MapStore using the following URL:
http://localhost:8080/mapstore
Use the default credentials (admin / admin) to login and start creating your maps!
-
To test a different release of MapStore, you should change the
MAPSTORE_WEBAPP_SRC
build argument in the docker-compose file. -
You should change the value of
POSTGRES_PASSWORD
for more security. -
Due to proxy binding on host port 80, you may need to run docker-compose as root.
-
To spin up the environment run:
docker-compose up -d
Note: Take in consideration due to the requirements of the deployment, you should update the docker-compose to the latest version.
-
After the docker-compose finish, you can access to the site using following URL:
-
Use the default credentials (admin / admin) to login and start creating your maps!
-
After finished the test you can stop the environment with the command:
docker-compose down
-
To clean the full environment:
docker-compose down --remove-orphans --rmi all -v
After downloading the MapStore war file, install it in your java web container (e.g. Tomcat), with usual procedures for the container (normally you only need to copy the war file in the webapps subfolder).
Check out here which version of Java and Tomcat are needed.
Then you can access MapStore using the following URL (assuming the web container is on the standard 8080 port):
http://localhost:8080/mapstore
Use the default credentials (admin / admin) to login and start creating your maps!
Clone the repository:
git clone https://github.com/geosolutions-it/MapStore2.git
Install NodeJS (with npm), Java and Maven following the requirements here
Install docma to build the documentation
npm install -g docma
Start the demo locally:
npm cache clean
(this is useful to prevent errors on Windows during install)
npm install
npm start
The demo runs at http://localhost:8081 afterwards (with the Java back-end running at port http://localhost:8080
).
Build the deployable war:
./build.sh [version_identifier]
Where version_identifier
is an optional identifier of the generated war that will be shown in the settings panel of the application.
Deploy the generated mapstore.war
file (in product/target
) to your favorite J2EE container (e.g. Tomcat).
Read more on the documentation site.
MapStore is being developed by GeoSolutions hence you can talk to us for professional support. Anyway the project is a real Open Source project hence you can contribute to it (see section below).
We currently have two mailing list:
one for users
one for developers.
The first one is for those who are willing to use MapStore and need help/directions, the latter is for those trying to extend/proposed fixes for MapStore.
We welcome contributions in any form:
- pull requests for new features
- pull requests for bug fixes
- pull requests for documentation
- funding for any combination of the above
For more information check this page.
Here below is a small list of organizations using MapStore either directly or through GeoNode. If you want us to add ( or remove 😟 ) your organization from this list, please, contact simone.giannecchini@geosolutionsgroup.com .
- City of Genova - Italy
- City of Bozen - Italy
- City of Florence - Italy
- City of Munich - Germany
- Rennes Metropole - France
- CRAIG - France
- Compagnie Nationale du Rhone - France
- Urban Brussles (BruGIS) - Belgium
- Atlas Horizon 2020, this is based on GeoNode
- Whanganui District Council - New Zealand
- Otorohanga District Council - New Zealand
- Wairoa District Council - New Zealand
- Cleveland Metroparks - USA
- Minerva - Canada
- Moldova National GeoPortal
- Region of Tuscany, Hydrologic Service - Italy
- Neftex Halliburton - UK
- Dhiantus - Sweden
- LaMMa Consortium - Italy
- Arno River Authority - Italy
- Austrocontrol - Austria
- Earth-i - UK
- MapStand - UK
- County of Milan - Italy
- Nordeste Municipality - Portugal
- Corvo Muncipality - Portugal
- Lajes das Flores Municipality - Portal