<liclass="toctree-l4"><aclass="reference internal"href="../installation/#step-1-check-virtualization-support">Jia ya 1. Angalia msaada wa uvumbuzi</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../installation/#step-2-install-requirements">Njia ya 2. Ingiza Vinavyohitajika</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../installation/#step-3-check-memory-and-cpu-allocation">Njia ya 3. Angalia nafasi na mgao wa CPU</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../installation/#step-4-download-webodm">Njia ya 4. Pakua WebODM</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../installation/#step-4-launch-webodm">Njia ya 4. Zindua WebODM</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../installation/#step-1-install-requirements">Hatua 1. Mahitaji ya kuingiza</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../installation/#step-2-check-additional-requirements">Njia ya 2. Angalia Mahitaji ya Ziada</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../installation/#step-3-download-and-launch-webodm">Njia ya 3. Pakua na zindua WebODM</a></li>
<liclass="toctree-l2"><aclass="reference internal"href="../installation/#basic-commands-and-troubleshooting">Camand za msingi na utatuzi shida</a></li>
<liclass="toctree-l2"><aclass="reference internal"href="#clusterodm-nodeodm-slurm-with-singularity-on-hpc">ClusterODM, NodeODM, SLURM, with Singularity on HPC</a><ul>
<liclass="toctree-l3"><aclass="reference internal"href="#downloading-and-installing-the-images">Downloading and installing the images</a><ul>
<liclass="toctree-l3"><aclass="reference internal"href="../arguments/auto-boundary/#what-is-auto-boundary">What Is Auto-Boundary?</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../arguments/auto-boundary/#when-is-auto-boundary-helpful">When Is Auto-Boundary Helpful?</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../arguments/auto-boundary/#why-would-one-use-auto-boundary">Why would one use auto-boundary?</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../arguments/boundary/#what-is-boundary-geojson">What is Boundary [GeoJSON]?</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../arguments/boundary/#when-is-boundary-geojson-appropriate">When is Boundary [GeoJSON] appropriate?</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../arguments/boundary/#why-would-one-use-boundary-geojson">Why would one use Boundary [GeoJSON]?</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../arguments/boundary/#how-would-one-create-boundary-geojson">How would one create Boundary [GeoJSON]?</a><ul>
<liclass="toctree-l3"><aclass="reference internal"href="../arguments/build-overviews/#what-are-overviews">What Are Overviews?</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../arguments/build-overviews/#when-are-overviews-appropriate">When are Overviews appropriate?</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../arguments/build-overviews/#why-would-one-use-overviews">Why would one use Overviews?</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../arguments/camera-lens/#what-are-camera-lens-models">What Are Camera Lens Models?</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../arguments/camera-lens/#when-are-manual-selections-appropriate">When are manual selections appropriate?</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../arguments/camera-lens/#why-would-one-use-a-particular-camera-lens-model">Why would one use a particular Camera Lens Model?</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../large/#getting-started-with-distributed-split-merge">Kupata kuanza pamoja na kugawanya Split-Merge</a></li>
<liclass="toctree-l2"><aclass="reference internal"href="../multispectral/#creating-orthophotos-from-multispectral-data">Creating Orthophotos from Multispectral Data</a></li>
<liclass="toctree-l2"><aclass="reference internal"href="../multispectral/#workflows-for-non-supported-sensors">Workflows for Non-supported Sensors</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../contributing/#template-for-submitting-bug-reports">Kigezo kwa kuwasilisha maelezo ya bug</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../faq/#can-i-process-two-or-more-orthophoto-geotiffs-to-stitch-them-together">Can I process two or more orthophoto GeoTIFFs to stitch them together?</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../faq/#the-software-is-not-using-all-of-my-cpu-cores-memory-gpu-all-of-the-times-is-it-normal">The software is not using all of my CPU cores / memory / GPU all of the times. Is it normal?</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../faq/#if-i-use-the-native-version-of-the-software-how-can-i-allocate-more-resources-for-processing">If I use the native version of the software, how can I allocate more resources for processing?</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../faq/#i-want-to-build-a-commercial-application-that-includes-odm-do-i-need-a-commercial-license">I want to build a commercial application that includes ODM. Do I need a commercial license?</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../faq/#are-there-other-licensing-options-aside-from-the-agplv3">Are there other licensing options aside from the AGPLv3?</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../faq/#your-computer-is-running-out-of-memory-what-can-you-do">Your computer is running out of memory, what can you do?</a></li>
<p>Bila ya kuengeza paramiter, ODM inachagua nzuri baina ya ubora, kasi na nafasi ya kutumia. Ikiwa unataka kupata matokeo bora zaidi, utadadafua baadhi ya paramiter:</p>
<blockquote>
<div><ulclass="simple">
<li><p><codeclass="docutils literal notranslate"><spanclass="pre">--orthophoto-resolution</span></code> ni muonekano wa orthophoto ndani ya cm/pixel. Kupunguza hii thamani kwa muonekano mzuri zaidi.</p></li>
<li><p><codeclass="docutils literal notranslate"><spanclass="pre">--ignore-gsd</span></code> ni bendera inayoagiza ODM kuacha nafasi na kasi ya matumaini ya kuathiri orthophoto. Kutumia hii bendera itaengeza uwezo wa kufanya kazi na matumizi ya nafasi, lakini yanaweza kuleta matokeo ya haraka.</p></li>
<li><p><codeclass="docutils literal notranslate"><spanclass="pre">--texturing-data-term</span></code> lazima itegeshwe hadi <cite>area</cite> katika misitu.</p></li>
<li><p><codeclass="docutils literal notranslate"><spanclass="pre">--mesh-size</span></code> lazima iongezeke hadi <codeclass="docutils literal notranslate"><spanclass="pre">300000-600000</span></code> na <codeclass="docutils literal notranslate"><spanclass="pre">--mesh-octree-depth</span></code> lazima iongezeke hadi <codeclass="docutils literal notranslate"><spanclass="pre">10-11</span></code> mjini kwa kutengeneza upya majengo mazuri/ mapaa.</p></li>
<p>Kurekebisha Camera ni changamoto maalum pamoja na thamani ya camera. mabadiliko ya hali joto, mtetemeko, muelekeo, na na vitu vyengine vinavyoweza kuathiri data itakayopatikana. Automatic au matengenezo binafsi yanaweza kufanywa na kutakiwa na drone ukiruka, lakini inategemea na njia itakayopita ndege, marekebisho ya automatic haiwezi kuondosha njia zote kutoka mwanzo. James and Robson (2014) katika kitabu chao <aclass="reference external"href="https://onlinelibrary.wiley.com/doi/full/10.1002/esp.3609">Mitigating systematic error in topographic models derived from UAV and ground‐based image networks</a> imeonyesha jinsi kupunguza makosa kweye marekebisho binafsi.</p>
<p><em>Athatri za shimo katika point cloud kwa makundi ya picha zaidi ya 13,000 zilizokusanywa na benki ya dunia katika eneo la mafuriko Msimbasi Basin, Dar es Salaam, Tanzania.</em></p>
<p>Kupunguza athari,kuna njia kidogo lakini njia rahisi ni kama: rusha njia mbili tofauti kwa 20°, kuliko kutumia nadir kamera (kuelekeza pont chini), tumia ambayo itainamisha camera kwa 5°.</p>
<p>As this approach takes longer than traditional imaging, pilots and teams may apply this technique to a smaller area and use the collected data to optimize future flights. OpenDroneMap can generate a calibration file called cameras.json from a small sample flight. The calibration file can be used for future flights, mitigating the bowling effect without sacrificing efficiency.</p>
<p>Vyenginevyo, njia za majaribio yafuatayo zinaweza kutumika: rusha drone kwa kupishanisha picha kidogo, lakini miruko crossgrid miwili (wakati mwengine huitwa crosshatch) iliotenganishwa kwa 20° na 5° moja kwa moja ikiangalia camera.</p>
<ulclass="simple">
<li><p>Crossgrid asilimia za kupishana zinaweza kuwa ndogo kuliko flight sambamba. Kwa kupata matukio mazuri ya 3D, utatakiwa 68% za kupishana na ubavuni kushabihiana na 83% kupishana na ubavuni.</p></li>
<li><p>Kupata matokeo ya 2D na 2.5D (digital elevation model), unatakiwa 42% mpishano na msimamo kwa mshabihiano 70% overlap na sidelap.</p></li>
<p>Kutoka James na Robson (2014),`CC BY 4.0 <<aclass="reference external"href="https://creativecommons.org/licenses/by/4.0">https://creativecommons.org/licenses/by/4.0</a>>`_</p>
<p>By default ODM does not create digital elevation models (DEMs). To create a digital terrain model, make sure to pass the <codeclass="docutils literal notranslate"><spanclass="pre">--dtm</span></code> flag. To create a digital surface model, be sure to pass the <codeclass="docutils literal notranslate"><spanclass="pre">--dsm</span></code> flag.</p>
<p>Kizazi cha DTM, Simple Morphological Filter (smrf) inatumika kugawa point katika ground na non-ground pia ground point pekee inatumika. Ni <codeclass="docutils literal notranslate"><spanclass="pre">smrf</span></code> kichujo kinaweza kidhibitiwa kutumia mihimili tofauti:</p>
<blockquote>
<div><ulclass="simple">
<li><p><codeclass="docutils literal notranslate"><spanclass="pre">--smrf-scalar</span></code> kipimo halisi. engeza hii paramiter kwa terrain kwa badiliko la urefu mkubwa.</p></li>
<li><p><codeclass="docutils literal notranslate"><spanclass="pre">--smrf-slope</span></code> mteremko parameter, ambayo imepimwa kwa "slope tolerance". Increase inaengeza parameter kwa terrain kwa urefu mwingi variation. Lazima ipangwe kwa kitu kikubwa kuliko 0.1 na isiwe kubwa kuliko 1.2.</p></li>
<li><p><codeclass="docutils literal notranslate"><spanclass="pre">--smrf-threshold</span></code> elevation threshold. Weka hii parameter kwa kiwango cha chini cha urefu (cha mita) ambayo unategemea kuwa non-ground object.</p></li>
<li><p><codeclass="docutils literal notranslate"><spanclass="pre">--smrf-window</span></code> window radius paramita (ya mita) ambayo inashabihiana na ukubwa wa kitu (jengo, mti, n.k) kwa kuondolewa. lazima lipangwe nambari kubwa zaidi ya 10.</p></li>
</ul>
</div></blockquote>
<p>Kubadilisha njia hizi kunaweza kubadilisha maana ya matokeo ya DTM. Mwanzo mzuri kusoma kwa kufahamu vipi paramita zinabadilisha matokeo ni kusoma pepa ya awali <aclass="reference external"href="https://www.researchgate.net/publication/258333806_An_Improved_Simple_Morphological_Filter_for_the_Terrain_Classification_of_Airborne_LIDAR_Data">An improved simple morphological filter for the terrain classification of airborne LIDAR data</a> (Inapatikana bure PDF).</p>
<p>Majumuisho ya njia <codeclass="docutils literal notranslate"><spanclass="pre">smrf-threshold</span></code> yanaleta matokeo makubwa.</p>
<p>SMRF ni nzuri kwa kupunguza makosa ya uwandishi (nambari ndogo ya makosa ya groundpoint imegawanywa kama non-ground) lakini "acceptable" pekee kuepuka makosa Type II (nambari kubwa ya non grond point kimakosa imegaiwa kama ground). Mahitaji haya yanachukuwa kwa uwangalifu wakati inatengenezwa DTM ambayo ilikusudiwa kutumika kuonekana, tangu makosa ya kitu kwa muonekano wa ground mfano mdogo katika DTM ya mwisho.</p>
<p>Paramita nyengine mbili zinabadilisha kizazi cha DEM:</p>
<blockquote>
<div><ulclass="simple">
<li><p><codeclass="docutils literal notranslate"><spanclass="pre">--dem-resolution</span></code> ambayo inaseti muonekano wa matokeo ya rasta DEM (cm/pixel)</p></li>
<li><p><codeclass="docutils literal notranslate"><spanclass="pre">--dem-gapfill-steps</span></code> inayotambua namba ya maendeleo ya matabaka ya DEM kutumika. Katika maeneo ya miji engeza idadi hii hadi <cite>4-5</cite> inaweza kusaidia kutoa matokeo katika eneo lililoachwa wazi kwa SMRF mchujo.</p></li>
<p>Weather conditions modify illumination and thus impact the photography results. Best results are obtained with evenly overcast or clear skies. Also look for low wind speeds that allow the camera to remain stable during the data collection process.
In order to avoid shadows which on one side of the stockpile can obstruct feature detection and lessen the number of resulting points, always prefer the flights during the midday, when the sun is at the nadir so everything is consistently illuminated.
Also ensure that your naked eye horizontal visibility distance is congruent with the planned flight distances for the specific project, so image quality is not adversely impacted by dust, fog, smoke, volcanic ash or pollution.</p>
<p>Most stockpile measurement jobs does not require a crosshatch pattern or angled gimbal as the resting angle of stockpile materials allows the camera to capture the entire stockpile sides. Only some special cases where erosion or machinery operations causes steep angles on the faces of the stockpile would benefit of the crosshatch flight pattern and angled camera gimbal but consider that these additional recognized features come at a cost, (in field labor and processing time) and the resulting improvements are sometimes negligible.</p>
<p>In most of the cases a lawn mower flight pattern is capable of producing highly accurate stockpile models.</p>
<p>Recommended overlap would be between 75% and 80% with a sidelap in the order of 65% to 70%. It is also recommended to slightly increase overlap and sidelap as the flight height is increased.</p>
<p>Flight height can be influenced by different camera models, but in a general way and in order to ensure a balance between image quality and flight optimization, it is recommended to be executed at heights 3 to 4 times the tallest stockpile height. So for a 10 meter stockpile, images can be captured at a height of 40 meters.
As the flight height is increased, it is also recommended to increase overlap, so for a 40 meter height flight you can set a 65% sidelap and 75% overlap, but for a planned height of 80 meters a 70% sidelap and 80% overlap allowing features to be recognized and properly processed.</p>
<p>To achieve accuracy levels better than 3%, the use of GCP’s is advised. Typically 5 distributed GCP are sufficient to ensure accurate results.
When placing or measuring GCP, equipment accuracy should be greater than the GSD. Survey grade GNSS and total stations are intended to provide the required millimetric accuracy.</p>
<p>For further information on the use of GCPs, please refer to the <aclass="reference external"href="https://docs.opendronemap.org/gcp/">Ground Control Points section</a>.</p>
<p>A highly accurate model can be achieved using WebODM high resolution predefined settings. Then you can further adjust some parameters as necessary.</p>
<p>If using ODM, these this reference values can help you configure the process settings.</p>
<p>As almost 50% of the material will be found in the first 20% of the stockpile height, special care should be taken in adequately defining the base plane.</p>
<p>Dialog box will show the message "Computing ..." for a few seconds, and after the computing is finished the volume measurement value will be displayed.</p>
<p>If you are using the command line OpenDroneMap you can use the dsm files to measure the stockpile volumes using other programs.</p>
<p>Also consider that once the limits of the stockpile are set in software like <aclass="reference external"href="https://www.qgis.org">QGis</a>, you will find there are some ways to determine the base plane. So for isolated stockpiles which boundaries are mostly visible, a linear approach can be used. While for stockpiles set in slopes or in bins, the base plane is better defined by the lowest point.
Creation of a triangulated 3D surface to define the base plane is advised for large stockpiles. This is also valid for stockpiles paced on irregular surfaces.</p>
<p>Tangu watumiaji wengi kutumia docker kuingiza OpenDroneMap itakua ni vizuri kufanhamu camandi za msingi kuitathmini mifano ya docker wakati ikitokea makosa, au tukiwa na wasiwasi wa matokeo. Docker ni mkusanyiko wa muonekano uliopangwa, miongoni mwa vitu vyengine kufanya urahisi wa kuingiza software kwa kujitegemea kwenye mazingira ya nyumbani. Kwa njia hii ni sawa na virtual mashine.</p>
<p>Comand chache rahisi zinaweza kufanya docker yetu kwa nzuri zaidi.</p>
<p>Hii inategemewa kuwa kubwa, lakini tunaweza kutumia pipe <cite>|</cite> character na tools nyengine kuondosha kile tunachotaka kutoka kwenye log. Kwa mfano tunaweza kuondosha kupitia log kidogo kwa kutumia more command.</p>
<p>Kubonyeza <cite>Enter</cite> or <cite>Space</cite>, arrow key au <cite>Page Up</cite> or <cite>Page Down</cite> key itatusaidia kuelekeza kupitia log. Herufu ndogo ya <cite>Q</cite> itaturejesha nyuma kwenye comand line.</p>
<p>Baadhi ya wakati tunataka kuenda ndani kidogo katika mchakato wa utafiti wa OpenDroneMap. Kwa hilitunaweza kupata kutumia mistari ya camand moja kwa moja kwenye mashine. Kwa hili, tunawza kutumia <cite>docker exec</cite> kufikia na camand line <cite>bash</cite> muonekano ndani ya mashine kwa umuhimu ufuatao:</p>
<p>Docker haina msaada kutumia nafasi na kawaida haiondoi kufanya kazi data na mashine mchakato ukimaliza. Hii inaweza kuwa faida ikiwa tunahitaji kutumia mchakato ambao ulikatika, lakini unachukua matatizo ya kuengeza matumizi ya nafasi kwa mda. Maciej Łebkowski ana <aclass="reference external"href="https://lebkowski.name/docker-volumes/">mtazamo mzuri ya vipi kuongoza kutumia nafasi iliotumika kutumia ndani ya docker</a>.</p>
<p>[Singularity](<aclass="reference external"href="https://sylabs.io/">https://sylabs.io/</a>) is another container platform able to run Docker images. Singularity can be run both on local machins and in instances where the user does not have root access. Instances where a user may not have root privlidges include HPC clusters and cloud cluster resources.
A container is a single file without anything else to install.</p>
<h2>Tumia ODM kutoka eneo lenye low-bandwidth<aclass="headerlink"href="#using-odm-from-low-bandwidth-location"title="Permalink to this heading"></a></h2>
<p>Kutoka kwa <aclass="reference external"href="https://github.com/ivangayton/GDAL_scripts/">Ivan Gayton's repo</a>.</p>
<p><aclass="reference external"href="https://www.opendronemap.org/">OpenDroneMap</a> haiwezi kuwa kawada kuingizwa local inataka mashine yenye nguvu kwa mchakato wa data nyingi—kwa hivyo cloud mashine inaweza baadhi ya wakati kujibu kwa watu wanotaka kutumia. Hata hivyo nafasi ni tatizo kwa marekebisho ya kiwango cha chini. Kizuwizi hiki hakiwezi kuondoa tatizo moja kwa moja, bali njia zifuatazo zinaweza kuwa sababu za kupunguza mahitaji ya nafasi kwa kuchakata picha za ndege nyuki katika claud kutoka maeneo ya Afrika.</p>
<p>Hapa tutawakilisha wepesi lakini mchakato unaofanya kazi wa kutengeneza OpenDroneMap cloud mashine (<em>sio</em> CloudODM, kumbuka, ni cloud-based instance ya ODM ambayo unaweza kutumia kutoka kwa camand line) na tumia kuprocess kundi picha nyingi ukiwa mbali. Inahitaji ujuzi wa matumizi ya Unix camand line, ssh, Digital Ocean account (Amazon AWS inafanya kazi pia, inawezekana ni tofauti ndogo katika mpangilio), njia ya kati na kati ya usomaji Computer kwa ujumla. Ikiwa huna computer nzuri na unataka kutumia njia ya slightly setup, <aclass="reference external"href="https://www.opendronemap.org/cloudodm/">CloudODM</a> ni lazima kuiangalia.</p>
<p>Mchakato wote huo umekusudiwa kwa mtu anerusha ndege nyuki eneo kubwa ndani ya Afrika au eneo linalofanana kutaka kuprocess data haraka wakati yupo eneo la kazi. Kwa hio itasaidia kazi iliopangwa kwa kupunguza nafasi/ kusafirisha data, kuliko njia rahisi ya kutumia ODM.</p>
<li><p>Tengeneza Digital Ocean droplet yenye ukubwa angalau 4GB ya RAM. Ambayo makisio gharama ni $20/mwezi, chini ya 4GB na haitakubali kuingia. Wakati ukiwasha ODM process tutapunguza kuwa ukubwa na cloud mashine ya gharama, Lakini wakati ikitumika unaweza kupunguza kwa droplet ya pili rahisi zaidi ambayo ina gharama ya $10/mwezi (ni droplet rahisi zaidi, at $5/mwezi , utatumia kwa nafasi ndogo ambayo huwezi kuirudisha mwanzo).</p>
<li><p>Tengeneza mtumiaji kwa sudo privileges"<aclass="reference external"href="https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-18-04">Digital Ocean’s insanely good documentation</a> itasaidia kujua. Katika kesi yetu tutaandaa mtumiaji aneitwa <codeclass="docutils literal notranslate"><spanclass="pre">odm</span></code>, unganisha na kupitia camand <codeclass="docutils literal notranslate"><spanclass="pre">ssh</span><spanclass="pre">odm@xxx.xxx.xxx.xxx</span></code> ( ambapo x's ina maana IPv4 anuani katika server yako). Ikiwa unataka kufata huu mfano kwa karibu , <em>do</em> tumia tumia jina <codeclass="docutils literal notranslate"><spanclass="pre">odm</span></code>; kisha path yako itakuwa <codeclass="docutils literal notranslate"><spanclass="pre">/home/odm/ODM/</span></code> na itafanana na mifano yote katika kitabu hichi.</p></li>
<li><p>Nenda kutumia <codeclass="docutils literal notranslate"><spanclass="pre">sudo</span><spanclass="pre">apt</span><spanclass="pre">update</span></code> na <codeclass="docutils literal notranslate"><spanclass="pre">sudo</span><spanclass="pre">apt</span><spanclass="pre">upgrade</span></code> kuhakikisha server sio hatari wila kuapdate, lakini endelea kutumia Ubuntu 18.04.</p></li>
</ul>
</li>
<li><p>Pakua na uingize ODM ndani yake kutoka <aclass="reference external"href="https://github.com/OpenDroneMap/ODM">ODM GitHub</a> (regular, not WebODM) kutumia camand zifuatazo:</p></li>
<li><p>Ikiwa utafanya hivi kuanzia kawaida home folder ya user yako (i.e <codeclass="docutils literal notranslate"><spanclass="pre">odm</span></code>) sehemu ya kuingiza itakua <codeclass="docutils literal notranslate"><spanclass="pre">/home/odm/ODM</span></code> (kiufupikama <codeclass="docutils literal notranslate"><spanclass="pre">~/ODM/</span></code>).</p></li>
<li><p>Kuna baadhi ya kibadilika mazingira zinatakiwa kuwekwa. Fungua ~/.bashrc file katika mashine yako na uingize mistari 3 ifuatayo mwisho (From <aclass="reference external"href="https://github.com/OpenDroneMap/ODM">the ODM github</a>). File linaweza kufunguka pamoja na <codeclass="docutils literal notranslate"><spanclass="pre">nano</span><spanclass="pre">~/.bashrc</span></code> (au katika programu unayochapa ndani lieu of nano). Kuwa na ukahika kuweka <codeclass="docutils literal notranslate"><spanclass="pre">/home/odm/</span></code> kwa anuani sahihi hadi katika eneo ambayo itaichambua OpenDroneMap ikiwa hukufanya kila kitu kwa uhakika kama kwenye mfano wetu (Mfano ukitumia jina la mtumiaji katika mipangilio ya server).</p></li>
<li><p>Zingatia kwamba ODM github readme imekusanya makosa mepesi, ingiza anuani jina itakuwa ODM, sio OpenDroneMap (utaona hiyvo ukiwa utalinganisha na maeleza hapo juu kwa moja ndani ya ODM GitHub).</p></li>
<li><p>Kwa ajili ya kuepusha kutofanya kazi ikiwa split-merge itakataa kuonesha file lake, tunaengeza mistari ifuatayo kwa <codeclass="docutils literal notranslate"><spanclass="pre">~/.bashrc</span></code> ( weka sawa kama uliweka tofauti na mfano wetu):</p></li>
<li><p>Sasa utahitaji hard drive ya pili ("nafasi" katika Digital Ocean jargon) inatosha kutengeneza project yako. Sheria ya thumb inaonesha kuwa mara 10 ya nafasi ya data picha, tumepata 100GB hadi kufikia ukubwa wa 1000GB (ukimaliza kurun unaweza kusafisha nafasi kubwa , lakini inahitajika kumaliza mchakato wote). Panga hadi nafasi ikifika, weka katika droplet yako, na <aclass="reference external"href="https://www.digitalocean.com/docs/volumes/how-to/mount/">configure hio nafasi uitakayo</a> (katika mfano huu tunapanga ndani ya <codeclass="docutils literal notranslate"><spanclass="pre">/mnt/odmdata/</span></code>).</p></li>
<li><p>Sasa peleka picha zako ndani ya server. Unaweza kutumia <aclass="reference external"href="https://en.wikipedia.org/wiki/Secure_copy">Secure Copy (scp)</a> Mfano: <codeclass="docutils literal notranslate"><spanclass="pre">scp</span><spanclass="pre">-r</span><spanclass="pre">/path/to/my/imagefolder</span><spanclass="pre">odm@xxx.xxx.xxx.xxx:/mnt/odmdata/</span></code>.</p>
<ul>
<li><p>Hii inapelekea folder lilojaa picha (ambayo itafanya njia <codeclass="docutils literal notranslate"><spanclass="pre">r</span></code>, "recursive") ndani ya eneo lililoondolewa ( Katika mfano wetu, ndani ya nafasi tulioweka katika cloud mashine ya <codeclass="docutils literal notranslate"><spanclass="pre">/mnt/odmdata/</span></code>.</p></li>
<li><p>Hii itachukua nafasi. Hakuna njia katika ukubwa wa file.<aclass="reference external"href="#footnote1">1</a>, <aclass="reference external"href="#footnote2">2</a></p></li>
<p>ODM inahitaji kuandaliwa nafasi ya orodha ndani ya mshine. Nafasi ngumu ni kuingiza folder (Ikiwa utahifadhi kama hapo juu ni "<codeclass="docutils literal notranslate"><spanclass="pre">/home/odm/ODM/</span></code>) na folder la project (i.e. <codeclass="docutils literal notranslate"><spanclass="pre">/mnt/odmdata/myproject/</span></code>)</p>
<ulclass="simple">
<li><p>ODM settings.yaml file inaonesha anuani kuu iliokusanya project yote. Hivi ndivyo ilivyo katika msatari wa anuani project settings.yaml file (inachanganya kidogo, hii ni anuani yenyewe <em>parent</em> ya anuani ya kila project, ambayo ataoneshwa na jina la project ukiita ODM). hariri settings.yaml na weka <codeclass="docutils literal notranslate"><spanclass="pre">/mnt/odmdata/</span></code>, ambayo katika kesi hii katika nafasi tuliotengeneza. Anuani ya project husika imetengenezwa na hilo.</p></li>
<li><p>Folder la picha, i.e <codeclass="docutils literal notranslate"><spanclass="pre">/mnt/odmdata/myproject/images/</span></code> linakuwa na picha zote. Ikiwa utarekebisha kama hivi, picha hazitakopiwa tena kwa sababu tayari zipo kwenye anuani ambayo ODM inaitaka.</p></li>
<li><p>Badilisha settings.yaml kurahisisha anuani kuu ya file project (katika kesi kama hii nafasi tuliotengeneza, <codeclass="docutils literal notranslate"><spanclass="pre">/mnt/odmdata/</span></code>). Hakikisha picha zipo katika sehemu husika, i.e <codeclass="docutils literal notranslate"><spanclass="pre">/mnt/odmdata/myproject/images</span></code> na mafile mengine ya ziada (gcp_list.txt and image_groups.txt) imo katika semu ya folder <codeclass="docutils literal notranslate"><spanclass="pre">/mnt/odmdata/myproject/</span></code></p></li>
<li><p>Ikiwa una picha katika mafolder tofauti kwa kila mabloki AOI au flight (ikiwa mpangilio wa flight zako utapangika) unaweza kutengeneza picha kwenye file image_groups.txt pamoja na <codeclass="docutils literal notranslate"><spanclass="pre">for</span><spanclass="pre">i</span><spanclass="pre">in</span><spanclass="pre">*;</span><spanclass="pre">do</span><spanclass="pre">cd</span><spanclass="pre">$i;</span><spanclass="pre">for</span><spanclass="pre">j</span><spanclass="pre">in</span><spanclass="pre">*;</span><spanclass="pre">do</span><spanclass="pre">echo</span><spanclass="pre">\"$j</span><spanclass="pre">$i\"</span><spanclass="pre">>></span><spanclass="pre">../$i.txt;</span><spanclass="pre">done;</span><spanclass="pre">cd</span><spanclass="pre">../;</span><spanclass="pre">done;</span></code> and <codeclass="docutils literal notranslate"><spanclass="pre">cd</span><spanclass="pre">../</span></code>, <codeclass="docutils literal notranslate"><spanclass="pre">for</span><spanclass="pre">i</span><spanclass="pre">in</span><spanclass="pre">myproject/*.txt;</span><spanclass="pre">do</span><spanclass="pre">cat</span><spanclass="pre">$i</span><spanclass="pre">>></span><spanclass="pre">image_groups.txt;</span><spanclass="pre">done;</span></code>. Hio itatengenea file na "group name" baada kila moja (kwa kesi hii itakuwa rahisi kuandika jina la folder llkotoka). Kisha ondosha file zote za picha katika anuani moja inayoitwa images ndani ya anuani ya project dir (kwa <codeclass="docutils literal notranslate"><spanclass="pre">/mnt/odmdata/myproject/images/</span></code>). file la image_groups.txt litaruhusu ODM kujua kila picha itokapo kutoka kundi moa,hata ikiwa zimetoka katika anuani moja.</p></li>
<li><p>Zima na badilisha mashine yako kwa mpangilio maalum wa CPU na lkiasi cha kumbukumbu. Natumia memory-optimized mashine kiasi 24 vCPUs na 192GB ya RAM (ghara yake ni kiasi $1.60/hr ambayo itaengeza haraka, ni juu $1000/mwezi). Washa upya na fanya kazi kwa haraka ili usipoteze mda big-droplet.</p></li>
<li><p>Zindua mchakato wa ODM kupitia ssh kutumia nohup (kwa hiyo ikiwa utaikata, mchakato utakatika)</p>
<ul>
<li><p>Badala ya kutumia kioo cha GNU kuzindua mchakato kutoka kwenye kioo ambayo haitasimama hana mawasiliano yakikatika; Zindua <codeclass="docutils literal notranslate"><spanclass="pre">screen</span></code>, na tumia <codeclass="docutils literal notranslate"><spanclass="pre"><ctrl></span><spanclass="pre">a</span><spanclass="pre"><ctrl></span><spanclass="pre">d</span></code> kwenye detach, <codeclass="docutils literal notranslate"><spanclass="pre">screen</span><spanclass="pre">-r</span></code> hadi re-attach. Lakini kutumia haitakupa file la log ya muonekano wa console isipokuwa utafanya kitu maalum kusanifu hili, ikiwa nohup itakupa file pamoja na muonekano wote wa console, ikiwemo ujumbe wa makosa, bure.</p></li>
<li><p>Zingatia kama 2020-03 maneno ya kawaida <codeclass="docutils literal notranslate"><spanclass="pre">python</span><spanclass="pre">run.py</span><spanclass="pre">-i</span><spanclass="pre">/path/to/image/folder</span><spanclass="pre">project_name</span></code> seems <em>not</em> to work; the <codeclass="docutils literal notranslate"><spanclass="pre">-i</span></code> or <codeclass="docutils literal notranslate"><spanclass="pre">--image</span></code> parameter inasababisha kosa la ajabu. Kwa hio tunafuta -i paramiter, na kutegemea mstari wa anuani ya project katika folder settings.yaml kuongoza ODM katika nafsi husika.Sasa tumia (ikiwemo split-merge):</p></li>
<li><p>Alama ODM katika folder (kwa Mfano) <codeclass="docutils literal notranslate"><spanclass="pre">/mnt/odmdata/myproject/</span></code>. Kutoa image_groups.txt na gcp_list.txt zinapatikana ndani ya folder, picha zinapatikana <codeclass="docutils literal notranslate"><spanclass="pre">/mnt/odmdata/myproject/images/</span></code>, na anuani project ndani ya settings.yaml ni <codeclass="docutils literal notranslate"><spanclass="pre">/mnt/odmdata/</span></code> haitapoteza muda na nafasi ya kukupia picha.</p></li>
<li><p>Zingatia kwamba unakisia utakua na file image_groups.txt. Ukikosa hilo``-split-overlap 0`` litaleta athari, na <codeclass="docutils literal notranslate"><spanclass="pre">--split</span><spanclass="pre">l</span></code> bila shaka mchanganyiko halisi wa namba utakataliwa baada ya image_groups.txt file kuonekana (Nafikiria ni kawaida kuzuiya makundi mangapiyatavunjwa kwa seti ya picha ndani yake, lakini kwa kesi yetu tunajaaliapicha zishapangwa kwa uweledi). Ikiwa huna data seti nyingi (>1000 picha). Acha kuchagua <codeclass="docutils literal notranslate"><spanclass="pre">--split</span></code> na <codeclass="docutils literal notranslate"><spanclass="pre">--split-overlap</span></code>.</p></li>
<li><p>Fuata muoendelezo kwa kutumia tail (ili uweze kujua ikimaliza)</p></li>
<h4>Baada kumaliza (kisia utachukua mda mkubwa)<aclass="headerlink"href="#after-it-finishes-assuming-you-survive-that-long"title="Permalink to this heading"></a></h4>
<li><p>Mara tu processing ikimaliza, zima mashine na rudisha chini kwa uwezo mdogo.</p></li>
<li><p>Washa mashine ya kuhifadhi, na ingia ndani kutumia ssh.</p></li>
<li><p>Ikiwa unataka kuhifadhi nafasi uliopakua, unaweza compress orthophoto kutumia GDAL. Usiingize muonekano, fanya hivyo kwenye computer yako kuepusha kufanya file kuwa kubwa kabla ya kupakua.</p></li>
<li><p>Mara tu ukipata file kwenye computer yako, unaweza kuumia QGIS kuingiza muonekano (“pyramids”) au tumia GDAL command <codeclass="docutils literal notranslate"><spanclass="pre">gdaladdo</span><spanclass="pre">-r</span><spanclass="pre">average</span><spanclass="pre">/path/to/image.tif</span><spanclass="pre">2</span><spanclass="pre">4</span><spanclass="pre">8</span><spanclass="pre">16</span><spanclass="pre">32</span><spanclass="pre">64</span><spanclass="pre">128</span><spanclass="pre">256</span><spanclass="pre">512</span><spanclass="pre">1024</span></code>.</p></li>
<li><p>Unaweza kuhifadhi odm_texturing, odm_georeferencing, na odm-dem Mafile tumia tar kwa urahisi wa kupakua kwa sehemu moja (na pengine ndogo zaidi).</p></li>
<h2>Using Potree 3D viewer module on WebODM<aclass="headerlink"href="#using-potree-3d-viewer-module-on-webodm"title="Permalink to this heading"></a></h2>
<p>Activate this function to display camera positions.</p>
<p>You can also click in the camera icon to display single images in a frame on the upper right corner. A click on the image frame toggles into full screen mode.</p>
<p>Within the image frame there are links to download the image and the GeoJSON camera file.</p>
<p>For both appearance and performance purposes, the point budget on the scene can be managed. Some old and less capable machines would benefit from a 500,000 point budget while most mid-range specs machine are capable of handling 1 to 2 million point budget.</p>
<p>A 5 to 7 million point budget produces a smooth point cloud 3d model, but may result in a high resource demanding process.</p>
<p>Default point budget value is set to 1,000,000.</p>
<p>The Potree Point Cloud 3d viewer module can implement eye dome-lighting, a lighting model that accentuates the shapes of objects.</p>
<p>Eye Dome-lighting group objects, shade their outlines and enhances depth perception in scientific visualization images. It is useful for recognition and measurement of structures within a model. It can be modified by adjusting Radius, Strength and Opacity.</p>
<p>By default, Eye Dome-Lighting is enabled on Potree 3D viewer, but it can be disabled by clicking on the enable option.</p>
<p>Potree 3D viewer background can be modified. Available options are <strong>Skybox</strong> / <strong>Gradient</strong> / <strong>Black</strong> / <strong>White</strong> / <strong>None</strong></p>
<p>Potree 3D viewer module provides several tools for measurement. This tool set consist of 12 elements.
It also has controls for showing or hiding the resulting measurement labels.</p>
<p>Measurements are performed by left clicking on the desired points and for some tools right clicking is needed in order to terminate the process.</p>
<p>This tool measures the radius of a circle formed by three points.
To start a measurement, click on the circle icon and then click on the desired two points. The process will be automatically ended.
Further information such as Circumference can also be obtained from selecting this element under the scene section.</p>
<p><strong>Azimuth</strong></p>
<p>This tool measures the azimuthal angle of a line. This line is formed by two points selected by the user, the angle is measured in degrees, clockwise from 0 to 360 and starting from the geographical north.
To start a measurement, click on the azimuth icon and then click on the desired two points. The process will be automatically ended.
Further information can also be obtained from selecting this element under the scene section.</p>
<p><strong>Area</strong></p>
<p>This tool measures the horizontal area formed by a polygon.
To start a measurement, click on the area icon and start clicking on the points forming the desired polygon (three or more). Right click to finish measurement.
Further information can also be obtained from selecting this element under the scene section.</p>
<p><strong>Volume (cube)</strong></p>
<p>This tool measures the volume formed by a cube.
To start a measurement, click on the volume (cube) icon and click on the model to place the cube. It is possible relocate, redimension and rotate the cube using the displayed handlers. Right click to finish measurement.
Further information can also be obtained from selecting this element under the scene section.</p>
<p><strong>Volume (sphere)</strong></p>
<p>This tool measures the volume formed by a sphere.
To start a measurement, click on the volume (sphere) icon and click on the model to place the sphere. It is possible relocate, redimension and rotate the sphere using the displayed handlers. Right click to finish measurement.
Further information can also be obtained from selecting this element under the scene section.</p>
<p><strong>Height profile</strong></p>
<p>This tool creates a height profile formed by a line on the model.
To start a measurement, click on the Height profile icon and then form a line on the model by clicking on the desired points (two or more). Right click to finish measurement.
Further information and options, such as "Show 2d Profile", can also been obtained from selecting this element under the scene section.</p>
<p>Point cloud can be clipped by selecting an area. Clipping options include <strong>None</strong> / <strong>Highlight</strong> / <strong>Inside</strong> / <strong>Outside</strong></p>
<p>To clip a point cloud, click on the volume clip icon, place the cube on the model and relocate, redimension and rotate to contain the desired area.
Highlight is set by default as the clipping method. If display only the points contained within the cube click on "Inside", otherwise click on "Outside".</p>
<p>To remove the clipping volume or polygons click on the "Remove all measurements" icon.</p>
<p>Potree 3D viewer have 4 Navigation controls which define its behavior.</p>
<p><strong>Earth Control</strong></p>
<p>Earth control navigated as anchored to the ground. Mouse left button moves the model horizontally, mouse wheel controls zoom and right button orbits the model.</p>
<p><strong>Fly control</strong></p>
<p>Fly control moves the camera as in birds eye using the keyboard. Keys "W" and "S" moves forward and backwards, respectively and in the direction of the camera, while "A" and "D" moves left and right respectively. Also, the "R" and "F" keys moves the camera up and down. The mouse left button changes the direction of the camera, mouse wheel controls zoom, and right button moves the camera in the XYZ axis.</p>
<p>The speed for these movements can be controlled using the sliding control.</p>
<p><strong>Helicopter control</strong></p>
<p>Helicopter control moves the camera as in an aircraft using the keyboard. Keys "W" and "S" moves forward and backwards, respectively restricted in a horizontal plane, while "A" and "D" moves left and right respectively. Also, the "R" and "F" keys moves the camera up and down. The mouse left button changes the direction of the camera, mouse wheel controls zoom, and right button moves the model in the XY axis.</p>
<p>The speed for these movements can be controlled using the sliding control.</p>
<p><strong>Orbit Control</strong></p>
<p>Orbit Control is the default navigation behavior. The mouse left button orbits the model, the wheel controls zoom and the right button moves the model in the XYZ axis.</p>
<p><strong>Full extent</strong></p>
<p>Full extent button restores the model view.</p>
<p><strong>Navigation cube</strong></p>
<p>Navigation cube displays a wireframe cube containing the model.</p>
<p><strong>Compass</strong></p>
<p>Compass button displays a compass on the upper right corner.</p>
<p><strong>Camera animation</strong></p>
<p>The camera animation button creates a camera animation path. Position of the camera is defined by the points on the green line while the points in the blue line are the location towards the camera is intended to be facing.</p>
<p>To create an animation, adjust the points for the camera locations and camera direction, then select the camera element under the Scene section to create more point, change animation speed or play the animation.</p>
<p><aclass="reference external"href="https://github.com/opendronemap/docs#how-to-make-your-first-contribution">Learn to edit</a> and help improve <aclass="reference external"href="https://github.com/OpenDroneMap/docs/blob/publish/source/tutorials.rst">this page</a>!</p>
<h2>ClusterODM, NodeODM, SLURM, with Singularity on HPC<aclass="headerlink"href="#clusterodm-nodeodm-slurm-with-singularity-on-hpc"title="Permalink to this heading"></a></h2>
<p>Let's say that we will get ClusterODM and NodeODM images in the same folder</p>
<p>Replace yourusername and hpc-address with your appropriate username and the hpc address.</p>
<p>After this, open a browser in your local machine and connect to <aclass="reference external"href="http://localhost:3000">http://localhost:3000</a> with your browser
Here, you can Assign Tasks and observe the tasks' processes.</p>
<figureclass="align-center">
<imgalt="Clusterodm user interface"src="../_images/clusterodm-user-interface.png"/>
</figure>
<p>After adding images in this browser, you can press Start Task and see ClusterODM assigning tasks to the nodes you have wired to. Go for a walk and check the progress.</p>