From ffd77fbc849fa9930411b024057bd2baabe71653 Mon Sep 17 00:00:00 2001 From: Muhammad Anis Date: Tue, 1 Aug 2017 11:58:15 +0700 Subject: [PATCH] Add geoserver backend --- deployment/docker-compose.yml | 7 ++ django_project/core/settings/project.py | 143 +++++++++++++++++++++++- django_project/core/urls.py | 3 + 3 files changed, 152 insertions(+), 1 deletion(-) diff --git a/deployment/docker-compose.yml b/deployment/docker-compose.yml index a317a61..cd1298c 100644 --- a/deployment/docker-compose.yml +++ b/deployment/docker-compose.yml @@ -76,6 +76,7 @@ uwsgi: links: - smtp:smtp - db:db + - geoserver:geoserver restart: always dbbackups: @@ -181,3 +182,9 @@ worker: - db:db - rabbitmq:rabbitmq restart: on-failure:5 + +geoserver: + image: kartoza/geoserver + container_name: haitidata-geoserver + ports: + - "33308:8080" diff --git a/django_project/core/settings/project.py b/django_project/core/settings/project.py index 52a3faa..8e09c8a 100644 --- a/django_project/core/settings/project.py +++ b/django_project/core/settings/project.py @@ -59,4 +59,145 @@ from .celery_setting import * # noqa # default login url LOGIN_URL = '/account/login/' -ALLOWED_DOCUMENT_TYPES = ["pdf"] +# Load more settings from geonode settings +try: + from geonode import settings +except: + pass + +OGC_SERVER = { + 'default': { + 'LOCATION' : 'http://geoserver:8080/geoserver/', + 'USER' : 'admin', + 'PASSWORD' : 'geoserver', + } +} + +API_INCLUDE_REGIONS_COUNT = False +HAYSTACK_SEARCH = False +RESOURCE_PUBLISHING = True +SITEURL = os.getenv('SITEURL', "http://localhost:33300/") + +# Uploader Settings +UPLOADER = { + 'BACKEND': 'geonode.rest', + 'OPTIONS': { + 'TIME_ENABLED': False, + 'MOSAIC_ENABLED': False, + 'GEOGIG_ENABLED': False, + } +} + +# CSW settings +CATALOGUE = { + 'default': { + # The underlying CSW implementation + # default is pycsw in local mode (tied directly to GeoNode Django DB) + 'ENGINE': 'geonode.catalogue.backends.pycsw_local', + # pycsw in non-local mode + # 'ENGINE': 'geonode.catalogue.backends.pycsw_http', + # GeoNetwork opensource + # 'ENGINE': 'geonode.catalogue.backends.geonetwork', + # deegree and others + # 'ENGINE': 'geonode.catalogue.backends.generic', + + # The FULLY QUALIFIED base url to the CSW instance for this GeoNode + 'URL': '%scatalogue/csw' % SITEURL, + # 'URL': 'http://localhost:8080/geonetwork/srv/en/csw', + # 'URL': 'http://localhost:8080/deegree-csw-demo-3.0.4/services', + + # login credentials (for GeoNetwork) + # 'USER': 'admin', + # 'PASSWORD': 'admin', + } +} + +# pycsw settings +PYCSW = { + # pycsw configuration + 'CONFIGURATION': { + # uncomment / adjust to override server config system defaults + # 'server': { + # 'maxrecords': '10', + # 'pretty_print': 'true', + # 'federatedcatalogues': 'http://catalog.data.gov/csw' + # }, + 'metadata:main': { + 'identification_title': 'GeoNode Catalogue', + 'identification_abstract': 'GeoNode is an open source platform' \ + ' that facilitates the creation, sharing, and collaborative use' \ + ' of geospatial data', + 'identification_keywords': 'sdi, catalogue, discovery, metadata,' \ + ' GeoNode', + 'identification_keywords_type': 'theme', + 'identification_fees': 'None', + 'identification_accessconstraints': 'None', + 'provider_name': 'Organization Name', + 'provider_url': SITEURL, + 'contact_name': 'Lastname, Firstname', + 'contact_position': 'Position Title', + 'contact_address': 'Mailing Address', + 'contact_city': 'City', + 'contact_stateorprovince': 'Administrative Area', + 'contact_postalcode': 'Zip or Postal Code', + 'contact_country': 'Country', + 'contact_phone': '+xx-xxx-xxx-xxxx', + 'contact_fax': '+xx-xxx-xxx-xxxx', + 'contact_email': 'Email Address', + 'contact_url': 'Contact URL', + 'contact_hours': 'Hours of Service', + 'contact_instructions': 'During hours of service. Off on ' \ + 'weekends.', + 'contact_role': 'pointOfContact', + }, + 'metadata:inspire': { + 'enabled': 'true', + 'languages_supported': 'eng,gre', + 'default_language': 'eng', + 'date': 'YYYY-MM-DD', + 'gemet_keywords': 'Utility and governmental services', + 'conformity_service': 'notEvaluated', + 'contact_name': 'Organization Name', + 'contact_email': 'Email Address', + 'temp_extent': 'YYYY-MM-DD/YYYY-MM-DD', + } + } +} + +# GeoNode javascript client configuration + +# default map projection +# Note: If set to EPSG:4326, then only EPSG:4326 basemaps will work. +DEFAULT_MAP_CRS = "EPSG:900913" + +# Where should newly created maps be focused? +DEFAULT_MAP_CENTER = (0, 0) + +# How tightly zoomed should newly created maps be? +# 0 = entire world; +# maximum zoom is between 12 and 15 (for Google Maps, coverage varies by area) +DEFAULT_MAP_ZOOM = 0 + +ALT_OSM_BASEMAPS = os.environ.get('ALT_OSM_BASEMAPS', False) +CARTODB_BASEMAPS = os.environ.get('CARTODB_BASEMAPS', False) +STAMEN_BASEMAPS = os.environ.get('STAMEN_BASEMAPS', False) +THUNDERFOREST_BASEMAPS = os.environ.get('THUNDERFOREST_BASEMAPS', False) +MAPBOX_ACCESS_TOKEN = os.environ.get('MAPBOX_ACCESS_TOKEN', None) +BING_API_KEY = os.environ.get('BING_API_KEY', None) + +MAP_BASELAYERS = [{ + "source": {"ptype": "gxp_olsource"}, + "type": "OpenLayers.Layer", + "args": ["No background"], + "name": "background", + "visibility": False, + "fixed": True, + "group":"background" +}, { + "source": {"ptype": "gxp_osmsource"}, + "type": "OpenLayers.Layer.OSM", + "name": "mapnik", + "visibility": True, + "fixed": True, + "group": "background" +}] diff --git a/django_project/core/urls.py b/django_project/core/urls.py index 3ea307d..5f1ebbf 100644 --- a/django_project/core/urls.py +++ b/django_project/core/urls.py @@ -13,4 +13,7 @@ urlpatterns = i18n_patterns( url(r'^table/', include('wfs_harvest.urls')), url(r'^geonode/document/', include('geonode.documents.urls')), url(r'^geonode/maps/', include('geonode.maps.urls')), + url(r'^geonode/people/', include('geonode.people.urls')), + url(r'^geonode/groups/', include('geonode.groups.urls')), + url(r'^geonode/', include('geonode.urls')), )