geojson
This commit is contained in:
parent
3a9ebfb9dd
commit
a6334a26d1
|
@ -1,6 +1,10 @@
|
||||||
from django.db import connection
|
from django.db import connection
|
||||||
from django.contrib.gis.db import models
|
from django.contrib.gis.db import models
|
||||||
from django.contrib.gis.geos import Polygon
|
from django.contrib.gis.geos import Polygon
|
||||||
|
try:
|
||||||
|
import json
|
||||||
|
except:
|
||||||
|
import simplejson as json
|
||||||
|
|
||||||
# Create your models here.
|
# Create your models here.
|
||||||
|
|
||||||
|
@ -53,6 +57,18 @@ class Feature(models.Model):
|
||||||
return "%s: %s" % (self.feature_type.code, self.feature_type.name,)
|
return "%s: %s" % (self.feature_type.code, self.feature_type.name,)
|
||||||
feature_type_name.short_description = "Feature Type"
|
feature_type_name.short_description = "Feature Type"
|
||||||
|
|
||||||
|
def get_geojson(self):
|
||||||
|
geom = json.loads(self.geojson)
|
||||||
|
properties = {
|
||||||
|
'id': self.id,
|
||||||
|
'preferred_name': self.preferred_name
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
'type': 'Feature',
|
||||||
|
'properties': properties,
|
||||||
|
'geometry': geom
|
||||||
|
}
|
||||||
|
|
||||||
def time_start(self):
|
def time_start(self):
|
||||||
tf = self.time_frame
|
tf = self.time_frame
|
||||||
if tf is not None:
|
if tf is not None:
|
||||||
|
|
|
@ -17,8 +17,12 @@ def search_json(request):
|
||||||
bs = bbox.split(",")
|
bs = bbox.split(",")
|
||||||
bs_param = (float(bs[0]), float(bs[1]), float(bs[2]), float(bs[3]),)
|
bs_param = (float(bs[0]), float(bs[1]), float(bs[2]), float(bs[3]),)
|
||||||
|
|
||||||
features = Feature.search.overlaps(bs_param, text=search_term, srid=3785)
|
features_qset = Feature.search.overlaps(bs_param, text=search_term, srid=3785)
|
||||||
d = {'c': features.count()}
|
features = [f.get_geojson() for f in features_qset]
|
||||||
|
d = {
|
||||||
|
'type': 'FeatureCollection',
|
||||||
|
'features': features
|
||||||
|
}
|
||||||
return render_to_json_response(d)
|
return render_to_json_response(d)
|
||||||
|
|
||||||
def search_related(request):
|
def search_related(request):
|
||||||
|
|
Loading…
Reference in New Issue
Block a user