<liclass="toctree-l4"><aclass="reference internal"href="../installation/#step-3-download-and-launch-webodm">Langkah 3. Unduh dan Jalankan WebODM</a></li>
</ul>
</li>
</ul>
</li>
<liclass="toctree-l2"><aclass="reference internal"href="../installation/#basic-commands-and-troubleshooting">Perintah Dasar dan Pemecahan Masalah</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="#prep-data-and-project">Siapkan data dan proyek</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="#resize-droplet-pull-pin-run-away">Resize droplet, pull pin, run away</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="#after-it-finishes-assuming-you-survive-that-long">Setelah itu selesai (dengan asumsi anda bertahan selama itu)</a></li>
</ul>
</li>
</ul>
</li>
<liclass="toctree-l2"><aclass="reference internal"href="#using-potree-3d-viewer-module-on-webodm">Using Potree 3D viewer module on WebODM</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-l2"><aclass="reference internal"href="../gcp/#recommended-practices-for-gcp-setting">Praktik yang direkomendasikan untuk setelan GCP</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../large/#getting-started-with-distributed-split-merge">Memulai dengan Didistribusikan Membagi-Menggabungkan</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/#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>
<h1>Tutorial<aclass="headerlink"href="#tutorials"title="Link permanen untuk headline ini"></a></h1>
<p>Selanjutnya kamu akan melihat instruksi untuk beberapa penggunaan umum.</p>
<sectionid="creating-high-quality-orthophotos">
<h2>Membuat Ortofoto Kualitas Tinggi<aclass="headerlink"href="#creating-high-quality-orthophotos"title="Link permanen untuk headline ini"></a></h2>
<figureclass="align-center">
<imgalt="image of OpenDroneMap orthophoto"src="../_images/orthophoto.png"/>
</figure>
<p>Tanpa penyesuaian parameter apa pun, ODM memilih kompromi yang baik antara kualitas, kecepatan, dan penggunaan memori. Jika Anda ingin mendapatkan hasil berkualitas lebih tinggi, Anda perlu menyesuaikan beberapa parameter:</p>
<blockquote>
<div><ulclass="simple">
<li><p><codeclass="docutils literal notranslate"><spanclass="pre">--orthophoto-resolution</span></code> adalah resolusi orthophoto dalam cm/pixel. Turunkan nilai ini untuk mendapatkan hasil resolusi yang lebih tinggi.</p></li>
<li><p><codeclass="docutils literal notranslate"><spanclass="pre">--ignore-gsd</span></code> is a flag that instructs ODM to skip certain memory and speed optimizations that directly affect the orthophoto. Using this flag will increase runtime and memory usage, but may produce sharper results.</p></li>
<li><p><codeclass="docutils literal notranslate"><spanclass="pre">--texturing-nadir-weight</span></code> should be increased to <codeclass="docutils literal notranslate"><spanclass="pre">29-32</span></code> in urban areas to reconstruct better edges of roofs. It should be decreased to <codeclass="docutils literal notranslate"><spanclass="pre">0-6</span></code> in grassy / flat areas.</p></li>
<li><p><codeclass="docutils literal notranslate"><spanclass="pre">--texturing-data-term</span></code> harus di atur pada <cite>area</cite> dalam area hutan.</p></li>
<li><p><codeclass="docutils literal notranslate"><spanclass="pre">--mesh-size</span></code> should be increased to <codeclass="docutils literal notranslate"><spanclass="pre">300000-600000</span></code> and <codeclass="docutils literal notranslate"><spanclass="pre">--mesh-octree-depth</span></code> should be increased to <codeclass="docutils literal notranslate"><spanclass="pre">10-11</span></code> in urban areas to recreate better buildings / roofs.</p></li>
</ul>
</div></blockquote>
</section>
<sectionid="calibrating-the-camera">
<h2>Mengkalibrasi kamera<aclass="headerlink"href="#calibrating-the-camera"title="Link permanen untuk headline ini"></a></h2>
<p>Camera calibration is a special challenge with commodity cameras. Temperature changes, vibrations, focus, and other factors can affect the derived parameters with substantial effects on resulting data. Automatic or self calibration is possible and desirable with drone flights, but depending on the flight pattern, automatic calibration may not remove all distortion from the resulting products. James and Robson (2014) in their paper <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> address how to minimize the distortion from self-calibration.</p>
<figureclass="align-center">
<imgalt="image of lens distortion effect on bowling of data"src="../_images/msimbasi_bowling.png"/>
</figure>
<p><em>Bowling effect on point cloud over 13,000+ image dataset collected by World Bank Tanzania over the flood prone Msimbasi Basin, Dar es Salaam, Tanzania.</em></p>
<p>To mitigate this effect, there are a few options but the simplest are as follows: fly two patterns separated by 20°, and rather than having a nadir (straight down pointing) camera, use one that tilts forward by 5°.</p>
<p>As this approach to flying can be take longer than typical flights, a pilot or team can fly a small area using the above approach. OpenDroneMap will generate a calibration file called cameras.json that then can be imported to be used to calibrate another flight that is more efficiently flown.</p>
<p>Alternatively, the following experimental method can be applied: fly with much lower overlap, but two <em>crossgrid</em> flights (sometimes called crosshatch) separated by 20° with a 5° forward facing camera.</p>
<ulclass="simple">
<li><p>Crossgrid overlap percentages can be lower than parallel flights. To get good 3D results, you will require 68% overlap and sidelap for an equivalent 83% overlap and sidelap.</p></li>
<li><p>To get good 2D and 2.5D (digital elevation model) results, you will require 42% overlap and sidelap for an equivalent 70% overlap and sidelap.</p></li>
<p>Vertically separated flight lines also improve accuracy, but less so than a camera that is forward facing by 5°.</p>
<figureclass="align-center">
<imgalt="figure showing effect of vertically separated flight lines and forward facing cameras on improving self calibration"src="../_images/forward_facing.png"/>
</figure>
<p>Dari James dan Robson (2014), <aclass="reference external"href="https://creativecommons.org/licenses/by/4.0">CC BY 4.0</a></p>
</section>
<sectionid="creating-digital-elevation-models">
<h2>Membuat Model Elevasi Digital<aclass="headerlink"href="#creating-digital-elevation-models"title="Link permanen untuk headline ini"></a></h2>
<p>By default ODM does not create 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>
<figureclass="align-center">
<imgalt="image of OpenDroneMap derived digital surface model"src="../_images/digitalsurfacemodel.png"/>
</figure>
<p>For DTM generation, a Simple Morphological Filter (smrf) is used to classify points in ground vs. non-ground and only the ground points are used. The <codeclass="docutils literal notranslate"><spanclass="pre">smrf</span></code> filter can be controlled via several parameters:</p>
<blockquote>
<div><ulclass="simple">
<li><p><codeclass="docutils literal notranslate"><spanclass="pre">--smrf-scalar</span></code> scaling value. Increase this parameter for terrains with lots of height variation.</p></li>
<li><p><codeclass="docutils literal notranslate"><spanclass="pre">--smrf-slope</span></code> slope parameter, which is a measure of "slope tolerance". Increase this parameter for terrains with lots of height variation. Should be set to something higher than 0.1 and not higher than 1.2.</p></li>
<li><p><codeclass="docutils literal notranslate"><spanclass="pre">--smrf-threshold</span></code> elevation threshold. Set this parameter to the minimum height (in meters) that you expect non-ground objects to be.</p></li>
<li><p><codeclass="docutils literal notranslate"><spanclass="pre">--smrf-window</span></code> window radius parameter (in meters) that corresponds to the size of the largest feature (building, trees, etc.) to be removed. Should be set to a value higher than 10.</p></li>
</ul>
</div></blockquote>
<p>Changing these options can affect the result of DTMs significantly. The best source to read to understand how the parameters affect the output is to read the original paper <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> (PDF freely available).</p>
<p>Overall the <codeclass="docutils literal notranslate"><spanclass="pre">--smrf-threshold</span></code> option has the biggest impact on results.</p>
<p>SMRF is good at avoiding Type I errors (small number of ground points mistakenly classified as non-ground) but only "acceptable" at avoiding Type II errors (large number non-ground points mistakenly classified as ground). This needs to be taken in consideration when generating DTMs that are meant to be used visually, since objects mistaken for ground look like artifacts in the final DTM.</p>
<figureclass="align-center">
<imgalt="image of lens distortion effect on bowling of data"src="../_images/smrf.png"/>
</figure>
<p>Dua parameter penting lainnya memengaruhi pembuatan DEM:</p>
<blockquote>
<div><ulclass="simple">
<li><p>`` --dem-resolusi '' yang menetapkan resolusi keluaran raster DEM (cm / piksel)</p></li>
<li><p><codeclass="docutils literal notranslate"><spanclass="pre">--dem-gapfill-steps</span></code> which determines the number of progressive DEM layers to use. For urban scenes increasing this value to <cite>4-5</cite> can help produce better interpolation results in the areas that are left empty by the SMRF filter.</p></li>
<h2>Measuring stockpile volume<aclass="headerlink"href="#measuring-stockpile-volume"title="Link permanen untuk headline ini"></a></h2>
<sectionid="fieldwork-planning">
<h3>Fieldwork planning<aclass="headerlink"href="#fieldwork-planning"title="Link permanen untuk headline ini"></a></h3>
<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>
</section>
<sectionid="flight-pattern">
<h3>Flight pattern<aclass="headerlink"href="#flight-pattern"title="Link permanen untuk headline ini"></a></h3>
<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>
<figureclass="align-center">
<imgalt="a simple lawnmower flight pattern can produce accurate results"src="../_images/lawnmower_pattern.png"/>
</figure>
<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>
</section>
<sectionid="flight-height">
<h3>Flight height<aclass="headerlink"href="#flight-height"title="Link permanen untuk headline ini"></a></h3>
<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>
</section>
<sectionid="gcps">
<h3>GCPs<aclass="headerlink"href="#gcps"title="Link permanen untuk headline ini"></a></h3>
<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.html">Ground Control Points section</a>.</p>
</section>
<sectionid="processing-parameters">
<h3>Processing parameters<aclass="headerlink"href="#processing-parameters"title="Link permanen untuk headline ini"></a></h3>
<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>--dsm: true</p>
<p>--dem-resolution 2.0</p>
<p>--orthophoto-resolution 1.0</p>
<p>--feature-quality high</p>
<p>--pc-quality high</p>
</section>
<sectionid="measuring">
<h3>Measuring<aclass="headerlink"href="#measuring"title="Link permanen untuk headline ini"></a></h3>
<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>
<figureclass="align-center">
<imgalt="almost 50% of the material will be found in the first 20% of the stockpile height"src="../_images/stockpile.png"/>
</figure>
<p>In WebODM Dashboard, clic on "view map" to start a 2D view of your project.</p>
<p>Once in the 2D map view, clic on the "Measure volume, area and length" button.</p>
<figureclass="align-center">
<imgalt="clic on the "Measure volume, area and length" button"src="../_images/measurement1.png"/>
</figure>
<p>then clic on "Create a new measurement"</p>
<figureclass="align-center">
<imgalt="clic on "Create a new measurement""src="../_images/measurement2.png"/>
</figure>
<p>Start placing the points to define the stockpile base plane</p>
<figureclass="align-center">
<imgalt="Define the stockpile base plane"src="../_images/measurement3.png"/>
</figure>
<p>Clic on "Finish measurement" to finish the process.</p>
<figureclass="align-center">
<imgalt="Clic on "Finish measurement" to finish the process"src="../_images/measurement4.png"/>
</figure>
<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>
<figureclass="align-center">
<imgalt="Clic on "Finish measurement" to finish the process"src="../_images/measurement7.png"/>
</figure>
<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>
</section>
<sectionid="expected-accuracy">
<h3>Expected accuracy<aclass="headerlink"href="#expected-accuracy"title="Link permanen untuk headline ini"></a></h3>
<p>For carefully planned and executed projects, and specially when GSD is less than 1 cm, the expected accuracy should be in the range of 1% to 2%.
The resulting accuracy is comparable to the commercially available photogrammetry software and the obtained using survey grade GNSS equipment.</p>
</section>
</section>
<sectionid="using-docker">
<h2>Menggunakan Docker<aclass="headerlink"href="#using-docker"title="Link permanen untuk headline ini"></a></h2>
<p>Since many users employ docker to deploy OpenDroneMap, it can be useful to understand some basic commands in order to interrogate the docker instances when things go wrong, or we are curious about what is happening. Docker is a containerized environment intended, among other things, to make it easier to deploy software independent of the local environment. In this way, it is similar to virtual machines.</p>
<p>Beberapa perintah sederhana dapat membuat pengalaman docker kami jauh lebih baik.</p>
<sectionid="listing-docker-machines">
<h3>Daftar Mesin Docker<aclass="headerlink"href="#listing-docker-machines"title="Link permanen untuk headline ini"></a></h3>
<p>Kita bisa mulai dengan membuat daftar mesin docker yang tersedia di mesin saat ini yang kita jalankan sebagai berikut:</p>
<p>This is likely to be unwieldy large, but we can use a pipe <cite>|</cite> character and other tools to extract just what we need from the logs. For example we can move through the log slowly using the <cite>more</cite> command:</p>
<p>Pressing <cite>Enter</cite> or <cite>Space</cite>, arrow keys or <cite>Page Up</cite> or <cite>Page Down</cite> keys will now help us navigate through the logs. The lower case letter <cite>Q</cite> will let us escape back to the command line.</p>
<p>Kita juga bisa hanya mengekstrak bagian akhir log saja menggunakan perintah <cite>tail</cite> sebagai berikut:</p>
<p>Nilai <cite>-5</cite> berarti meminta perintah tail untuk hanya memberikan 5 baris log terakhir saja.</p>
</section>
<sectionid="command-line-access-to-instances">
<h3>perintah konsol akses ke server<aclass="headerlink"href="#command-line-access-to-instances"title="Link permanen untuk headline ini"></a></h3>
<p>Terkadang kita perlu mengamati lebih teliti dalam mengeksplorasi proses di OpenDroneMap. Untuk itu, kita dapat memanfaatkan akses langsung konsol ke server. Kita gunakan <cite>docker exec</cite> untuk jalankan perintah <cite>bash</cite> konsol di server yang kita inginkanin sebagai berikut:</p>
<p>Sekarang kita telah masuk ke docker dan dapat mengeksplorasi mesin.</p>
</section>
<sectionid="cleaning-up-after-docker">
<h3>Membersihkan setelah Docker<aclass="headerlink"href="#cleaning-up-after-docker"title="Link permanen untuk headline ini"></a></h3>
<p>Docker has a lamentable use of space and by default does not clean up excess data and machines when processes are complete. This can be advantageous if we need to access a process that has since terminated, but carries the burden of using increasing amounts of storage over time. Maciej Łebkowski has an <aclass="reference external"href="https://lebkowski.name/docker-volumes/">excellent overview of how to manage excess disk usage in docker</a>.</p>
<h2>Menggunakan ODM dari lokasi bandwidth rendah<aclass="headerlink"href="#using-odm-from-low-bandwidth-location"title="Link permanen untuk headline ini"></a></h2>
<sectionid="what-is-this-and-who-is-it-for">
<h3>Untuk apa ini dan untuk siapa?<aclass="headerlink"href="#what-is-this-and-who-is-it-for"title="Link permanen untuk headline ini"></a></h3>
<p><aclass="reference external"href="https://www.opendronemap.org/">OpenDroneMap</a> can’t always be
effectively set up locally—it takes a fairly powerful machine to process
large datasets—so a cloud machine can sometimes be the answer for people
in the field. However, bandwidth is a problem in many low-income
settings. This constraint can’t be solved completely, but the following
method does a reasonable job of reducing the bandwidth needed to process
drone imagery datasets on the cloud from African locations.</p>
<p>Here we present a tricky but workable process to create an OpenDroneMap
cloud machine (<em>not</em> CloudODM, mind you, just a cloud-based instance of
ODM that you run from the command line) and use it to remotely process
large photo sets. It requires familiarity with Unix command line use,
ssh, a Digital Ocean account (Amazon AWS would work as well, possibly
with slight differences in the setup), and a moderate level of general
computer literacy. If you aren’t fairly computer-savvy and willing to
fuss with a slightly tricky setup,
<aclass="reference external"href="https://www.opendronemap.org/cloudodm/">CloudODM</a> is what you should
be looking at.</p>
<p>The whole process is mostly targeted at someone flying substantial
missions in an African or similar location looking to process data ASAP
while still in a field setting. Therefore it emphasizes a workflow
intended to reduce bandwidth/data transfer, rather than just the
simplest way of running ODM.</p>
</section>
<sectionid="steps">
<h3>Langkah-langkah<aclass="headerlink"href="#steps"title="Link permanen untuk headline ini"></a></h3>
<sectionid="install">
<h4>Instal<aclass="headerlink"href="#install"title="Link permanen untuk headline ini"></a></h4>
<ulclass="simple">
<li><p>Create a Digital Ocean droplet with at least 4GB of RAM. That’ll cost
about $20/month. Less than 4GB of RAM and the install will probably
fail. When we actually run the ODM process we’ll resize it to a much
larger—and more expensive—cloud machine, but between runs you can
downsize it between runs to the second-cheapest droplet which costs
only $10/month (the cheapest droplet, at $5/month, comes with such a
small drive that you can’t downsize back to it).</p>
<ul>
<li><p>Should be an Ubuntu 18.04 instance to ensure dependency
compatibility</p></li>
<li><p>Create a user with 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>
can help you figure this out. In our case we set up a user called
<codeclass="docutils literal notranslate"><spanclass="pre">odm</span></code>, so connecting to it is via the command
<codeclass="docutils literal notranslate"><spanclass="pre">ssh</span><spanclass="pre">odm@xxx.xxx.xxx.xxx</span></code> (where the x’s stand for the IPv4
address of your server). If you want to follow this example
closely, <em>do</em> use the username <codeclass="docutils literal notranslate"><spanclass="pre">odm</span></code>; then your install path
will be <codeclass="docutils literal notranslate"><spanclass="pre">/home/odm/ODM/</span></code> and will match all of the examples in
this document.</p></li>
<li><p>Go ahead and execute <codeclass="docutils literal notranslate"><spanclass="pre">sudo</span><spanclass="pre">apt</span><spanclass="pre">update</span></code> and <codeclass="docutils literal notranslate"><spanclass="pre">sudo</span><spanclass="pre">apt</span><spanclass="pre">upgrade</span></code> to ensure
your server isn’t dangerously without updates. Make sure to stay with
Ubuntu 18.04.</p></li>
</ul>
</li>
<li><p>Download and install ODM on it from the <aclass="reference external"href="https://github.com/OpenDroneMap/ODM">ODM
<li><p>If you do this from the default home folder of your user
(i.e. <codeclass="docutils literal notranslate"><spanclass="pre">odm</span></code>) the path to the install will be <codeclass="docutils literal notranslate"><spanclass="pre">/home/odm/ODM</span></code>
(abbreviated as <codeclass="docutils literal notranslate"><spanclass="pre">~/ODM/</span></code>).</p></li>
<li><p>There are some environmental variables that need to be set. Open the
~/.bashrc file on your machine and add the following 3 lines at the
end (From <aclass="reference external"href="https://github.com/OpenDroneMap/ODM">the ODM github</a>).
The file can be opened with <codeclass="docutils literal notranslate"><spanclass="pre">nano</span><spanclass="pre">~/.bashrc</span></code> (or whatever text
editor you use in lieu of nano). Be sure to replace <codeclass="docutils literal notranslate"><spanclass="pre">/home/odm/</span></code>
with the correct path to the location where you extracted
OpenDroneMap if you didn’t do everything exactly as in our example
(for example if you used a different username in your server setup):</p></li>
That should create a file with the correct structure: a list of all
image files and a “group name” after each one (which in this case
will simply be the name of the folder it came from). Then move all of
the image files into a single directory called images in the project
root dir (so <codeclass="docutils literal notranslate"><spanclass="pre">/mnt/odmdata/myproject/images/</span></code>). The
image_groups.txt file will allow ODM to keep track of which images
belong to the same batch, even though they’re all in a single
directory.</p></li>
</ul>
</section>
</section>
<sectionid="resize-droplet-pull-pin-run-away">
<h4>Resize droplet, pull pin, run away<aclass="headerlink"href="#resize-droplet-pull-pin-run-away"title="Link permanen untuk headline ini"></a></h4>
<ulclass="simple">
<li><p>Shut down and resize your machine to an appropriately monstrous
number of CPUs and amount of memory. I use the memory-optimized
machine with 24 dedicated vCPUs and 192GB of RAM (which costs about
$1.60/hr—which adds up fast, it’s over $1000/month). Restart, and get
to work quickly so as not to waste expensive big-droplet time.</p></li>
<li><p>Luncurkan proses ODM melalui ssh menggunakan nohup (sehingga jika anda terputus, pemrosesan akan dilanjutkan)</p>
<ul>
<li><p>Alternately you can use GNU screen to launch the process from a
screen session which won’t stop if your connection is interrupted;
launch <codeclass="docutils literal notranslate"><spanclass="pre">screen</span></code>, and use <codeclass="docutils literal notranslate"><spanclass="pre"><ctrl></span><spanclass="pre">a</span><spanclass="pre"><ctrl></span><spanclass="pre">d</span></code> to detach,
<codeclass="docutils literal notranslate"><spanclass="pre">screen</span><spanclass="pre">-r</span></code> to re-attach. But using screen won’t get you a log
file of all of the console output unless you do something specific
to capture that, while nohup gives you a file with all of the
console output, including error messages, for free.</p></li>
<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 causes a weird
error. So we drop the -i parameter, and rely on the project
directory line in the settings.yaml file to direct ODM to the
right place. Now using (including a split-merge):</p></li>
<li><p>This points ODM at the folder (in this example)
<codeclass="docutils literal notranslate"><spanclass="pre">/mnt/odmdata/myproject/</span></code>. Provided the image_groups.txt and
gcp_list.txt are in this folder, the images are in
<codeclass="docutils literal notranslate"><spanclass="pre">/mnt/odmdata/myproject/images/</span></code>, and the project path in
settings.yaml is <codeclass="docutils literal notranslate"><spanclass="pre">/mnt/odmdata/</span></code> it will not waste time and space
copying images.</p></li>
<li><p>Note that this assumes you have an image_groups.txt file. If not,
this <codeclass="docutils literal notranslate"><spanclass="pre">-split-overlap</span><spanclass="pre">0</span></code> will probably fuck things up, and the
<codeclass="docutils literal notranslate"><spanclass="pre">--split</span><spanclass="pre">1</span></code> is literally a random number that will be ignored after
the image_groups.txt file is loaded (I think it normally controls how
many groups it splits a set of images into, but in our case we’re
assuming the images are already grouped sensibly). If you don’t have
a large dataset (>1000 images), omit the <codeclass="docutils literal notranslate"><spanclass="pre">--split</span></code> and
<li><p>Anda mungkin ingin mengawasi htop (untuk mengetahui penggunaan sumber daya sehingga di masa mendatang anda hanya dapat menjalankan mesin sebesar yang diperlukan)</p></li>
<h4>Setelah itu selesai (dengan asumsi anda bertahan selama itu)<aclass="headerlink"href="#after-it-finishes-assuming-you-survive-that-long"title="Link permanen untuk headline ini"></a></h4>
<ulclass="simple">
<li><p>As soon as processing is done, shut down the machine and resize it
back down to the inexpensive minimum capacity.</p></li>
<li><p>Mulai mesin kembali, dan masuk melalui ssh.</p></li>
<li><p>If you want to save download bandwidth, you can compress the
orthophoto using GDAL. Don’t add overviews, do that on your local
machine to avoid making the file bigger before downloading it.</p></li>
<li><p>Unduh menggunakan scp: <codeclass="docutils literal notranslate"><spanclass="pre">scp</span><spanclass="pre">odm@xxx.xxx.xxx.xxx:/mnt/odmdata/myproject/odm_orthophoto/odm_orthophoto.tif</span></code> (atau dapatkan versi terkompresi yang telah dibuat dilangkah terakhir)</p></li>
<li><p>Setelah mendapatkan berkasnya di komputermu, kamu bisa menggunakan QGIS untuk menambahkan overview (“pyramids”) atau gunakan GDAL dengan menjalankan <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>Kamu bisa mengarsip folder odm_texturing, odm_georeferencing, dan odm-dem menggunaan tool tar agar lebih mudah diunduh dalam satu kesatuan (dan mungkin ukurannya lebih kecil).</p></li>
<h2>Using Potree 3D viewer module on WebODM<aclass="headerlink"href="#using-potree-3d-viewer-module-on-webodm"title="Link permanen untuk headline ini"></a></h2>
<sectionid="cameras">
<h3>Cameras<aclass="headerlink"href="#cameras"title="Link permanen untuk headline ini"></a></h3>
<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>
<h3>Appearance<aclass="headerlink"href="#appearance"title="Link permanen untuk headline ini"></a></h3>
<sectionid="point-budget">
<h4>Point budget<aclass="headerlink"href="#point-budget"title="Link permanen untuk headline ini"></a></h4>
<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>
</section>
<sectionid="field-of-view">
<h4>Field of view<aclass="headerlink"href="#field-of-view"title="Link permanen untuk headline ini"></a></h4>
<p>In order to control model elements to be included within the scene the field of view can be adjusted. Default value is set to 60 degrees.</p>
<figureclass="align-center">
<imgalt="Field of view adjustment"src="../_images/FOV_animation.gif"/>
</figure>
</section>
<sectionid="eye-dome-lighting">
<h4>Eye Dome-lighting<aclass="headerlink"href="#eye-dome-lighting"title="Link permanen untuk headline ini"></a></h4>
<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>
<figureclass="align-center">
<imgalt="Eye dome lighting adjustment"src="../_images/EDL_animation.gif"/>
</figure>
</section>
<sectionid="background">
<h4>Background<aclass="headerlink"href="#background"title="Link permanen untuk headline ini"></a></h4>
<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>
<h4>Other<aclass="headerlink"href="#other"title="Link permanen untuk headline ini"></a></h4>
<p><strong>Splat Quality</strong> = Splat quality can be adjusted to standard or high quality, to improve the appearance of the model.</p>
<p><strong>Min node size</strong> = Min node size option will impact the point density of the nodes represented.</p>
<p><strong>Box</strong> = Display the boxes of the nodes.</p>
<p><strong>Lock view</strong> = Lock the point cloud view, preventing to load or unload points to the model.</p>
</section>
</section>
<sectionid="tools">
<h3>Tools<aclass="headerlink"href="#tools"title="Link permanen untuk headline ini"></a></h3>
<sectionid="measurement">
<h4>Measurement<aclass="headerlink"href="#measurement"title="Link permanen untuk headline ini"></a></h4>
<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">Belajar mengedit</a> dan membantu meningkatkan <aclass="reference external"href="https://github.com/OpenDroneMap/docs/blob/publish/source/tutorials.rst">halaman ini</a>!</p>
<ahref="../installation/"class="btn btn-neutral float-left"title="Cara memulai dan instalasi"accesskey="p"rel="prev"><spanclass="fa fa-arrow-circle-left"aria-hidden="true"></span> Previous</a>
<ahref="../arguments/"class="btn btn-neutral float-right"title="Opsi dan Bendera"accesskey="n"rel="next">Next <spanclass="fa fa-arrow-circle-right"aria-hidden="true"></span></a>
</div>
<hr/>
<divrole="contentinfo">
<p>© Hak cipta 2020, OpenDroneMap.</p>
</div>
Built with <ahref="https://www.sphinx-doc.org/">Sphinx</a> using a