diff options
Diffstat (limited to 'apps/locations')
-rw-r--r-- | apps/locations/__init__.py | 0 | ||||
-rw-r--r-- | apps/locations/admin.py | 295 | ||||
-rw-r--r-- | apps/locations/models.py | 190 | ||||
-rw-r--r-- | apps/locations/urls.py | 7 | ||||
-rw-r--r-- | apps/locations/views.py | 25 |
5 files changed, 0 insertions, 517 deletions
diff --git a/apps/locations/__init__.py b/apps/locations/__init__.py deleted file mode 100644 index e69de29..0000000 --- a/apps/locations/__init__.py +++ /dev/null diff --git a/apps/locations/admin.py b/apps/locations/admin.py deleted file mode 100644 index a23ef28..0000000 --- a/apps/locations/admin.py +++ /dev/null @@ -1,295 +0,0 @@ -from django.contrib import admin -from django.contrib.gis.admin import OSMGeoAdmin -from locations.models import Region,Country,Location,State,Route -from django.contrib import databrowse -from django.contrib.gis.maps.google import GoogleMap -from django.conf import settings - -GMAP = GoogleMap(key=settings.GOOGLE_MAPS_API_KEY) -databrowse.site.register(Region) - -class RegionAdmin(OSMGeoAdmin): - # Standard Django Admin Options - list_display = ('name','slug') - prepopulated_fields = {'slug': ('name',)} - search_fields = ('name',) - ordering = ('name',) - save_as = True - search_fields = ['name',] - list_select_related = True - fieldsets = ( - ('Region', {'fields': ('name','slug','pub_date'), 'classes': ('show','extrapretty')}), - ('Editable Map View', {'fields': ('geometry',), 'classes': ('show', 'wide')}), - ) - extra_js = [GMAP.api_url + GMAP.key] - map_template = 'gis/admin/google.html' - # Default GeoDjango OpenLayers map options - # Uncomment and modify as desired - # To learn more about this jargon visit: - # www.openlayers.org - - #default_lon = 0 - #default_lat = 0 - #default_zoom = 4 - #display_wkt = False - #display_srid = False - #extra_js = [] - #num_zoom = 18 - #max_zoom = False - #min_zoom = False - #units = False - #max_resolution = False - #max_extent = False - #modifiable = True - #mouse_position = True - #scale_text = True - #layerswitcher = True - scrollable = False - #admin_media_prefix = settings.ADMIN_MEDIA_PREFIX - map_width = 700 - map_height = 325 - #map_srid = 4326 - #map_template = 'gis/admin/openlayers.html' - #openlayers_url = 'http://openlayers.org/api/2.6/OpenLayers.js' - #wms_url = 'http://labs.metacarta.com/wms/vmap0' - #wms_layer = 'basic' - #wms_name = 'OpenLayers WMS' - #debug = False - #widget = OpenLayersWidget - -# Finally, with these options set now register the model -# associating the Options with the actual model -admin.site.register(Region,RegionAdmin) - -class CountryAdmin(OSMGeoAdmin): - """ - # Standard Django Admin Options - list_display = ('name','slug','region') - prepopulated_fields = {'slug': ('name',)} - search_fields = ('name',) - ordering = ('name',) - save_as = True - search_fields = ['name',] - list_select_related = True - fieldsets = ( - ('Country', {'fields': ('name','slug','abbr','region','pub_date'), 'classes': ('show','extrapretty')}), - ('Editable Map View', {'fields': ('geometry',), 'classes': ('show', 'wide')}), - ) - """ - - # Standard Django Admin Options - list_display = ('name','pop2005','region','subregion',) - search_fields = ('name',) - ordering = ('name',) - list_filter = ('visited','region','subregion',) - save_as = True - search_fields = ['name','iso2','iso3','subregion','region'] - list_select_related = True - fieldsets = ( - ('Country Attributes', {'fields': (('name','pop2005','slug','zoom_level','visited')), 'classes': ('show','extrapretty')}), - ('Country Codes', {'fields': ('region','subregion','iso2','iso3','un',), 'classes': ('collapse',)}), - ('Area and Coordinates', {'fields': ('area','lat','lon',), 'classes': ('collapse', 'wide')}), - ('Editable Map View', {'fields': ('geometry',), 'classes': ('show', 'wide')}), - ) - - extra_js = [GMAP.api_url + GMAP.key] - map_template = 'gis/admin/google.html' - # Default GeoDjango OpenLayers map options - # Uncomment and modify as desired - # To learn more about this jargon visit: - # www.openlayers.org - - #default_lon = 0 - #default_lat = 0 - #default_zoom = 4 - #display_wkt = False - #display_srid = False - #extra_js = [] - #num_zoom = 18 - #max_zoom = False - #min_zoom = False - #units = False - #max_resolution = False - #max_extent = False - #modifiable = True - #mouse_position = True - #scale_text = True - #layerswitcher = True - scrollable = False - #admin_media_prefix = settings.ADMIN_MEDIA_PREFIX - map_width = 700 - map_height = 325 - #map_srid = 4326 - #map_template = 'gis/admin/openlayers.html' - #openlayers_url = 'http://openlayers.org/api/2.6/OpenLayers.js' - #wms_url = 'http://labs.metacarta.com/wms/vmap0' - #wms_layer = 'basic' - #wms_name = 'OpenLayers WMS' - #debug = False - #widget = OpenLayersWidget - -# Finally, with these options set now register the model -# associating the Options with the actual model -admin.site.register(Country,CountryAdmin) - - - -class StateAdmin(OSMGeoAdmin): - # Standard Django Admin Options - list_display = ('name','code','slug','country') - prepopulated_fields = {'slug': ('name',)} - search_fields = ('name','country') - ordering = ('name',) - save_as = True - search_fields = ['name',] - list_select_related = True - fieldsets = ( - ('Location', {'fields': ('name','slug','code','pub_date','country'), 'classes': ('show','extrapretty')}), - ('Editable Map View', {'fields': ('geometry',), 'classes': ('show', 'wide')}), - ) - extra_js = [GMAP.api_url + GMAP.key] - map_template = 'gis/admin/google.html' - # Default GeoDjango OpenLayers map options - # Uncomment and modify as desired - # To learn more about this jargon visit: - # www.openlayers.org - - #default_lon = 0 - #default_lat = 0 - #default_zoom = 4 - #display_wkt = False - #display_srid = False - #extra_js = [] - #num_zoom = 18 - #max_zoom = False - #min_zoom = False - #units = False - #max_resolution = False - #max_extent = False - #modifiable = True - #mouse_position = True - #scale_text = True - #layerswitcher = True - scrollable = False - #admin_media_prefix = settings.ADMIN_MEDIA_PREFIX - map_width = 700 - map_height = 325 - #map_srid = 4326 - #map_template = 'gis/admin/openlayers.html' - #openlayers_url = 'http://openlayers.org/api/2.6/OpenLayers.js' - #wms_url = 'http://labs.metacarta.com/wms/vmap0' - #wms_layer = 'basic' - #wms_name = 'OpenLayers WMS' - #debug = False - #widget = OpenLayersWidget - -# Finally, with these options set now register the model -# associating the Options with the actual model -admin.site.register(State,StateAdmin) - -class LocationAdmin(OSMGeoAdmin): - # Standard Django Admin Options - list_display = ('name','slug','state') - prepopulated_fields = {'slug': ('name',)} - search_fields = ('name','state') - ordering = ('name',) - save_as = True - search_fields = ['name',] - list_select_related = True - fieldsets = ( - ('Location', {'fields': ('name','slug','pub_date','state'), 'classes': ('show','extrapretty')}), - ('Editable Map View', {'fields': ('geometry',), 'classes': ('show', 'wide')}), - ) - extra_js = [GMAP.api_url + GMAP.key] - map_template = 'gis/admin/google.html' - # Default GeoDjango OpenLayers map options - # Uncomment and modify as desired - # To learn more about this jargon visit: - # www.openlayers.org - - #default_lon = 0 - #default_lat = 0 - #default_zoom = 4 - #display_wkt = False - #display_srid = False - #extra_js = [] - #num_zoom = 18 - #max_zoom = False - #min_zoom = False - #units = False - #max_resolution = False - #max_extent = False - #modifiable = True - #mouse_position = True - #scale_text = True - #layerswitcher = True - scrollable = False - #admin_media_prefix = settings.ADMIN_MEDIA_PREFIX - map_width = 700 - map_height = 325 - #map_srid = 4326 - #map_template = 'gis/admin/openlayers.html' - #openlayers_url = 'http://openlayers.org/api/2.6/OpenLayers.js' - #wms_url = 'http://labs.metacarta.com/wms/vmap0' - #wms_layer = 'basic' - #wms_name = 'OpenLayers WMS' - #debug = False - #widget = OpenLayersWidget - -# Finally, with these options set now register the model -# associating the Options with the actual model -admin.site.register(Location,LocationAdmin) - -class RouteAdmin(OSMGeoAdmin): - # Standard Django Admin Options - list_display = ('name','slug',) - prepopulated_fields = {'slug': ('name',)} - search_fields = ('name',) - ordering = ('name',) - save_as = True - search_fields = ['name',] - list_select_related = True - fieldsets = ( - ('Location', {'fields': ('name','slug','pub_date','template_var_name','zoom'), 'classes': ('show','extrapretty')}), - ('Editable Map View', {'fields': ('geometry',), 'classes': ('show', 'wide')}), - ) - extra_js = [GMAP.api_url + GMAP.key] - map_template = 'gis/admin/google.html' - # Default GeoDjango OpenLayers map options - # Uncomment and modify as desired - # To learn more about this jargon visit: - # www.openlayers.org - - #default_lon = 0 - #default_lat = 0 - #default_zoom = 4 - #display_wkt = False - #display_srid = False - #extra_js = [] - #num_zoom = 18 - #max_zoom = False - #min_zoom = False - #units = False - #max_resolution = False - #max_extent = False - #modifiable = True - #mouse_position = True - #scale_text = True - #layerswitcher = True - scrollable = False - #admin_media_prefix = settings.ADMIN_MEDIA_PREFIX - map_width = 700 - map_height = 325 - #map_srid = 4326 - #map_template = 'gis/admin/openlayers.html' - #openlayers_url = 'http://openlayers.org/api/2.6/OpenLayers.js' - #wms_url = 'http://labs.metacarta.com/wms/vmap0' - #wms_layer = 'basic' - #wms_name = 'OpenLayers WMS' - #debug = False - #widget = OpenLayersWidget - -# Finally, with these options set now register the model -# associating the Options with the actual model -admin.site.register(Route,RouteAdmin) - diff --git a/apps/locations/models.py b/apps/locations/models.py deleted file mode 100644 index e088697..0000000 --- a/apps/locations/models.py +++ /dev/null @@ -1,190 +0,0 @@ -# -*- coding: utf-8 -*- -# models.py - -# All standard Django fields as well as GeoDjango geometry fields and the GeoManager() can be -# imported from django.contrib.gis.db after adding django.contrib.gis to INSTALLED_APPS -from django.contrib.gis.db import models -from django.contrib.sitemaps import Sitemap -# Used to display html 'help text' links within Admin App -from django.utils.safestring import mark_safe - -class Region(models.Model): - name = models.CharField(max_length=50, ) - slug = models.SlugField() - pub_date = models.DateTimeField('Date published',null=True) - # GeoDjango specific Polygon Field and GeoManager - geometry = models.MultiPolygonField(srid=4326, null=True) - lon = models.FloatField('Longitude',help_text="Longitude of centerpoint",null=True) - lat = models.FloatField('Latitude',help_text="Latitude of centerpoint",null=True) - zoom_level = models.CharField(max_length=2,null=True) - # GeoManager, a subclass that adds a rich set of geospatial queryset methods - objects = models.GeoManager() - - def get_absolute_url(self): - return "/locations/region/%s/" % (self.slug) - - def __unicode__(self): return self.name - - -# imported from django.contrib.gis.db -from django.contrib.gis.db import models - -# Used to display html 'help text' links within Admin App -from django.utils.safestring import mark_safe - -class Country(models.Model): - """ - - A geographic model based on the v3 of the simplified world borders multipolygon shapefile - from http://thematicmapping.org/downloads/world_borders.php. - - Field names, Django types, and max_lengths were autogenerated using the ogrinspect utility with hand - edits to add alternative field names and help_text. - - Imported using LayerMapping (requires GDAL) called within the load_data.py script provided - within this sample project. - - All fields match the source dataset, an ESRI format shapefile made up of several related files: - .shp - holds the vector data that is to be stored in the MultiPolygonField field named'geometry'. - .shx - spatial index file for geometries stored in the .shp. - .dbf - database file for holding attribute data (can be opened in excel and open office). - .prj - contains the spatial reference information for the geometries stored in the .shp - - - """ - - # Regular Django fields corresponding to the attributes in the - # world borders shapefile - name = models.CharField(max_length=50) - area = models.IntegerField(help_text="Area of Country in SQ meters") - pop2005 = models.IntegerField('Population 2005') - fips = models.CharField('FIPS Code', max_length=2, help_text=mark_safe('<a href="http://www.census.gov/geo/www/fips/fips.html">Federal Information Processing Standard Code</a>')) - iso2 = models.CharField('2 Digit ISO', max_length=2, help_text=mark_safe('<a href="http://www.iso.org/">International Organization for Standardization</a>' )) - iso3 = models.CharField('3 Digit ISO', max_length=3,help_text=mark_safe('<a href="http://www.iso.org/">International Organization for Standardization</a>' )) - un = models.IntegerField('United Nations Code') - REGION_CODES = ( - (0, 'MISC'), - (2, 'Africa'), - (9, 'Oceania'), - (19, 'Americas'), - (142, 'Asia'), - (150, 'Europe'), - ) - SUBREGION_CODES = ( - (0, 'MISC'), - (5, 'South America'), - (11, 'Western Africa'), - (13, 'Central America'), - (14, 'Eastern Africa'), - (15, 'Northern Africa'), - (17, 'Middle Africa'), - (18, 'Southern Africa'), - (21, 'North America'), - (29, 'Caribbean'), - (30, 'Eastern Asia'), - (34, 'Southern Asia'), - (35, 'Southeast Asia'), - (39, 'Southern Europe'), - (53, 'Australia and New Zealand'), - (54, 'Melanesia'), - (57, 'Micronesia'), - (61, 'Polynesia'), - (143, 'Central Asia'), - (145, 'Western Asia'), - (151, 'Eastern Europe'), - (154, 'Northern Europe'), - (155, 'Western Europe'), - ) - region = models.IntegerField('Region Code',choices=REGION_CODES) - subregion = models.IntegerField('Sub-Region Code',choices=SUBREGION_CODES) - lon = models.FloatField('Longitude',help_text="Longitude of centerpoint") - lat = models.FloatField('Latitude',help_text="Latitude of centerpoint") - zoom_level = models.CharField(max_length=2,null=True) - slug = models.SlugField(null=True) - visited = models.BooleanField(default=False) - lux_region = models.ForeignKey(Region, null=True) - pub_date = models.DateTimeField('Date published',null=True) - # GeoDjango-specific: a geometry field (MultiPolygonField), and - # overriding the default manager with a GeoManager instance. - geometry = models.MultiPolygonField('Country Border',srid=4326) - objects = models.GeoManager() - - - # Returns the string representation of the model. - def __unicode__(self): - return self.name - - class Meta: - ordering = ['name'] - verbose_name_plural = 'Countries' - - def get_absolute_url(self): - return "/locations/%s/" % (self.slug) - - -class State(models.Model): - name = models.CharField(max_length=250, blank=True, null=True,) - country = models.ForeignKey(Country) - slug = models.SlugField() - code = models.CharField(max_length=2, null=True, blank=True) - pub_date = models.DateTimeField('Date published',null=True) - geometry = models.MultiPolygonField(srid=4326,null=True) - objects = models.GeoManager() - - class Meta: - ordering = ['name'] - - class Admin: - pass - - def __unicode__(self): - return "%s" %(self.name) - - def get_absolute_url(self): - return "/locations/%s/%s/" % (self.country.slug, self.slug) - -class Location(models.Model): - state = models.ForeignKey(State) - name = models.CharField(max_length=50, ) - slug = models.SlugField() - pub_date = models.DateTimeField('Date published',null=True) - # GeoDjango specific Polygon Field and GeoManager - geometry = models.MultiPolygonField(srid=4326) - # GeoManager, a subclass that adds a rich set of geospatial queryset methods - objects = models.GeoManager() - - def get_absolute_url(self): - return "/locations/%s/%s/%s/" % (self.state.country.slug, self.state.slug, self.slug) - - - def __unicode__(self): return self.name - -class Route(models.Model): - name = models.CharField(max_length=200) - slug = models.SlugField() - zoom = models.CharField(max_length=2, null=True) - template_var_name = models.CharField(max_length=10, null=True) - pub_date = models.DateTimeField('Date published',null=True) - # GeoDjango specific Polygon Field and GeoManager - geometry = models.MultiPointField(srid=4326) - # GeoManager, a subclass that adds a rich set of geospatial queryset methods - objects = models.GeoManager() - - def get_absolute_url(self): - return "/locations/%s/%s/%s/" % (self.slug) - - - def __unicode__(self): return self.name - - - -class WritingbyLocationSitemap(Sitemap): - changefreq = "weekly" - priority = 0.6 - - def location(): - return '/writing/%s/1/' %(self.slug) - - def items(self): - return Location.objects.all() - diff --git a/apps/locations/urls.py b/apps/locations/urls.py deleted file mode 100644 index c49e684..0000000 --- a/apps/locations/urls.py +++ /dev/null @@ -1,7 +0,0 @@ -from django.conf.urls.defaults import * -from django.views.generic.simple import redirect_to,direct_to_template - -urlpatterns = patterns('', - (r'data/(?P<id>\d+)/$', 'locations.views.data_json'), - (r'^$', direct_to_template, {'template': 'archives/map.html'}), -) diff --git a/apps/locations/views.py b/apps/locations/views.py deleted file mode 100644 index f360429..0000000 --- a/apps/locations/views.py +++ /dev/null @@ -1,25 +0,0 @@ -from django.shortcuts import render_to_response,get_object_or_404 -from django.template import RequestContext - -from blog.models import Entry -from locations.models import Location, Country, Region, Route - -def list_view(request): - context = { - 'object_list' : Entry.objects.filter(status__exact=1), - 'country_list' : Country.objects.filter(visited=True).exclude(name='default'), - 'region_list' : Region.objects.all() - } - return render_to_response('archives/map.html', context, context_instance=RequestContext(request)) - -from projects.shortcuts import render_to_geojson - -def data_json(request, id): - qs = Route.objects.filter(pk=id) - return render_to_geojson( - qs, - included_fields=['id',], - geom_attribute='geometry', - mimetype = 'application/json', - pretty_print=True - )
\ No newline at end of file |