kopia lustrzana https://github.com/hholzgra/maposmatic/
Merge branch 'site-osm-baustelle' of https://github.com/hholzgra/maposmatic into site-osm-baustelle
commit
67e5a434c7
|
@ -305,6 +305,15 @@ class JobRenderer(threading.Thread):
|
|||
self.job.lat_bottom_right,
|
||||
self.job.lon_bottom_right)
|
||||
|
||||
if self.job.track and self.job.track_bbox_mode:
|
||||
gpx_bbox = ocitysmap.coords.BoundingBox.parse_gpx(os.path.join(MEDIA_ROOT, self.job.track.url))
|
||||
if self.job.track_bbox_mode == 1:
|
||||
# 1 -> merge GPX and map bounding box
|
||||
config.bounding_box.merge(gpx_bbox)
|
||||
elif self.job.track_bbox_mode == 2:
|
||||
# 2 -> replace map bbox with GPX bbox
|
||||
config.bounding_box = gpx_bbox
|
||||
|
||||
config.language = self.job.map_language
|
||||
config.stylesheet = renderer.get_stylesheet_by_name(
|
||||
self.job.stylesheet)
|
||||
|
@ -316,6 +325,7 @@ class JobRenderer(threading.Thread):
|
|||
config.gpx_file = os.path.join(MEDIA_ROOT, self.job.track.name)
|
||||
else:
|
||||
config.gpx_file = False
|
||||
config.track_bbox_mode = 0
|
||||
config.paper_width_mm = self.job.paper_width_mm
|
||||
config.paper_height_mm = self.job.paper_height_mm
|
||||
except KeyboardInterrupt:
|
||||
|
|
|
@ -54,7 +54,7 @@ class MapRenderingJobForm(forms.ModelForm):
|
|||
fields = ('maptitle', 'administrative_city',
|
||||
'lat_upper_left', 'lon_upper_left',
|
||||
'lat_bottom_right', 'lon_bottom_right',
|
||||
'track')
|
||||
'track', 'track_bbox_mode')
|
||||
|
||||
MODES = (('admin', _('Administrative boundary')),
|
||||
('bbox', _('Bounding box')))
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('maposmatic', '0007_auto_20170521_0155'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='maprenderingjob',
|
||||
name='track_bbox_mode',
|
||||
field=models.IntegerField(default=0, choices=[(0, b'Keep'), (1, b'Merge'), (2, b'Replace')]),
|
||||
),
|
||||
]
|
|
@ -122,7 +122,14 @@ class MapRenderingJob(models.Model):
|
|||
def __str__(self):
|
||||
return self.maptitle.encode('utf-8')
|
||||
|
||||
TRACKBOX_BBOX_MODE_LIST = (
|
||||
( 0, 'Keep'),
|
||||
( 1, 'Merge'),
|
||||
( 2, 'Replace')
|
||||
)
|
||||
|
||||
track = models.FileField(upload_to='upload/tracks/%Y/%m/%d/', null=True, blank=True)
|
||||
track_bbox_mode = models.IntegerField(choices=TRACKBOX_BBOX_MODE_LIST, default=0)
|
||||
|
||||
def maptitle_computized(self):
|
||||
t = self.maptitle.strip()
|
||||
|
|
|
@ -205,7 +205,9 @@ def recreate(request):
|
|||
newjob.index_queue_at_submission = (models.MapRenderingJob.objects
|
||||
.queue_size())
|
||||
newjob.nonce = helpers.generate_nonce(models.MapRenderingJob.NONCE_SIZE)
|
||||
|
||||
newjob.track = job.track
|
||||
newjob.track_bbox_mode = job.track_bbox_mode
|
||||
newjob.save()
|
||||
|
||||
return HttpResponseRedirect(reverse('map-by-id-and-nonce',
|
||||
|
|
|
@ -211,6 +211,10 @@ will be visible on the map.{% endblocktrans %}
|
|||
<legend>{% trans "Optional GPX track file" %}</legend>
|
||||
{{ form.track }}
|
||||
</fieldset>
|
||||
<fieldset id="track-bbox-mode">
|
||||
<legend>{% trans "BBOX mode" %}</legend>
|
||||
{{ form.track_bbox_mode }}
|
||||
</fieldset>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue