Как изменить список, содержащий долготу/широту, на список, содержащий широту/долготу - Django?
Я часами искал решение в Интернете, но безуспешно. Полигоны отображаются на карте, но не в их реальном положении, потому что долгота отображается как широта, а широта как долгота. Пожалуйста, есть ли решение, как изменить положение широты и долготы в списке? Пожалуйста, посмотрите распечатанный результат ниже.
models.py:
from django.contrib.gis.db import models
from django.contrib.auth.models import User
from django.contrib.gis.db.models import PointField, MultiPointField, MultiPolygonField
class BurnedArea(models.Model):
firedate = models.DateField()
country = models.CharField(max_length=80)
place_name = models.IntegerField()
province = models.CharField(max_length=80)
yearseason = models.FloatField()
geom = MultiPolygonField(srid=4326)
visible = models.BooleanField(default=False)
@property
def lat_lng(self):
return list(getattr(self.geom, 'coords', [] ) [::-1] )
print(self.lat_lng)
def __str__(self):
return str(self.place_name)
views.py:
def viewer(request):
resultba = []
pol2 = 0,0
areas = BurnedArea.objects.all()
for ba in areas:
balon = str(ba.lat_lng)
pol = balon.replace("(", "[")
pol2 = pol.replace(")", "]")
print(pol2)
resultba.append({'pol2':pol2})
context = {
'resultba':resultba,
{
return render(request, 'app_web/viewer.html', context)
печатный результат :
[[[[8.6065550282249, 36.8027181091122], [8.60768086453233, 36.8020611860536], [8.60746659932254, 36.8016392882169], [8.60734205760659, 36.8011823076919], [8.60600897419624, 36.8016267925537], [8.6064362319159, 36.8019699263144], [8.6065550282249, 36.8027181091122]],]]
но я хочу, чтобы это было так :
[[[[36.8027181091122, 8.6065550282249], [36.8020611860536, 8.60768086453233], [36.8016392882169,8.60746659932254], [36.8011823076919, 8.60734205760659], [36.8016267925537, 8.60600897419624], [36.8019699263144, 8.6064362319159], [36.8027181091122, 8.6065550282249]],]]
viewer.html:
<section class="mapid" id="mapid" ></section>
<script>
{% for area in resultba %}
L.polygon([{{area.pol2}}], {color: 'blue'}).addTo(map);
{% endfor %}
</script>