MapStore - React map viewer for GeoNode
Install node
and npm
. We would encourage you to use nvm a version manager for node.
You need node > 5
Run npm install
to install all dependencies.
Run npm start
to start the development server. Visit your browser at http://localhost:8080
to see the result.
During development run npm run test:watch
to run tests on every file change.
Run npm test
to run the full test suite with code coverage report.
- Building is done via webpack and the command is
npm build
- The dist folder is where the minified versions of these files are stored.
Automated deployment via travis is enabled for the master branch.
If you want to deploy manually to gh-pages use npm run deploy
The deplyoment uses the index-gh.html
please keep this file in sync with index.html
and change the path once the repo changes it's name. The .travis.yml
needs to be changed as well.
- Execute
pip install django-mapstore-adapter --upgrade
- Execute
pip install django-geonode-mapstore-client --upgrade
Update your GeoNode
> settings.py
as follows:
# To enable the MapStore2 based Client enable those
if 'geonode_mapstore_client' not in INSTALLED_APPS:
INSTALLED_APPS += (
'mapstore2_adapter',
'geonode_mapstore_client',)
GEONODE_CLIENT_LAYER_PREVIEW_LIBRARY = 'mapstore' # DEPRECATED use HOOKSET instead
GEONODE_CLIENT_HOOKSET = "geonode_mapstore_client.hooksets.MapStoreHookSet"
MAPSTORE_DEBUG = False
def get_geonode_catalogue_service():
if PYCSW:
pycsw_config = PYCSW["CONFIGURATION"]
if pycsw_config:
pycsw_catalogue = {
("%s" % pycsw_config['metadata:main']['identification_title']): {
"url": CATALOGUE['default']['URL'],
"type": "csw",
"title": pycsw_config['metadata:main']['identification_title'],
"autoload": True
}
}
return pycsw_catalogue
return None
GEONODE_CATALOGUE_SERVICE = get_geonode_catalogue_service()
MAPSTORE_CATALOGUE_SERVICES = {
"Demo WMS Service": {
"url": "https://demo.geo-solutions.it/geoserver/wms",
"type": "wms",
"title": "Demo WMS Service",
"autoload": False
},
"Demo WMTS Service": {
"url": "https://demo.geo-solutions.it/geoserver/gwc/service/wmts",
"type": "wmts",
"title": "Demo WMTS Service",
"autoload": False
}
}
MAPSTORE_CATALOGUE_SELECTED_SERVICE = "Demo WMS Service"
if GEONODE_CATALOGUE_SERVICE:
MAPSTORE_CATALOGUE_SERVICES[GEONODE_CATALOGUE_SERVICE.keys()[0]] = GEONODE_CATALOGUE_SERVICE[GEONODE_CATALOGUE_SERVICE.keys()[0]]
MAPSTORE_CATALOGUE_SELECTED_SERVICE = GEONODE_CATALOGUE_SERVICE.keys()[0]
DEFAULT_MS2_BACKGROUNDS = [{
"type": "osm",
"title": "Open Street Map",
"name": "mapnik",
"source": "osm",
"group": "background",
"visibility": True
},
{
"group": "background",
"name": "osm",
"source": "mapquest",
"title": "MapQuest OSM",
"type": "mapquest",
"visibility": False
},
{
"type": "wms",
"url": "https://demo.geo-solutions.it/geoserver/wms",
"visibility": False,
"title": "Natural Earth",
"name": "sde:NE2_HR_LC_SR_W_DR",
"group": "background",
"format": "image/png"
},
{
"type": "wms",
"url": "https://demo.geo-solutions.it/geoserver/wms",
"visibility": False,
"title": "Hypsometric",
"name": "sde:HYP_HR_SR_OB_DR",
"group": "background",
"format": "image/png"
},
{
"type": "wms",
"url": "https://demo.geo-solutions.it/geoserver/wms",
"visibility": False,
"title": "Gray Earth",
"name": "sde:GRAY_HR_SR_OB_DR",
"group": "background",
"format": "image/png"
}
]
MAPSTORE_BASELAYERS = DEFAULT_MS2_BACKGROUNDS
if 'geonode.geoserver' in INSTALLED_APPS:
LOCAL_GEOSERVER = {
"type": "wms",
"url": OGC_SERVER['default']['PUBLIC_LOCATION'] + "wms",
"visibility": True,
"title": "Local GeoServer",
"group": "background",
"format": "image/png8",
"restUrl": "/gs/rest"
}
- Execute
DJANGO_SETTINGS_MODULE=<your_geonode.settings> python manage.py migrate
- Execute
DJANGO_SETTINGS_MODULE=<your_geonode.settings> python manage.py collectstatic