diff options
Diffstat (limited to 'ishtar_common/models.py')
| -rw-r--r-- | ishtar_common/models.py | 24 | 
1 files changed, 24 insertions, 0 deletions
| diff --git a/ishtar_common/models.py b/ishtar_common/models.py index c246380d5..a17bcac03 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -1765,6 +1765,23 @@ class GeoItem(models.Model):      def get_town_polygons(self):          raise NotImplementedError +    @property +    def display_coordinates(self): +        if not self.point_2d: +            return "" +        profile = get_current_profile() +        if not profile.display_srs or not profile.display_srs.srid: +            return self.x, self.y +        point = self.point_2d.transform(profile.display_srs.srid, clone=True) +        return round(point.x, 5), round(point.y, 5) + +    @property +    def display_spatial_reference_system(self): +        profile = get_current_profile() +        if not profile.display_srs or not profile.display_srs.srid: +            return self.spatial_reference_system +        return profile.display_srs +      def get_precise_points(self):          if self.point_source == 'P' and self.point_2d:              return self.point_2d, self.point, self.point_source_item @@ -2526,6 +2543,13 @@ class IshtarSiteProfile(models.Model, Cached):          default='SRID=4326;POINT(2.4397 46.5528)')      default_zoom = models.IntegerField(          _("Maps - default zoom"), default=6) +    display_srs = models.ForeignKey( +        SpatialReferenceSystem, +        verbose_name=_("Spatial Reference System for display"), +        blank=True, null=True, +        help_text=_("Spatial Reference System used for display when no SRS is " +                    "defined") +    )      class Meta:          verbose_name = _("Ishtar site profile") | 
