Геокалькулятор

// название, изобр, угол, разрешение_Х, разрешение_У, высота_полета,

var payloads = [ {name: "GO PRO", img: "http://zala.aero/wp-content/uploads/2013/09/ZALA-AERO-GROUP-421-21HD.jpg", ang: 150, pix: 11000000, h: 4.0, w:5.62, kf: 1, tf: 10/1 }, {name: "Fuji XP 30", img: "http://zala.aero/wp-content/uploads/2013/07/ZALA-AERO-GROUP-421-21Foto.jpg", ang: 100, pix: 14200000, h: 4.0, w:5.62, kf: 1, tf: 1/2 }, {name: "Canon 100D", img: "http://zala.aero/wp-content/uploads/2013/07/ZALA-AERO-foto.jpg", ang: 75, pix: 18000000, h: 14.9, w:22.3, kf: 1.6, tf: 1/2 }, {name: "Sony rx-1R", img: "http://zala.aero/wp-content/uploads/2013/10/ZLA-AERO-foto-stabilized.jpg", ang: 45, pix: 24700000, h: 23.9, w:35.8, kf: 1, tf: 1/2 }, {name: "Sony NEX 5", img: "http://zala.aero/wp-content/uploads/2013/10/ZLA-AERO-foto-stabilized.jpg", ang: 45, pix: 16700000, h: 15.6, w:23.4, kf: 1, tf: 1/1 } ];

var planes = [ {name: "ZALA 421-16E", img: "http://zala.aero/wp-content/uploads/2013/09/ZALA-AERO-GROUP-16E-1.jpg", speed: 60, time: 180, payloads: [2,3,4] }, {name: "ZALA 421-16EМ", img: "http://zala.aero/wp-content/uploads/2013/09/ZALA-AERO-GROUP-16EM-11.jpg", speed: 60, time: 150, payloads: [2,3,4] }, {name: "ZALA 421-08", img: "http://zala.aero/wp-content/uploads/2013/07/ZALA-421-08-2.jpg", speed: 60, time: 90, payloads: [0,1] }, {name: "ZALA 421-16", img: "http://zala.aero/wp-content/uploads/2013/07/UAV_ZALA_421-16.jpg", speed: 100, time: 480, payloads: [2,3,4] }, {name: "ZALA 421-04М", img: "http://zala.aero/wp-content/uploads/2013/07/ZALA-421-04M1.jpg", speed: 60, time: 90, payloads: [2,3,4] }, {name: "ZALA 421-22", img: "http://zala.aero/wp-content/uploads/2013/09/ZALA-421-221.jpg", speed: 30, time: 25, payloads: [2,3,4]}, {name: "ZALA 421-21", img: "http://zala.aero/wp-content/uploads/2013/07/UAV_ZALA_421-21.jpg", speed: 30, time: 25, payloads: [0,1] }

];

function calc() { //list_resv document.getElementById("list_recv").innerHTML='';

S = document.getElementById("areas").value * 1000 * 1000; M = eval(document.getElementById("mash").value.replace(':','/'));

console.log("S="+S+" м^2 Масштаб: 1мм на карте = "+1/M+" мм на местности");

for(var i in planes) { if (!planes.hasOwnProperty(i)) continue;

Vp = planes[i].speed; Tp = planes[i].time; console.log("V="+Vp+" T="+Tp);

for(var j in planes[i].payloads) { if (!planes[i].payloads.hasOwnProperty(j)) continue;

pixelsAll = payloads[planes[i].payloads[j]].pix; console.log( payloads[planes[i].payloads[j]].h+" "+payloads[planes[i].payloads[j]].w); kfHW = payloads[planes[i].payloads[j]].h / payloads[planes[i].payloads[j]].w; pixelsW = Math.sqrt( pixelsAll/kfHW ) ; pixelsH = pixelsW * kfHW; console.log(payloads[planes[i].payloads[j]].name+": HW="+kfHW+" pix:"+pixelsW+"x"+pixelsH);

// расчет высоты от масштаба // в 300pdi 118px на 1см => 12px на 1мм // 12px = 1/М мм на местности fmetrW = (pixelsW / 12) * 1/M; fmetrH = (pixelsH / 12) * 1/M console.log("Фото: "+fmetrW+"x"+fmetrH+" мм на местности S="+(fmetrW*fmetrH)/1000000); console.log("Угол обзора:"+payloads[planes[i].payloads[j]].ang/payloads[planes[i].payloads[j]].kf); H = (fmetrW/2) / Math.tan(0.5*(payloads[planes[i].payloads[j]].ang/payloads[planes[i].payloads[j]].kf)* Math.PI/180); console.log("Высота="+parseInt(H/1000)+" метров");

// 0.4 => перекрытие 60% по хоту полета ptime = ((fmetrH*0.4)/1000) / (planes[i].speed*0.278); // секунд console.log("Между фото: "+parseInt((fmetrH*0.4)/1000)+" метров "+ptime+" секунд. Лимит фото: раз в "+1/payloads[planes[i].payloads[j]].tf+" секунд");

if ( ptime < 1/payloads[planes[i].payloads[j]].tf ) ptime = 1/payloads[planes[i].payloads[j]].tf;

countphotoInFly = ( (planes[i].time*60) / ptime ); countSInFly = ( countphotoInFly * fmetrW * fmetrH ) / 2; // площадь в одном полете // 2 - обеспечивает перекрытие по горизонтали 50% console.log("Всего снимков за полет: "+countphotoInFly+" Площадь за полет:"+(countSInFly/1000000)+" м^2 = "+(countSInFly/ (1000 * 1000 * 1000 * 1000))+" км^2");

// 60% + 50% perekr = (1/0.4) * (1/0.5);

photoAllCount = parseInt(1+ perekr * ( S / ((fmetrW*fmetrH)/1000000) )); flyCount = parseInt( 1 + perekr *( S / (countSInFly/1000000)) ); // 2 - обеспечивает перекрытие по горизонтали hoursCount = parseInt(1 + ( ptime * photoAllCount )/(60*60));

// кб мб гб photoSizeGb = parseInt(1 + (photoAllCount * pixelsAll )/(1024 * 1024 * 1024));

calchtml = '

\

\

\

'+planes[i].name+'

\

\

\

\

'+payloads[planes[i].payloads[j]].name+'

\

\

\

'+flyCount+'

\

полетов

\

\

\

'+hoursCount+'

\

часов

\

\

\

'+photoAllCount+'

\

снимков

\

\

\

'+photoSizeGb+' Гб

\

объем

\

\

';

document.getElementById("list_recv").innerHTML+=calchtml; } } }

Расчет времени облета площадных объектов

Настройка параметров
Площадь (км^2)

Масштаб
Рассчитать

Борт
Полезная нагрузка
Полетов
Часов
Снимков
Объем





Мы являемся единственной компанией, которая разрабатывает, испытывает и поддерживает серию тактических беспилотников БЛА России: беспилотный вертолет, самолет беспилотник, беспилотные многоцелевые комплексы, управляемый аэростат, летающую камеру, управление беспилотником, беспилотник для аэрофотосъемки, БЛА для безопасности, БЛА для измерения радиации, БЛА для энергетики и мониторинга, а также новый аппарат защиты от дронов. Беспилотные аппараты, беспилотные воздушные суда БВС, беспилотные авиационные системы. Производство беспилотников и продажа БЛА с 2004 года.