将多边形或直线保存到数据库django/mapbox

将多边形或直线保存到数据库django/mapbox,django,postgis,mapbox-gl-js,Django,Postgis,Mapbox Gl Js,我想将以下代码中绘制的多边形保存到postgis数据库: 假设mapbox设置正确,并且多边形绘制和下载工作正常(我没有将所有内容都放在代码中以关注手头的问题) map.addControl(draw); map.on('draw.create',updateArea); map.on('draw.delete',updateArea); map.on('draw.update',updateArea); 函数updateArea(e){ var data=draw.getAll(); var

我想将以下代码中绘制的多边形保存到postgis数据库:

假设mapbox设置正确,并且多边形绘制和下载工作正常(我没有将所有内容都放在代码中以关注手头的问题)


map.addControl(draw);
map.on('draw.create',updateArea);
map.on('draw.delete',updateArea);
map.on('draw.update',updateArea);
函数updateArea(e){
var data=draw.getAll();
var answer=document.getElementById(‘计算面积’);
如果(data.features.length>0){
变量面积=草坪面积(数据);
//将面积限制为2个小数点
var rounded_area=数学圆整(面积*100)/100;
answer.innerHTML=“”+圆形面积+”平方米;
var convertedData='text/json;charset=utf-8',+encodeURIComponent(json.stringify(data));
document.getElementById('export').setAttribute('href','data:'+convertedData);
document.getElementById('export').setAttribute('download','data.geojson');
}否则{
answer.innerHTML='';
如果(e.type!=“draw.delete”)警报(“使用绘制工具绘制多边形!”);
}
}
<script type="text/javascript">    
map.addControl(draw);

map.on('draw.create', updateArea);
map.on('draw.delete', updateArea);
map.on('draw.update', updateArea);

function updateArea(e) {
var data = draw.getAll();
var answer = document.getElementById('calculated-area');
if (data.features.length > 0) {
var area = turf.area(data);
// restrict to area to 2 decimal points
var rounded_area = Math.round(area*100)/100;
answer.innerHTML = '<p><strong>' + rounded_area + '</strong></p><p>square meters</p>';
var convertedData = 'text/json;charset=utf-8,' + encodeURIComponent(JSON.stringify(data));
document.getElementById('export').setAttribute('href', 'data:' + convertedData);
document.getElementById('export').setAttribute('download','data.geojson');
} else {
answer.innerHTML = '';
if (e.type !== 'draw.delete') alert("Use the draw tools to draw a polygon!");
}
}