def get_context_data(self, **kwargs):
context = super(GeoReferenceUpdateView, self).get_context_data(**kwargs)
if len(self.object.potential_georeferences.values()) < 2:
self.object.auto_geolocate()
self.object.save()
context['feature_type_choices'] = models.FeatureType.objects.all()
context['geographical_position_form'] = forms.GeographicalPositionForm()
context['potential_geographical_positions'] = self.object.get_serialized_geolocations()
same_collector = []
if self.object.locality_date and self.object.group_id:
date_upper = self.object.locality_date + relativedelta(months=+3)
date_lower = self.object.locality_date + relativedelta(months=-3)
same_collector_points = models.GeoReference.objects.filter(group_id=self.object.group_id,
locality_date__range=[date_lower, date_upper],
geographical_position__isnull=False)
for p in same_collector_points:
# p.geographical_position.origin = models.GeographicalPosition.SAME_GROUP
p.geographical_position.notes = 'Visited by same collector on ' + formats.date_format(p.locality_date,
"SHORT_DATE_FORMAT")
# same_collector.append(p.geographical_position)
same_collector.append(p)
if same_collector:
context['same_collector'] = serialize('custom_geojson', same_collector, geometry_field='point')
if self.object.geographical_position:
if self.object.geographical_position.point:
context['geographical_position'] = serialize('geojson', [self.object.geographical_position, ],
geometry_field='point')
else:
context['geographical_position'] = serialize('geojson', [self.object.geographical_position, ],
geometry_field='polygon')
return context
评论列表
文章目录