Skip to content

Commit

Permalink
[Fixes #11] Maps migrated from GeoExplorer don't display the correct …
Browse files Browse the repository at this point in the history
…initial extent in MapStore
  • Loading branch information
afabiani committed Nov 20, 2019
1 parent 9726cbd commit a1e39ab
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 9 deletions.
19 changes: 18 additions & 1 deletion mapstore2_adapter/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
# LICENSE file in the root directory of this source tree.
#
#########################################################################

import logging
import pkg_resources

from pkgutil import extend_path
Expand All @@ -17,6 +17,23 @@
__path__ = extend_path(__path__, __name__) # noqa
__version__ = pkg_resources.require("django-mapstore-adapter")[0].version

logger = logging.getLogger(__name__)


def fixup_map(map_id):
""" ------------------------------------- Maps Fix """
from geonode.maps.models import Map
from django.contrib.auth import get_user_model
from mapstore2_adapter.api.models import MapStoreResource
for _m in Map.objects.filter(id=map_id):
try:
_u = get_user_model().objects.get(username=_m.owner.username)
_mm, _created = MapStoreResource.objects.get_or_create(id=_m.id, user_id=_u.id)
if _created:
_mm.save()
except BaseException as e:
logger.exception(e)


class DjangoMapstore2AdapterBaseException(Exception):
"""Base class for exceptions in this module."""
Expand Down
5 changes: 1 addition & 4 deletions mapstore2_adapter/apps.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,6 @@ class AppConfig(BaseAppConfig):
verbose_name = _("Django MapStore2 Adapter")

def ready(self):
"""Connect relevant signals to their corresponding handlers"""
"""
NO SIGNALS DEFINED YET
"""
"""Finalize setup"""
run_setup_hooks()
super(AppConfig, self).ready()
14 changes: 10 additions & 4 deletions mapstore2_adapter/plugins/geonode.py
Original file line number Diff line number Diff line change
Expand Up @@ -148,12 +148,16 @@ def convert(self, viewer, request):
else:
# We are getting the configuration of a Map
# On GeoNode model the Map Center is always saved in 4326
_x = get_valid_number(viewer_obj['map']['center'][0])
_y = get_valid_number(viewer_obj['map']['center'][1])
_crs = 'EPSG:4326'
if _x > 360.0 or _x < -360.0:
_crs = viewer_obj['map']['projection']
ms2_map['center'] = {
'x': get_valid_number(viewer_obj['map']['center'][0]),
'y': get_valid_number(viewer_obj['map']['center'][1]),
'crs': 'EPSG:4326'
'x': _x,
'y': _y,
'crs': _crs
}

try:
# - extract from GeoNode guardian
from geonode.maps.views import (_resolve_map,
Expand Down Expand Up @@ -197,8 +201,10 @@ def convert(self, viewer, request):

# Additional Configurations
if map_id:
from mapstore2_adapter import fixup_map
from mapstore2_adapter.api.models import MapStoreResource
try:
fixup_map(map_id)
ms2_resource = MapStoreResource.objects.get(id=map_id)
ms2_map_data = ms2_resource.data.blob
if 'map' in ms2_map_data:
Expand Down

0 comments on commit a1e39ab

Please sign in to comment.