kopia lustrzana https://github.com/OpenDroneMap/docs
localization
rodzic
858c6cff14
commit
3b608410f7
|
@ -32,6 +32,9 @@ extensions = [
|
|||
'sphinx.ext.todo',
|
||||
'sphinx.ext.githubpages'
|
||||
]
|
||||
#For internationalization:
|
||||
locale_dirs = ['locale/']
|
||||
gettext_compact = False
|
||||
|
||||
# Add any paths that contain templates here, relative to this directory.
|
||||
templates_path = ['_templates']
|
||||
|
|
|
@ -0,0 +1,34 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/arguments.rst:4
|
||||
msgid "Options and Flags"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/arguments.rst:6
|
||||
msgid "Arguments::"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/arguments.rst:289
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/using.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,193 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/contributing.rst:4
|
||||
msgid "How to contribute"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:6
|
||||
msgid ""
|
||||
"OpenDroneMap relies on community contributions. You can contribute in "
|
||||
"many ways, even if you are not a programmer."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:9
|
||||
msgid "Community Forum"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:11
|
||||
msgid ""
|
||||
"If you are looking to get involved, are stuck on a problem, or want to "
|
||||
"reach out, `the forum <https://community.opendronemap.org/>`_ is a great "
|
||||
"place to start. You may find your questions already answered or else you "
|
||||
"can find other useful tips and resources. You can also contribute your "
|
||||
"open access datasets for others to explore. It is a good place go before "
|
||||
"submitting bug reports or getting in touch with developers before writing"
|
||||
" a new feature."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:14
|
||||
msgid "Reporting Bugs"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:16
|
||||
msgid ""
|
||||
"Bugs are tracked as Github issues. Please create an issue in the "
|
||||
"repository and tag it with the Bug tag."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:18
|
||||
msgid ""
|
||||
"Explain the problem and include additional details to help maintainers "
|
||||
"reproduce the problem:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:20
|
||||
msgid ""
|
||||
"**Use a clear and descriptive title** for the issue to identify the "
|
||||
"problem."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:21
|
||||
msgid ""
|
||||
"**Describe the exact steps which reproduce the problem** in as many "
|
||||
"details as possible. For example, start by explaining how you run ODM "
|
||||
"(Docker, Vagrant, etc), e.g. which command exactly you used in the "
|
||||
"terminal. When listing steps, **don't just say what you did, but explain "
|
||||
"how you did it.**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:22
|
||||
msgid ""
|
||||
"**Provide specific examples to demonstrate the steps.** Include links to "
|
||||
"files or GitHub projects, or copy/pasteable snippets, which you use in "
|
||||
"those examples. If you're providing snippets in the issue, use `Markdown "
|
||||
"code blocks <https://help.github.com/articles/markdown-basics/#multiple-"
|
||||
"lines>`_."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:23
|
||||
msgid ""
|
||||
"**Describe the behavior you observed after following the steps** and "
|
||||
"point out what exactly is the problem with that behavior."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:24
|
||||
msgid "**Explain which behavior you expected to see instead and why.**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:25
|
||||
msgid ""
|
||||
"**Include screenshots and animated GIFs** which show you following the "
|
||||
"described steps and clearly demonstrate the problem. You can use `this "
|
||||
"tool to record GIFs on macOS and Windows "
|
||||
"<http://www.cockos.com/licecap/>`_, and `this tool "
|
||||
"<https://github.com/colinkeenan/silentcast>`_ or `this one "
|
||||
"<https://github.com/GNOME/byzanz>`_ on Linux."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:26
|
||||
msgid ""
|
||||
"**If the problem is related to performance,** please post your machine's "
|
||||
"specs (host and guest machine)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:27
|
||||
msgid ""
|
||||
"**If the problem wasn't triggered by a specific action,** describe what "
|
||||
"you were doing before the problem happened and share more information "
|
||||
"using the guidelines below."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:29
|
||||
msgid "Include details about your configuration and environment:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:31
|
||||
msgid ""
|
||||
"**Which version of ODM are you using?** A stable release? a clone of "
|
||||
"master?"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:32
|
||||
msgid "**What's the name and version of the OS you're using?**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:33
|
||||
msgid ""
|
||||
"**Are you running ODM in a virtual machine or Docker?** If so, which VM "
|
||||
"software are you using and which operating systems and versions are used "
|
||||
"for the host and the guest?"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:36
|
||||
msgid "Template For Submitting Bug Reports"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:69
|
||||
msgid "Pull Requests"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:71
|
||||
msgid ""
|
||||
"Include screenshots and animated GIFs in your pull request whenever "
|
||||
"possible."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:72
|
||||
msgid "Follow the PEP8 Python Style Guide."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:73
|
||||
msgid "End files with a newline."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:76
|
||||
msgid "Avoid platform-dependent code:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:75
|
||||
msgid "Use require('fs-plus').getHomeDirectory() to get the home directory."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:76
|
||||
msgid "Use path.join() to concatenate filenames."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:77
|
||||
msgid ""
|
||||
"Use os.tmpdir() rather than /tmp when you need to reference the temporary"
|
||||
" directory."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:79
|
||||
msgid "Using a plain return when returning explicitly at the end of a function."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:79
|
||||
msgid "Not return null, return undefined, null, or undefined"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:81
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/contributing.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,75 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/flying.rst:2
|
||||
msgid "Flying tips"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:4
|
||||
msgid ""
|
||||
"The `Humanitarian OpenStreetMap team <https://www.hotosm.org/>`_ has "
|
||||
"guidelines on `flying for UAV mapping <https://uav-"
|
||||
"guidelines.openaerialmap.org/>`_:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:6
|
||||
msgid ""
|
||||
"`Choosing the right UAV <https://uav-"
|
||||
"guidelines.openaerialmap.org/pages/05-choosing-the-right-uav/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:8
|
||||
msgid ""
|
||||
"`Choosing the right sensor <https://uav-"
|
||||
"guidelines.openaerialmap.org/pages/06-choosing-the-sensor/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:10
|
||||
msgid ""
|
||||
"`Mission preparation <https://uav-guidelines.openaerialmap.org/pages/07"
|
||||
"-preparing-for-the-uav-mission/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:12
|
||||
msgid ""
|
||||
"The guidelines are intended for drone mapping projects on islands, but "
|
||||
"have general use for all drone mappers."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:14
|
||||
msgid ""
|
||||
"See also DroneDeploy's guide on `Making Successful Maps "
|
||||
"<https://support.dronedeploy.com/docs/making-successful-maps>`_, which "
|
||||
"provides great tips on mission planning."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:16
|
||||
msgid ""
|
||||
"Finally, lens distortion is a challenge in projects requiring accurate 3D"
|
||||
" data. See our section in these docs on `Camera Calibration "
|
||||
"<tutorials.html#calibrating-the-camera>`_."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:18
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/flying.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/index.rst:8
|
||||
msgid "Welcome to OpenDroneMap's documentation"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/index.rst:40
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/index.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,778 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/installation.rst:4
|
||||
msgid "Installation and Getting Started"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:6
|
||||
msgid ""
|
||||
"This section is excerpted and modified with permission from "
|
||||
"`OpenDroneMap: The Missing Guide <https://odmbook.com>`_, by Piero "
|
||||
"Toffanin."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:8
|
||||
msgid ""
|
||||
"Until recently OpenDroneMap was the term used to refer to a single "
|
||||
"command line application (what is now known as the ODM project). With "
|
||||
"the recent development of a web interface, an API and other tools, "
|
||||
"OpenDroneMap has become an ecosystem of various applications to process, "
|
||||
"analyze and display aerial data. This ecosystem is made of several "
|
||||
"components:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:14
|
||||
msgid ""
|
||||
"**ODM** is the processing engine, which can be used from the command "
|
||||
"line. It takes images as input and produces a variety of outputs, "
|
||||
"including point clouds, 3D models and orthophotos"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:20
|
||||
msgid ""
|
||||
"**NodeODM** is a light-weight API built on top of ODM. It allows users "
|
||||
"and applications to access the functions of ODM over a computer network"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:26
|
||||
msgid ""
|
||||
"**WebODM** is a friendly user interface that includes a map viewer, a 3D "
|
||||
"viewer, user logins, a plugin system and many other features that are "
|
||||
"expected of modern drone mapping platforms"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:32
|
||||
msgid ""
|
||||
"**CloudODM** is a small command line client to communicate with ODM via "
|
||||
"the NodeODM API"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:38
|
||||
msgid ""
|
||||
"**PyODM** is a Python SDK for creating tasks via the NodeODM API. We "
|
||||
"cover it in more detail in the “Automated Processing With Python” chapter"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:44
|
||||
msgid ""
|
||||
"**ClusterODM** is a load balancer for connecting together multiple "
|
||||
"NodeODM instances"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:46
|
||||
msgid ""
|
||||
"ODM, NodeODM and WebODM are available on all major platforms (Windows, "
|
||||
"macOS and Linux) via a program called docker, which is required to run "
|
||||
"the software. Docker offers a way to run “containers”. Containers are "
|
||||
"packaged copies of an entire system, its software and its dependencies. "
|
||||
"These containers run within a virtual environment. On Linux this virtual "
|
||||
"environment is available from the operating system and is very efficient."
|
||||
" On macOS and Windows the containers run within a VM, so there’s a bit of"
|
||||
" a overhead. but it’s still very suitable for running the software. Once "
|
||||
"installed users do not have to worry much about docker, as it operates "
|
||||
"(almost) transparently."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:48
|
||||
msgid ""
|
||||
"Without docker it would not be possible to run ODM on Windows or macOS. "
|
||||
"On these platforms ODM cannot run natively. Future development efforts "
|
||||
"are being focused on leveraging the new Windows Subsystem for Linux (WSL)"
|
||||
" and the possibility to make a native port of all dependencies to macOS, "
|
||||
"which is going to make the installation much easier."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:50
|
||||
msgid ""
|
||||
"On Ubuntu Linux 16.04 it’s feasible to run all OpenDroneMap software "
|
||||
"natively. However, because there’s very little performance penalty for "
|
||||
"running docker on Linux and docker is straightforward to setup on this "
|
||||
"platform, we don’t recommend it. On Linux the advantages of "
|
||||
"containerization far outweigh a tiny performance penalty. With docker "
|
||||
"users also get easy one-step updates of the software, so that’s nice."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:54
|
||||
msgid "Hardware Recommendations"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:56
|
||||
msgid "The bare minimum requirements for running the software are:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:59
|
||||
msgid "64bit CPU manufactured on or after 2010"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:60
|
||||
msgid "20 GB of disk space"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:61
|
||||
msgid "4 GB RAM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:63
|
||||
msgid ""
|
||||
"No more than 100-200 images can be processed with the above "
|
||||
"specifications (the software will run out of memory). Recommended "
|
||||
"requirements are:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:65
|
||||
msgid "Latest Generation CPU"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:66
|
||||
msgid "100 GB of disk space"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:67
|
||||
msgid "16 GB RAM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:69
|
||||
msgid ""
|
||||
"The above will allow for a few hundred images to be processed without too"
|
||||
" many issues. A CPU with more cores will allow for faster processing, "
|
||||
"while a graphics card (GPU) currently has no impact on performance. For "
|
||||
"processing more images, add more disk space and RAM linearly to the "
|
||||
"number of images you need to process."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:75
|
||||
msgid "Installation"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:77
|
||||
msgid ""
|
||||
"We recommend people use `docker <https://www.docker.com>`_ for running "
|
||||
"ODM, whether you are on Windows, macOS or Linux."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:80
|
||||
msgid "Windows"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:82
|
||||
msgid ""
|
||||
"To run OpenDroneMap you need at least Windows 7. Previous versions of "
|
||||
"Windows are not supported."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:86 ../../source/installation.rst:237
|
||||
msgid "Step 1. Check Virtualization Support"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:88
|
||||
msgid ""
|
||||
"Docker requires a feature from your CPU called virtualization, which "
|
||||
"allows it to run virtual machines (VMs). Make sure you have it enabled! "
|
||||
"Sometimes this is disabled. To check, on Windows 8 or higher you can open"
|
||||
" the **Task Manager** (press CTRL+SHIFT+ESC) and switch to the "
|
||||
"**Performance** tab."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:94
|
||||
msgid "*Virtualization should be enabled*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:96
|
||||
msgid ""
|
||||
"On Windows 7 to see if you have virtualization enabled you can use the "
|
||||
"`Microsoft® Hardware-Assisted Virtualization Detection Tool <http:// "
|
||||
"www.microsoft.com/en-us/download/details.aspx?id=592>`_ instead."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:99
|
||||
msgid ""
|
||||
"If virtualization is disabled, you’ll need to enable it. The procedure "
|
||||
"unfortunately is a bit different for each computer model, so the best way"
|
||||
" to do this is to look up on a search engine “how to enable vtx for <type"
|
||||
" your computer model here>”. Often times it’s a matter of restarting the "
|
||||
"computer, immediately pressing F2 or F12 during startup, navigating the "
|
||||
"boot menu and changing the settings to enable virtualization (often "
|
||||
"called “VT-X”)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:105
|
||||
msgid ""
|
||||
"*Common keys to press at computer startup to access the boot menu for "
|
||||
"various PC vendors*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:108 ../../source/installation.rst:256
|
||||
msgid "Step 2. Install Requirements"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:110
|
||||
msgid "First, you’ll need to install:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:112
|
||||
msgid "Git: https://git-scm.com/downloads"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:113
|
||||
msgid "Python (latest version 3): https://www.python.org/downloads/windows/"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:115
|
||||
msgid ""
|
||||
"For Python 3, make sure you check **Add Python 3.x to PATH** during the "
|
||||
"installation."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:121
|
||||
msgid ""
|
||||
"*Don’t forget to add the Python executable to your PATH (so that you can "
|
||||
"run commands with it)*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:123
|
||||
msgid ""
|
||||
"Then, only if you are on Windows 10 Home, Windows 8 (any version) or "
|
||||
"Windows 7 (any version), install:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:125
|
||||
msgid ""
|
||||
"Docker Toolbox: "
|
||||
"https://github.com/docker/toolbox/releases/download/v18.09.3/DockerToolbox-18.09.3.exe"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:127
|
||||
msgid ""
|
||||
"If you are on Windows 10 Professional or a newer version, you should "
|
||||
"install instead:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:129
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Docker for Windows: "
|
||||
"https://download.docker.com/win/stable/Docker%20for%20Windows%20Installer.exe"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:131
|
||||
msgid ""
|
||||
"Please do **NOT** install both docker programs. They are different and "
|
||||
"will create a mess if they are both installed."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:133
|
||||
msgid ""
|
||||
"After installing docker, launch it from the Desktop icon that is created "
|
||||
"from the installation (**Docker Quickstart** in the case of Docker "
|
||||
"Toolbox, **Docker for Windows** for Docker for Windows). This is "
|
||||
"important, do not skip this step. If there are errors, follow the prompts"
|
||||
" on screen to fix them."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:136 ../../source/installation.rst:298
|
||||
msgid "Step 3. Check Memory and CPU Allocation"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:138
|
||||
msgid ""
|
||||
"Docker on Windows works by running a VM in the background (think of a VM "
|
||||
"as a “computer emulator”). This VM has a certain amount of memory "
|
||||
"allocated and WebODM can only use as much memory as it’s allocated."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:140
|
||||
msgid ""
|
||||
"If you installed Docker Toolbox (see below if you installed Docker for "
|
||||
"Windows instead):"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:142
|
||||
msgid "Open the **VirtualBox Manager** application"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:143
|
||||
msgid ""
|
||||
"Right click the **default** VM and press **Close (ACPI Shutdown)** to "
|
||||
"stop the machine"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:144
|
||||
msgid "Right click the **default** VM and press **Settings...**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:145
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Move the **Base Memory** slider from the **System** paneland allocate "
|
||||
"60-70% of all available memory, optionally adding 50% of the available "
|
||||
"processors from the **Processor** tab also"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:151
|
||||
msgid "*VirtualBox default VM settings*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:153
|
||||
msgid "Then press **OK**, right click the **default** VM and press **Start**."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:155
|
||||
msgid "If you installed Docker for Windows instead:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:157
|
||||
msgid "Look in the system tray and right click the “white whale” icon."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:158
|
||||
msgid "From the menu, press **Settings...**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:159
|
||||
#, python-format
|
||||
msgid ""
|
||||
"From the panel, click **Advanced** and use the sliders to allocate 60-70%"
|
||||
" of available memory and use half of all available CPUs."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:160
|
||||
msgid "Press **Apply**."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:166
|
||||
msgid "*Step 1 Docker icon*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:172
|
||||
msgid "*Step 3 & 4 Docker settings*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:175
|
||||
msgid "Step 4. Download WebODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:177
|
||||
msgid "Open the **Git Gui** program that comes installed with Git. From there:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:179
|
||||
msgid "In **Source Location** type: https://github.com/Open-DroneMap/WebODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:180
|
||||
msgid ""
|
||||
"In **Target Directory** click browse and navigate to a folder of your "
|
||||
"choosing (create one if necessary)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:181
|
||||
msgid "Press **Clone**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:187
|
||||
msgid "*Git Gui*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:189
|
||||
msgid "If the download succeeded, you should now see this window:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:195
|
||||
msgid "*Git Gui after successful download (clone)*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:197
|
||||
msgid ""
|
||||
"Go to the **Repository** menu, then click **Create Desktop Icon**. This "
|
||||
"will allow you to come back to this application easily in the future."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:200
|
||||
msgid "Step 4. Launch WebODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:202
|
||||
msgid ""
|
||||
"From Git Gui, go to the **Repository** menu, then click **Git Bash**. "
|
||||
"From the command line terminal type:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:208
|
||||
msgid ""
|
||||
"Several components will download to your machine at this point, including"
|
||||
" WebODM, NodeODM and ODM. After the download you should be greeted by the"
|
||||
" following screen:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:214
|
||||
msgid "*Console output after starting WebODM for the first time*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:216
|
||||
msgid ""
|
||||
"If you are using Docker for Windows, open a web browser to "
|
||||
"http://localhost:8000"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:217
|
||||
msgid ""
|
||||
"If you are using Docker Toolbox, find the IP address to connect to by "
|
||||
"typing:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:223
|
||||
msgid "You should get a result like the following:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:229
|
||||
msgid ""
|
||||
"Then connect to http://192.168.1.100:8000 (replacing the IP address with "
|
||||
"the proper one)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:232
|
||||
msgid "macOS"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:234
|
||||
msgid ""
|
||||
"Most modern (post 2010) Mac computers running macOS Sierra 10.12 or "
|
||||
"higher can run OpenDroneMap using docker, as long as hardware "
|
||||
"virtualization is supported (see below)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:239
|
||||
msgid "Open a Terminal window and type:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:245
|
||||
msgid "You will get a response similar to the following:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:251
|
||||
msgid ""
|
||||
"If the result is *kern.hv_support: 1*, then your Mac is supported! "
|
||||
"Continue with Step 2."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:253
|
||||
msgid ""
|
||||
"If the result is *kern.hv_support: 0*, unfortunately it means your Mac is"
|
||||
" too old to run OpenDroneMap. :("
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:258
|
||||
msgid "There are only two programs to install:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:260
|
||||
msgid "Docker: https://download.docker.com/mac/stable/Docker.dmg"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:261
|
||||
msgid "Git: https://sourceforge.net/projects/git-osx-installer/files/"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:263
|
||||
msgid ""
|
||||
"After installing docker you should find an icon that looks like a whale "
|
||||
"in the task bar."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:269
|
||||
msgid "*Docker app running*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:271
|
||||
msgid ""
|
||||
"You can verify that docker is running properly by opening the "
|
||||
"**Terminal** app and typing:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:277
|
||||
msgid "Which should return"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:283
|
||||
msgid "To verify that git is installed, simply type:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:289
|
||||
msgid "Which should return something similar to the following:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:295
|
||||
msgid ""
|
||||
"If you get a “bash: git: command not found”, try to restart your "
|
||||
"**Terminal** app and double-check for any errors during the install "
|
||||
"process."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:300
|
||||
msgid ""
|
||||
"Docker on macOS works by running a VM in the background (think of it as a"
|
||||
" “computer emulator”). This VM has a certain amount of memory allocated "
|
||||
"and WebODM can only use as much memory as it’s allocated."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:302
|
||||
msgid "Right click the whale icon from the task bar and click **Preferences**..."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:303
|
||||
msgid "Select the **Advanced** tab"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:304
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Adjust the CPUs slider to use half of all available CPUs and the memory "
|
||||
"to use 60-70% of all available memory"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:305
|
||||
msgid "Press **Apply & Restart**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:311
|
||||
msgid "*Docker advanced settings*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:314
|
||||
msgid "Step 4. Download and Launch WebODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:316
|
||||
msgid "From a **Terminal** type:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:324 ../../source/installation.rst:425
|
||||
msgid "Then open a web browser to http://localhost:8000."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:327
|
||||
msgid "Linux"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:329
|
||||
msgid ""
|
||||
"OpenDroneMap can run on any Linux distribution that supports docker. "
|
||||
"According to `docker’s documentation website "
|
||||
"<https://docs.docker.com/install/>`_ the officially supported "
|
||||
"distributions are CentOS, Debian, Ubuntu and Fedora, with static binaries"
|
||||
" available for others. If you have to pick a distribution solely for "
|
||||
"running OpenDroneMap, Ubuntu is the recommended way to go."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:332
|
||||
msgid "Step 1. Install Requirements"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:334
|
||||
msgid "There are four programs that need to be installed:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:336
|
||||
msgid "Docker"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:337
|
||||
msgid "Git"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:338
|
||||
msgid "Python (2 or 3)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:339
|
||||
msgid "Pip"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:341
|
||||
msgid ""
|
||||
"We cannot possibly cover the installation process for every Linux "
|
||||
"distribution out there, so we’ll limit the instructions to those that are"
|
||||
" distributions officially supported by docker. In all cases it’s just a "
|
||||
"matter of opening a terminal prompt and typing a few commands."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:344
|
||||
msgid "Install on Ubuntu / Debian"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:346 ../../source/installation.rst:358
|
||||
#: ../../source/installation.rst:369 ../../source/installation.rst:380
|
||||
msgid "Commands to type:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:356
|
||||
msgid "Install on CentOS / RHEL"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:367
|
||||
msgid "Install on Fedora"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:378
|
||||
msgid "Install on Arch"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:387
|
||||
msgid "Step 2. Check Additional Requirements"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:389
|
||||
msgid ""
|
||||
"In addition to the three programs above, the dockercompose script is also"
|
||||
" needed. Sometimes it’s already installed with docker, but sometimes it "
|
||||
"isn’t. To verify if it’s installed try to type:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:395
|
||||
msgid "You should see somethings similar to the following:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:401
|
||||
msgid "If instead you get something similar to the following:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:407
|
||||
msgid "you can install it by using pip:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:415
|
||||
msgid "Step 3. Download and Launch WebODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:417
|
||||
msgid "From a terminal type:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:428
|
||||
msgid "Basic Commands and Troubleshooting"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:430
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The cool thing about using docker is that 99% of the tasks you’ll ever "
|
||||
"need to perform while using WebODM can be done via the ./webodm.sh "
|
||||
"script. You have already encountered one of them:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:436
|
||||
msgid ""
|
||||
"which takes care of starting WebODM and setting up a default processing "
|
||||
"node (node-odm-1). If you want to stop WebODM, you can already guess what"
|
||||
" the command is:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:442
|
||||
msgid ""
|
||||
"There are several other commands you can use, along with different flags."
|
||||
" Flags are parameters passed to the ./webodm.sh command and are typically"
|
||||
" prefixed with “–”. The **port** flag for example instructs WebODM to use"
|
||||
" a different network port:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:448
|
||||
msgid "Other useful commands are listed below:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:467
|
||||
msgid ""
|
||||
"`The community forum <https://community.opendronemap.org>`_ is a great "
|
||||
"place to ask for help if you get stuck during any of the installation"
|
||||
" steps and for general questions on using the ./webodm.sh script."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:470
|
||||
msgid "Hello, WebODM!"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:472
|
||||
msgid ""
|
||||
"After running ./webodm.sh start and opening WebODM in the browser, you "
|
||||
"will be greeted with a welcome message and will be asked to create the "
|
||||
"first user. Take some time to familiarize yourself with the web interface"
|
||||
" and explore its various menus."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:478
|
||||
msgid "*WebODM Dashboard*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:480
|
||||
msgid ""
|
||||
"Notice that under the **Processing Nodes** menu there’s a \"node-odm-1\" "
|
||||
"node already configured for you to use. This is a NodeODM node and has "
|
||||
"been created automatically by WebODM. This node is running on the same "
|
||||
"machine as WebODM."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:482
|
||||
msgid ""
|
||||
"If you’ve made it this far, congratulations! Now it’s time to start "
|
||||
"processing some data."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:489
|
||||
msgid "Running on more than one machine"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:491
|
||||
msgid ""
|
||||
"**Optionally:** If you have another computer, you can repeat the "
|
||||
"installation process (install docker, git, python, etc.) and launch a new"
|
||||
" NodeODM node by typing from a Terminal/Git Bash window:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:497
|
||||
msgid ""
|
||||
"The above command asks docker to launch a new container using the "
|
||||
"opendronemap/nodeodm image from Docker Hub (the latest version of "
|
||||
"NodeODM), using port 3000, setting a maximum number of concurrent tasks "
|
||||
"to 1 and to protect the node from unauthorized access using the password "
|
||||
"\"secret\"."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:499
|
||||
msgid ""
|
||||
"From WebODM you can then press the **Add New** button under **Processing "
|
||||
"Nodes**. For the **hostname/IP** field type the IP of the second "
|
||||
"computer. For the **port** field type “3000”. For the **token** field "
|
||||
"type “secret”. You can also add an optional **label** for your node, such"
|
||||
" as “second computer”. Then press **Save**."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:501
|
||||
msgid ""
|
||||
"If everything went well, you should now have two processing nodes! You "
|
||||
"will be able to process multiple tasks in parallel using two different "
|
||||
"machines."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:503
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/installation.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,275 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/large.rst:4
|
||||
msgid "Splitting Large Datasets"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:6
|
||||
msgid ""
|
||||
"Starting with ODM version ``0.6.0`` you can split up very large datasets "
|
||||
"into manageable chunks (called submodels), running the pipeline on each "
|
||||
"chunk, and then producing merged DEMs, orthophotos and point clouds. The "
|
||||
"process is referred to as \"split-merge\"."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:8
|
||||
msgid ""
|
||||
"Why might you use the split-merge pipeline? If you have a very large "
|
||||
"number of images in your dataset, split-merge will help make the "
|
||||
"processing more manageable on a large machine (it will require less "
|
||||
"memory). If you have many machines all connected to the same network you "
|
||||
"can also process the submodels in parallel, thus allowing for horizontal "
|
||||
"scaling and processing thousands of images more quickly."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:10
|
||||
msgid ""
|
||||
"Split-merge works in WebODM out of the box as long as the processing "
|
||||
"nodes support split-merge, by enabling the ``--split`` option when "
|
||||
"creating a new task."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:13
|
||||
msgid "Calibrate images"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:15
|
||||
msgid ""
|
||||
"Image calibration is recommended (but not required) for large datasets "
|
||||
"because error propagation due to image distortion could cause a bowl "
|
||||
"effect on the models. Calibration instructions can be found at "
|
||||
"`Calibrate Images <tutorials.html#calibrating-the-camera>`_."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:21
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:24
|
||||
msgid "Local Split-Merge"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:26
|
||||
msgid ""
|
||||
"Splitting a dataset into more manageable submodels and sequentially "
|
||||
"processing all submodels on the same machine is easy! Just use "
|
||||
"``--split`` and ``--split-overlap`` to decide the the average number of "
|
||||
"images per submodels and the overlap (in meters) between submodels "
|
||||
"respectively"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:32
|
||||
msgid ""
|
||||
"If you already know how you want to split the dataset, you can provide "
|
||||
"that information and it will be used instead of the clustering algorithm."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:34
|
||||
msgid ""
|
||||
"The grouping can be provided by adding a file named image_groups.txt in "
|
||||
"the main dataset folder. The file should have one line per image. Each "
|
||||
"line should have two words: first the name of the image and second the "
|
||||
"name of the group it belongs to. For example::"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:42
|
||||
msgid ""
|
||||
"will create 3 submodels. Make sure to pass ``--split-overlap 0`` if you "
|
||||
"manually provide a ``image_groups.txt`` file."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:46
|
||||
msgid "Distributed Split-Merge"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:48
|
||||
msgid ""
|
||||
"ODM can also automatically distribute the processing of each submodel to "
|
||||
"multiple machines via `NodeODM "
|
||||
"<https://github.com/OpenDroneMap/NodeODM>`_ nodes, orchestrated via "
|
||||
"`ClusterODM <https://github.com/OpenDroneMap/ClusterODM>`_."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:55
|
||||
msgid "Getting Started with Distributed Split-Merge"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:57
|
||||
msgid "The first step is start ClusterODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:63
|
||||
msgid ""
|
||||
"Then on each machine you want to use for processing, launch a NodeODM "
|
||||
"instance via"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:69
|
||||
msgid ""
|
||||
"Connect via telnet to ClusterODM and add the IP addresses/port of the "
|
||||
"machines running NodeODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:84
|
||||
msgid "Make sure you are running version ``1.5.1`` or higher of the NodeODM API."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:86
|
||||
msgid ""
|
||||
"At this point, simply use the ``--sm-cluster`` option to enable "
|
||||
"distributed split-merge"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:93
|
||||
msgid "Understanding the Cluster"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:95
|
||||
msgid ""
|
||||
"When connected via telnet, it is possible to interrogate what is "
|
||||
"happening on the cluster. For example, we can use the command HELP to "
|
||||
"find out available commands"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:118
|
||||
msgid ""
|
||||
"If, for example, the NodeODM instance wasn't active when ClusterODM "
|
||||
"started, we might list nodes and see something as follows"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:125
|
||||
msgid ""
|
||||
"To address this, we can start up our local node (if not already started),"
|
||||
" and then perform a ``NODE UPDATE``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:135
|
||||
msgid "Accessing the Logs"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:137
|
||||
msgid ""
|
||||
"While a process is running, it is also possible to list the tasks, and "
|
||||
"view the task output"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:145
|
||||
msgid "Autoscaling ClusterODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:147
|
||||
msgid ""
|
||||
"ClusterODM also includes the option to autoscale on multiple platforms, "
|
||||
"including, to date, Amazon and Digital Ocean. This allows users to reduce"
|
||||
" costs associated with always-on instances as well as being able to scale"
|
||||
" processing based on demand."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:149
|
||||
msgid "To setup autoscaling you must:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:151
|
||||
msgid "Have a functioning version of NodeJS installed and then install ClusterODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:159
|
||||
msgid "Make sure docker-machine is installed."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:160
|
||||
msgid "Setup a S3-compatible bucket for storing results."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:161
|
||||
msgid ""
|
||||
"Create a configuration file for `DigitalOcean "
|
||||
"<https://github.com/OpenDroneMap/ClusterODM/blob/master/docs/digitalocean.md>`_"
|
||||
" or `Amazon Web Services "
|
||||
"<https://github.com/OpenDroneMap/ClusterODM/blob/master/docs/aws.md>`_."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:163
|
||||
msgid "You can then launch ClusterODM with"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:169
|
||||
msgid "You should see something similar to following messages in the console"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:177
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You should always have at least one static NodeODM node attached to "
|
||||
"ClusterODM, even if you plan to use the autoscaler for all processing. If"
|
||||
" you setup auto scaling, you can't have zero nodes and rely 100% on the "
|
||||
"autoscaler. You need to attach a NodeODM node to act as the \"reference "
|
||||
"node\" otherwise ClusterODM will not know how to handle certain requests "
|
||||
"(for the forwarding the UI, for validating options prior to spinning up "
|
||||
"an instance, etc.). For this purpose, you should add a \"dummy\" NodeODM "
|
||||
"node and lock it"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:187
|
||||
msgid "This way all tasks will be automatically forwarded to the autoscaler."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:190
|
||||
msgid "Limitations"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:192
|
||||
msgid ""
|
||||
"The 3D textured meshes are currently not being merged as part of the "
|
||||
"workflow (only point clouds, DEMs and orthophotos are)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:194
|
||||
msgid ""
|
||||
"GCPs are fully supported, however, there needs to be at least 3 GCP "
|
||||
"points on each submodel for the georeferencing to take place. If a "
|
||||
"submodel has fewer than 3 GCPs, a combination of the remaining GCPs + "
|
||||
"EXIF data will be used instead (which is going to be less accurate). We "
|
||||
"recommend using the ``image_groups.txt`` file to accurately control the "
|
||||
"submodel split when using GCPs."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:197
|
||||
msgid "Acknowledgments"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:198
|
||||
msgid ""
|
||||
"Huge props to Pau and the folks at Mapillary for their amazing "
|
||||
"contributions to OpenDroneMap through their OpenSfM code, which is a key "
|
||||
"component of the split-merge pipeline. We look forward to further pushing"
|
||||
" the limits of OpenDroneMap and seeing how big a dataset we can process."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:200
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/large.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,135 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/outputs.rst:2
|
||||
msgid "OpenDroneMap Outputs"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:4
|
||||
msgid "Listed below are some of the useful outputs ODM produces."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:7
|
||||
msgid "Point Cloud"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:9
|
||||
msgid ""
|
||||
"``odm_georeferencing/odm_georeferenced_model.ply/laz/csv`` -- The "
|
||||
"georeferenced point cloud in different file formats"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:15
|
||||
msgid ""
|
||||
"*Point cloud over State University Zanzibar, courtesy of* `Khadija "
|
||||
"Abdullah Ali <https://www.linkedin.com/in/khadija-abdulla-ali-"
|
||||
"56b4044a/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:19
|
||||
msgid "3D Textured Model"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:21
|
||||
msgid ""
|
||||
"``odm_texturing/odm_textured_model.obj`` -- The textured surface mesh "
|
||||
"``odm_texturing/odm_textured_model_geo.obj`` -- The georeferenced and "
|
||||
"textured surface mesh"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:24
|
||||
msgid ""
|
||||
"You can access the point cloud and textured meshes using MeshLab. Open "
|
||||
"MeshLab, and choose File:Import Mesh and choose your textured mesh from a"
|
||||
" location similar to the following: "
|
||||
"``odm_texturing\\odm_textured_model.obj``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:30
|
||||
msgid ""
|
||||
"*Textured mesh over State University Zanzibar, courtesy of* `Khadija "
|
||||
"Abdullah Ali <https://www.linkedin.com/in/khadija-abdulla-ali-"
|
||||
"56b4044a/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:33
|
||||
msgid "Orthophoto"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:35
|
||||
msgid ""
|
||||
"``odm_orthophoto/odm_orthphoto.png`` -- The orthophoto, but this is a "
|
||||
"simple png, which doesn't have any georeferencing information"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:37
|
||||
msgid ""
|
||||
"``odm_orthophoto/odm_orthphoto.tif`` -- GeoTIFF Orthophoto. You can use "
|
||||
"it in QGIS as a raster layer."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:43
|
||||
msgid ""
|
||||
"*Orthophoto over State University Zanzibar, courtesy of* `Khadija "
|
||||
"Abdullah Ali <https://www.linkedin.com/in/khadija-abdulla-ali-"
|
||||
"56b4044a/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:46
|
||||
msgid "DTM/DSM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:48
|
||||
msgid ""
|
||||
"DTM/DSM will only be created if the ``--dtm`` or ``--dsm`` options are "
|
||||
"used. See `tutorial on elevation models "
|
||||
"<https://docs.opendronemap.org/tutorials.html#creating-digital-elevation-"
|
||||
"models>`_ for more options in creating."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:50
|
||||
msgid "Data will be stored in:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:52
|
||||
msgid "``odm_dem/dtm.tif``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:53
|
||||
msgid "``odm_dem/dsm.tif``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:59
|
||||
msgid ""
|
||||
"*Digital surface model over State University Zanzibar, courtesy of* "
|
||||
"`Khadija Abdullah Ali <https://www.linkedin.com/in/khadija-abdulla-ali-"
|
||||
"56b4044a/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:62
|
||||
msgid "List of all outputs"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:109
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/outputs.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,95 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/resources.rst:2
|
||||
msgid "Additional References"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:5
|
||||
msgid "For Users"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:7
|
||||
msgid "The following resources are a good place to start:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:9
|
||||
msgid "`README page for ODM <https://github.com/OpenDroneMap/OpenDroneMap>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:10
|
||||
msgid "`README page for WebODM <https://github.com/OpenDroneMap/WebODM>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:11
|
||||
msgid ""
|
||||
"`README page for NodeODM <https://github.com/OpenDroneMap/node-"
|
||||
"OpenDroneMap>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:12
|
||||
msgid ""
|
||||
"`Ground Control Points Format Specification "
|
||||
"<https://github.com/mapillary/OpenSfM/blob/master/doc/source/gcp.rst>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:13
|
||||
msgid "`OpenDroneMap: The Missing Guide <https://odmbook.com/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:16
|
||||
msgid "For Developers"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:18
|
||||
msgid "In addition to user resources, we recommend to also read the following:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:20
|
||||
msgid "WebODM documentation: https://docs.webodm.org"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:21
|
||||
msgid ""
|
||||
"NodeODM API specification: "
|
||||
"https://github.com/OpenDroneMap/NodeODM/blob/master/docs/index.adoc"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:22
|
||||
msgid ""
|
||||
"Overview of the ODM pipeline: http://community.opendronemap.org/t/where-"
|
||||
"can-i-find-background-information-on-the-concepts-of-odm/665/2"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:23
|
||||
msgid ""
|
||||
"We keep a `section in our forum dedicated to research papers "
|
||||
"<http://community.opendronemap.org/c/ideas-proposals/research-papers>`_. "
|
||||
"This is a valuable place where to read more about state of the art "
|
||||
"research related to structure from motion, multi-view stereo, meshing, "
|
||||
"texturing, etc. which can be used to improve the software."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:26
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/api.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,440 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/tutorials.rst:4
|
||||
msgid "Tutorials"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:6
|
||||
msgid "Below you will find instructions for some common use cases."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:9
|
||||
msgid "Creating High Quality Orthophotos"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:15
|
||||
msgid ""
|
||||
"Without any parameter tweaks, ODM chooses a good compromise between "
|
||||
"quality, speed and memory usage. If you want to get higher quality "
|
||||
"results, you need to tweak some parameters:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:17
|
||||
msgid ""
|
||||
"``--orthophoto-resolution`` is the resolution of the orthophoto in "
|
||||
"cm/pixel. Decrease this value for a higher resolution result."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:18
|
||||
msgid ""
|
||||
"``--ignore-gsd`` 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 will produce sharper results."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:19
|
||||
msgid ""
|
||||
"``--texturing-nadir-weight`` should be increased to ``29-32`` in urban "
|
||||
"areas to reconstruct better edges of roofs. It should be decreased to "
|
||||
"``0-6`` in grassy / flat areas."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:20
|
||||
msgid "``--texturing-data-term`` should be set to `area` in forest areas."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:21
|
||||
msgid ""
|
||||
"``--mesh-size`` should be increased to `300000-600000` and `--mesh-"
|
||||
"octree-depth`` should be increased to `10-11` in urban areas to recreate "
|
||||
"better buildings / roofs."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:24
|
||||
msgid "Calibrating the Camera"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:26
|
||||
msgid ""
|
||||
"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 `Mitigating systematic error in topographic models derived from "
|
||||
"UAV and ground‐based image networks "
|
||||
"<https://onlinelibrary.wiley.com/doi/full/10.1002/esp.3609>`_ address how"
|
||||
" to minimize the distortion from self-calibration."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:32
|
||||
msgid ""
|
||||
"*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.*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:34
|
||||
msgid ""
|
||||
"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°."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:42
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:44
|
||||
msgid ""
|
||||
"Alternatively, the following experimental method can be applied: fly with"
|
||||
" much lower overlap, but two *crossgrid* flights (sometimes called "
|
||||
"crosshatch) separated by 20° with a 5° forward facing camera."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:46
|
||||
#, python-format
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:47
|
||||
#, python-format
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:53
|
||||
msgid ""
|
||||
"Vertically separated flight lines also improve accuracy, but less so than"
|
||||
" a camera that is forward facing by 5°."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:59
|
||||
msgid ""
|
||||
"From James and Robson (2014), `CC BY 4.0 "
|
||||
"<https://creativecommons.org/licenses/by/4.0>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:62
|
||||
msgid "Creating Digital Elevation Models"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:64
|
||||
msgid ""
|
||||
"By default ODM does not create DEMs. To create a digital terrain model, "
|
||||
"make sure to pass the ``--dtm`` flag. To create a digital surface model, "
|
||||
"be sure to pass the ``--dsm`` flag."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:70
|
||||
msgid ""
|
||||
"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 ``smrf`` filter can be controlled via several parameters:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:72
|
||||
msgid ""
|
||||
"``--smrf-scalar`` scaling value. Increase this parameter for terrains "
|
||||
"with lots of height variation."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:73
|
||||
msgid ""
|
||||
"``--smrf-slope`` 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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:74
|
||||
msgid ""
|
||||
"``--smrf-threshold`` elevation threshold. Set this parameter to the "
|
||||
"minimum height (in meters) that you expect non-ground objects to be."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:75
|
||||
msgid ""
|
||||
"``--smrf-window`` 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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:77
|
||||
msgid ""
|
||||
"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 `An improved simple morphological filter for "
|
||||
"the terrain classification of airborne LIDAR data "
|
||||
"<https://www.researchgate.net/publication/258333806_An_Improved_Simple_Morphological_Filter_for_the_Terrain_Classification_of_Airborne_LIDAR_Data>`_"
|
||||
" (PDF freely available)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:79
|
||||
msgid "Overall the ``--smrf-threshold`` option has the biggest impact on results."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:81
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:87
|
||||
msgid "Two other important parameters affect DEM generation:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:89
|
||||
msgid ""
|
||||
"``--dem-resolution`` which sets the output resolution of the DEM raster "
|
||||
"(cm/pixel)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:90
|
||||
msgid ""
|
||||
"``--dem-gapfill-steps`` which determines the number of progressive DEM "
|
||||
"layers to use. For urban scenes increasing this value to `4-5` can help "
|
||||
"produce better interpolation results in the areas that are left empty by "
|
||||
"the SMRF filter."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:92
|
||||
msgid "Example of how to generate a DTM::"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:99
|
||||
msgid "Ground Control Points"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:101
|
||||
msgid ""
|
||||
"Ground control points are useful for correcting distortions in the data "
|
||||
"and referencing the data to know coordinate systems."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:103
|
||||
msgid "The format of the GCP file is simple."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:105
|
||||
msgid ""
|
||||
"The header line is a description of a UTM coordinate system, which must "
|
||||
"be written as a proj4 string. http://spatialreference.org/ is a good "
|
||||
"resource for finding that information. Please note that currently angular"
|
||||
" coordinates (like lat/lon) DO NOT work."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:106
|
||||
msgid ""
|
||||
"Subsequent lines are the X, Y & Z coordinates, your associated pixels and"
|
||||
" the image filename:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:108
|
||||
msgid "GCP file format::"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:114
|
||||
msgid "e.g. for the Langley dataset::"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:121
|
||||
msgid ""
|
||||
"If you supply a GCP file called gcp_list.txt then ODM will automatically "
|
||||
"detect it. If it has another name you can specify using ``--gcp <path>``."
|
||||
" If you have a gcp file and want to do georeferencing with exif instead, "
|
||||
"then you can specify ``--use-exif``."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:123
|
||||
msgid ""
|
||||
"`This post has some information about placing Ground Control Targets "
|
||||
"before a flight <http://diydrones.com/profiles/blogs/ground-control-"
|
||||
"points-gcps-for-aerial-photography>`_, but if you already have images, "
|
||||
"you can find your own points in the images post facto. It's important "
|
||||
"that you find high-contrast objects that are found in **at least** 3 "
|
||||
"photos, and that you find a minimum of 5 objects."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:125
|
||||
msgid ""
|
||||
"Sharp corners are good picks for GCPs. You should also place/find the "
|
||||
"GCPs evenly around your survey area."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:127
|
||||
msgid ""
|
||||
"The ``gcp_list.txt`` file must be created in the base of your project "
|
||||
"folder."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:129
|
||||
msgid ""
|
||||
"For good results your file should have a minimum of 15 lines after the "
|
||||
"header (5 points with 3 images to each point)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:132
|
||||
msgid "Ground Control Points Interface"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:134
|
||||
msgid ""
|
||||
"WebODM has a GCP interface, and example of which can be seen on `the "
|
||||
"WebODM Demo <http://demo.webodm.org/plugins/posm-gcpi/>`_. To use this "
|
||||
"with known ground control XYZ values, one would do the following:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:136
|
||||
msgid ""
|
||||
"Create a GCP list that only includes gcp name (this is the label that "
|
||||
"will be seen in the GCP interface), x, y, and z, with a header with a "
|
||||
"proj4 string of your GCPs (make sure they are in a planar coordinate "
|
||||
"system, such as UTM. It should look something like this:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:147
|
||||
msgid ""
|
||||
"Then one can load this GCP list into the interface, load the images, and "
|
||||
"place each of the GCPs in the image."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:149
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/using.rst>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:152
|
||||
msgid "Using Docker"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:154
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:156
|
||||
msgid "A few simple commands can make our docker experience much better."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:159
|
||||
msgid "Listing Docker Machines"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:161
|
||||
msgid ""
|
||||
"We can start by listing available docker machines on the current machine "
|
||||
"we are running as follows:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:170
|
||||
msgid ""
|
||||
"If we want to see machines that may not be running but still exist, we "
|
||||
"can add the `-a` flag:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:183
|
||||
msgid "Accessing logs on the instance"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:185
|
||||
msgid ""
|
||||
"Using either the `CONTAINER ID` or the name, we can access any logs "
|
||||
"available on the machine as follows:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:191
|
||||
msgid ""
|
||||
"This is likely to be unwieldy large, but we can use a pipe `|` character "
|
||||
"and other tools to extract just what we need from the logs. For example "
|
||||
"we can move through the log slowly using the `more` command:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:207
|
||||
msgid ""
|
||||
"Pressing `Enter` or `Space`, arrow keys or `Page Up` or `Page Down` keys "
|
||||
"will now help us navigate through the logs. The lower case letter `Q` "
|
||||
"will let us escape back to the command line."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:209
|
||||
msgid ""
|
||||
"We can also extract just the end of the logs using the `tail` commmand as"
|
||||
" follows:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:220
|
||||
msgid ""
|
||||
"The value `-5` tells the tail command to give us just the last 5 lines of"
|
||||
" the logs."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:223
|
||||
msgid "Command line access to instances"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:225
|
||||
msgid ""
|
||||
"Sometimes we need to go a little deeper in our exploration of the process"
|
||||
" for OpenDroneMap. For this, we can get direct command line access to the"
|
||||
" machines. For this, we can use `docker exec` to execute a `bash` command"
|
||||
" line shell in the machine of interest as follows:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:232
|
||||
msgid "Now we are logged into our docker instance and can explore the machine."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:235
|
||||
msgid "Cleaning up after Docker"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:237
|
||||
msgid ""
|
||||
"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 `excellent overview of how to manage excess disk "
|
||||
"usage in docker <https://lebkowski.name/docker-volumes/>`_."
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/arguments.rst:4
|
||||
msgid "Options and Flags"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/arguments.rst:6
|
||||
msgid "Arguments::"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/arguments.rst:289
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/using.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,193 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/contributing.rst:4
|
||||
msgid "How to contribute"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:6
|
||||
msgid ""
|
||||
"OpenDroneMap relies on community contributions. You can contribute in "
|
||||
"many ways, even if you are not a programmer."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:9
|
||||
msgid "Community Forum"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:11
|
||||
msgid ""
|
||||
"If you are looking to get involved, are stuck on a problem, or want to "
|
||||
"reach out, `the forum <https://community.opendronemap.org/>`_ is a great "
|
||||
"place to start. You may find your questions already answered or else you "
|
||||
"can find other useful tips and resources. You can also contribute your "
|
||||
"open access datasets for others to explore. It is a good place go before "
|
||||
"submitting bug reports or getting in touch with developers before writing"
|
||||
" a new feature."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:14
|
||||
msgid "Reporting Bugs"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:16
|
||||
msgid ""
|
||||
"Bugs are tracked as Github issues. Please create an issue in the "
|
||||
"repository and tag it with the Bug tag."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:18
|
||||
msgid ""
|
||||
"Explain the problem and include additional details to help maintainers "
|
||||
"reproduce the problem:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:20
|
||||
msgid ""
|
||||
"**Use a clear and descriptive title** for the issue to identify the "
|
||||
"problem."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:21
|
||||
msgid ""
|
||||
"**Describe the exact steps which reproduce the problem** in as many "
|
||||
"details as possible. For example, start by explaining how you run ODM "
|
||||
"(Docker, Vagrant, etc), e.g. which command exactly you used in the "
|
||||
"terminal. When listing steps, **don't just say what you did, but explain "
|
||||
"how you did it.**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:22
|
||||
msgid ""
|
||||
"**Provide specific examples to demonstrate the steps.** Include links to "
|
||||
"files or GitHub projects, or copy/pasteable snippets, which you use in "
|
||||
"those examples. If you're providing snippets in the issue, use `Markdown "
|
||||
"code blocks <https://help.github.com/articles/markdown-basics/#multiple-"
|
||||
"lines>`_."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:23
|
||||
msgid ""
|
||||
"**Describe the behavior you observed after following the steps** and "
|
||||
"point out what exactly is the problem with that behavior."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:24
|
||||
msgid "**Explain which behavior you expected to see instead and why.**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:25
|
||||
msgid ""
|
||||
"**Include screenshots and animated GIFs** which show you following the "
|
||||
"described steps and clearly demonstrate the problem. You can use `this "
|
||||
"tool to record GIFs on macOS and Windows "
|
||||
"<http://www.cockos.com/licecap/>`_, and `this tool "
|
||||
"<https://github.com/colinkeenan/silentcast>`_ or `this one "
|
||||
"<https://github.com/GNOME/byzanz>`_ on Linux."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:26
|
||||
msgid ""
|
||||
"**If the problem is related to performance,** please post your machine's "
|
||||
"specs (host and guest machine)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:27
|
||||
msgid ""
|
||||
"**If the problem wasn't triggered by a specific action,** describe what "
|
||||
"you were doing before the problem happened and share more information "
|
||||
"using the guidelines below."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:29
|
||||
msgid "Include details about your configuration and environment:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:31
|
||||
msgid ""
|
||||
"**Which version of ODM are you using?** A stable release? a clone of "
|
||||
"master?"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:32
|
||||
msgid "**What's the name and version of the OS you're using?**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:33
|
||||
msgid ""
|
||||
"**Are you running ODM in a virtual machine or Docker?** If so, which VM "
|
||||
"software are you using and which operating systems and versions are used "
|
||||
"for the host and the guest?"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:36
|
||||
msgid "Template For Submitting Bug Reports"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:69
|
||||
msgid "Pull Requests"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:71
|
||||
msgid ""
|
||||
"Include screenshots and animated GIFs in your pull request whenever "
|
||||
"possible."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:72
|
||||
msgid "Follow the PEP8 Python Style Guide."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:73
|
||||
msgid "End files with a newline."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:76
|
||||
msgid "Avoid platform-dependent code:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:75
|
||||
msgid "Use require('fs-plus').getHomeDirectory() to get the home directory."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:76
|
||||
msgid "Use path.join() to concatenate filenames."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:77
|
||||
msgid ""
|
||||
"Use os.tmpdir() rather than /tmp when you need to reference the temporary"
|
||||
" directory."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:79
|
||||
msgid "Using a plain return when returning explicitly at the end of a function."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:79
|
||||
msgid "Not return null, return undefined, null, or undefined"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:81
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/contributing.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,75 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/flying.rst:2
|
||||
msgid "Flying tips"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:4
|
||||
msgid ""
|
||||
"The `Humanitarian OpenStreetMap team <https://www.hotosm.org/>`_ has "
|
||||
"guidelines on `flying for UAV mapping <https://uav-"
|
||||
"guidelines.openaerialmap.org/>`_:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:6
|
||||
msgid ""
|
||||
"`Choosing the right UAV <https://uav-"
|
||||
"guidelines.openaerialmap.org/pages/05-choosing-the-right-uav/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:8
|
||||
msgid ""
|
||||
"`Choosing the right sensor <https://uav-"
|
||||
"guidelines.openaerialmap.org/pages/06-choosing-the-sensor/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:10
|
||||
msgid ""
|
||||
"`Mission preparation <https://uav-guidelines.openaerialmap.org/pages/07"
|
||||
"-preparing-for-the-uav-mission/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:12
|
||||
msgid ""
|
||||
"The guidelines are intended for drone mapping projects on islands, but "
|
||||
"have general use for all drone mappers."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:14
|
||||
msgid ""
|
||||
"See also DroneDeploy's guide on `Making Successful Maps "
|
||||
"<https://support.dronedeploy.com/docs/making-successful-maps>`_, which "
|
||||
"provides great tips on mission planning."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:16
|
||||
msgid ""
|
||||
"Finally, lens distortion is a challenge in projects requiring accurate 3D"
|
||||
" data. See our section in these docs on `Camera Calibration "
|
||||
"<tutorials.html#calibrating-the-camera>`_."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:18
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/flying.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/index.rst:8
|
||||
msgid "Welcome to OpenDroneMap's documentation"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/index.rst:40
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/index.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,778 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/installation.rst:4
|
||||
msgid "Installation and Getting Started"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:6
|
||||
msgid ""
|
||||
"This section is excerpted and modified with permission from "
|
||||
"`OpenDroneMap: The Missing Guide <https://odmbook.com>`_, by Piero "
|
||||
"Toffanin."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:8
|
||||
msgid ""
|
||||
"Until recently OpenDroneMap was the term used to refer to a single "
|
||||
"command line application (what is now known as the ODM project). With "
|
||||
"the recent development of a web interface, an API and other tools, "
|
||||
"OpenDroneMap has become an ecosystem of various applications to process, "
|
||||
"analyze and display aerial data. This ecosystem is made of several "
|
||||
"components:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:14
|
||||
msgid ""
|
||||
"**ODM** is the processing engine, which can be used from the command "
|
||||
"line. It takes images as input and produces a variety of outputs, "
|
||||
"including point clouds, 3D models and orthophotos"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:20
|
||||
msgid ""
|
||||
"**NodeODM** is a light-weight API built on top of ODM. It allows users "
|
||||
"and applications to access the functions of ODM over a computer network"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:26
|
||||
msgid ""
|
||||
"**WebODM** is a friendly user interface that includes a map viewer, a 3D "
|
||||
"viewer, user logins, a plugin system and many other features that are "
|
||||
"expected of modern drone mapping platforms"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:32
|
||||
msgid ""
|
||||
"**CloudODM** is a small command line client to communicate with ODM via "
|
||||
"the NodeODM API"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:38
|
||||
msgid ""
|
||||
"**PyODM** is a Python SDK for creating tasks via the NodeODM API. We "
|
||||
"cover it in more detail in the “Automated Processing With Python” chapter"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:44
|
||||
msgid ""
|
||||
"**ClusterODM** is a load balancer for connecting together multiple "
|
||||
"NodeODM instances"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:46
|
||||
msgid ""
|
||||
"ODM, NodeODM and WebODM are available on all major platforms (Windows, "
|
||||
"macOS and Linux) via a program called docker, which is required to run "
|
||||
"the software. Docker offers a way to run “containers”. Containers are "
|
||||
"packaged copies of an entire system, its software and its dependencies. "
|
||||
"These containers run within a virtual environment. On Linux this virtual "
|
||||
"environment is available from the operating system and is very efficient."
|
||||
" On macOS and Windows the containers run within a VM, so there’s a bit of"
|
||||
" a overhead. but it’s still very suitable for running the software. Once "
|
||||
"installed users do not have to worry much about docker, as it operates "
|
||||
"(almost) transparently."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:48
|
||||
msgid ""
|
||||
"Without docker it would not be possible to run ODM on Windows or macOS. "
|
||||
"On these platforms ODM cannot run natively. Future development efforts "
|
||||
"are being focused on leveraging the new Windows Subsystem for Linux (WSL)"
|
||||
" and the possibility to make a native port of all dependencies to macOS, "
|
||||
"which is going to make the installation much easier."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:50
|
||||
msgid ""
|
||||
"On Ubuntu Linux 16.04 it’s feasible to run all OpenDroneMap software "
|
||||
"natively. However, because there’s very little performance penalty for "
|
||||
"running docker on Linux and docker is straightforward to setup on this "
|
||||
"platform, we don’t recommend it. On Linux the advantages of "
|
||||
"containerization far outweigh a tiny performance penalty. With docker "
|
||||
"users also get easy one-step updates of the software, so that’s nice."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:54
|
||||
msgid "Hardware Recommendations"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:56
|
||||
msgid "The bare minimum requirements for running the software are:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:59
|
||||
msgid "64bit CPU manufactured on or after 2010"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:60
|
||||
msgid "20 GB of disk space"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:61
|
||||
msgid "4 GB RAM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:63
|
||||
msgid ""
|
||||
"No more than 100-200 images can be processed with the above "
|
||||
"specifications (the software will run out of memory). Recommended "
|
||||
"requirements are:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:65
|
||||
msgid "Latest Generation CPU"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:66
|
||||
msgid "100 GB of disk space"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:67
|
||||
msgid "16 GB RAM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:69
|
||||
msgid ""
|
||||
"The above will allow for a few hundred images to be processed without too"
|
||||
" many issues. A CPU with more cores will allow for faster processing, "
|
||||
"while a graphics card (GPU) currently has no impact on performance. For "
|
||||
"processing more images, add more disk space and RAM linearly to the "
|
||||
"number of images you need to process."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:75
|
||||
msgid "Installation"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:77
|
||||
msgid ""
|
||||
"We recommend people use `docker <https://www.docker.com>`_ for running "
|
||||
"ODM, whether you are on Windows, macOS or Linux."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:80
|
||||
msgid "Windows"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:82
|
||||
msgid ""
|
||||
"To run OpenDroneMap you need at least Windows 7. Previous versions of "
|
||||
"Windows are not supported."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:86 ../../source/installation.rst:237
|
||||
msgid "Step 1. Check Virtualization Support"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:88
|
||||
msgid ""
|
||||
"Docker requires a feature from your CPU called virtualization, which "
|
||||
"allows it to run virtual machines (VMs). Make sure you have it enabled! "
|
||||
"Sometimes this is disabled. To check, on Windows 8 or higher you can open"
|
||||
" the **Task Manager** (press CTRL+SHIFT+ESC) and switch to the "
|
||||
"**Performance** tab."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:94
|
||||
msgid "*Virtualization should be enabled*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:96
|
||||
msgid ""
|
||||
"On Windows 7 to see if you have virtualization enabled you can use the "
|
||||
"`Microsoft® Hardware-Assisted Virtualization Detection Tool <http:// "
|
||||
"www.microsoft.com/en-us/download/details.aspx?id=592>`_ instead."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:99
|
||||
msgid ""
|
||||
"If virtualization is disabled, you’ll need to enable it. The procedure "
|
||||
"unfortunately is a bit different for each computer model, so the best way"
|
||||
" to do this is to look up on a search engine “how to enable vtx for <type"
|
||||
" your computer model here>”. Often times it’s a matter of restarting the "
|
||||
"computer, immediately pressing F2 or F12 during startup, navigating the "
|
||||
"boot menu and changing the settings to enable virtualization (often "
|
||||
"called “VT-X”)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:105
|
||||
msgid ""
|
||||
"*Common keys to press at computer startup to access the boot menu for "
|
||||
"various PC vendors*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:108 ../../source/installation.rst:256
|
||||
msgid "Step 2. Install Requirements"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:110
|
||||
msgid "First, you’ll need to install:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:112
|
||||
msgid "Git: https://git-scm.com/downloads"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:113
|
||||
msgid "Python (latest version 3): https://www.python.org/downloads/windows/"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:115
|
||||
msgid ""
|
||||
"For Python 3, make sure you check **Add Python 3.x to PATH** during the "
|
||||
"installation."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:121
|
||||
msgid ""
|
||||
"*Don’t forget to add the Python executable to your PATH (so that you can "
|
||||
"run commands with it)*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:123
|
||||
msgid ""
|
||||
"Then, only if you are on Windows 10 Home, Windows 8 (any version) or "
|
||||
"Windows 7 (any version), install:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:125
|
||||
msgid ""
|
||||
"Docker Toolbox: "
|
||||
"https://github.com/docker/toolbox/releases/download/v18.09.3/DockerToolbox-18.09.3.exe"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:127
|
||||
msgid ""
|
||||
"If you are on Windows 10 Professional or a newer version, you should "
|
||||
"install instead:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:129
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Docker for Windows: "
|
||||
"https://download.docker.com/win/stable/Docker%20for%20Windows%20Installer.exe"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:131
|
||||
msgid ""
|
||||
"Please do **NOT** install both docker programs. They are different and "
|
||||
"will create a mess if they are both installed."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:133
|
||||
msgid ""
|
||||
"After installing docker, launch it from the Desktop icon that is created "
|
||||
"from the installation (**Docker Quickstart** in the case of Docker "
|
||||
"Toolbox, **Docker for Windows** for Docker for Windows). This is "
|
||||
"important, do not skip this step. If there are errors, follow the prompts"
|
||||
" on screen to fix them."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:136 ../../source/installation.rst:298
|
||||
msgid "Step 3. Check Memory and CPU Allocation"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:138
|
||||
msgid ""
|
||||
"Docker on Windows works by running a VM in the background (think of a VM "
|
||||
"as a “computer emulator”). This VM has a certain amount of memory "
|
||||
"allocated and WebODM can only use as much memory as it’s allocated."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:140
|
||||
msgid ""
|
||||
"If you installed Docker Toolbox (see below if you installed Docker for "
|
||||
"Windows instead):"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:142
|
||||
msgid "Open the **VirtualBox Manager** application"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:143
|
||||
msgid ""
|
||||
"Right click the **default** VM and press **Close (ACPI Shutdown)** to "
|
||||
"stop the machine"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:144
|
||||
msgid "Right click the **default** VM and press **Settings...**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:145
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Move the **Base Memory** slider from the **System** paneland allocate "
|
||||
"60-70% of all available memory, optionally adding 50% of the available "
|
||||
"processors from the **Processor** tab also"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:151
|
||||
msgid "*VirtualBox default VM settings*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:153
|
||||
msgid "Then press **OK**, right click the **default** VM and press **Start**."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:155
|
||||
msgid "If you installed Docker for Windows instead:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:157
|
||||
msgid "Look in the system tray and right click the “white whale” icon."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:158
|
||||
msgid "From the menu, press **Settings...**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:159
|
||||
#, python-format
|
||||
msgid ""
|
||||
"From the panel, click **Advanced** and use the sliders to allocate 60-70%"
|
||||
" of available memory and use half of all available CPUs."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:160
|
||||
msgid "Press **Apply**."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:166
|
||||
msgid "*Step 1 Docker icon*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:172
|
||||
msgid "*Step 3 & 4 Docker settings*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:175
|
||||
msgid "Step 4. Download WebODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:177
|
||||
msgid "Open the **Git Gui** program that comes installed with Git. From there:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:179
|
||||
msgid "In **Source Location** type: https://github.com/Open-DroneMap/WebODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:180
|
||||
msgid ""
|
||||
"In **Target Directory** click browse and navigate to a folder of your "
|
||||
"choosing (create one if necessary)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:181
|
||||
msgid "Press **Clone**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:187
|
||||
msgid "*Git Gui*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:189
|
||||
msgid "If the download succeeded, you should now see this window:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:195
|
||||
msgid "*Git Gui after successful download (clone)*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:197
|
||||
msgid ""
|
||||
"Go to the **Repository** menu, then click **Create Desktop Icon**. This "
|
||||
"will allow you to come back to this application easily in the future."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:200
|
||||
msgid "Step 4. Launch WebODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:202
|
||||
msgid ""
|
||||
"From Git Gui, go to the **Repository** menu, then click **Git Bash**. "
|
||||
"From the command line terminal type:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:208
|
||||
msgid ""
|
||||
"Several components will download to your machine at this point, including"
|
||||
" WebODM, NodeODM and ODM. After the download you should be greeted by the"
|
||||
" following screen:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:214
|
||||
msgid "*Console output after starting WebODM for the first time*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:216
|
||||
msgid ""
|
||||
"If you are using Docker for Windows, open a web browser to "
|
||||
"http://localhost:8000"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:217
|
||||
msgid ""
|
||||
"If you are using Docker Toolbox, find the IP address to connect to by "
|
||||
"typing:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:223
|
||||
msgid "You should get a result like the following:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:229
|
||||
msgid ""
|
||||
"Then connect to http://192.168.1.100:8000 (replacing the IP address with "
|
||||
"the proper one)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:232
|
||||
msgid "macOS"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:234
|
||||
msgid ""
|
||||
"Most modern (post 2010) Mac computers running macOS Sierra 10.12 or "
|
||||
"higher can run OpenDroneMap using docker, as long as hardware "
|
||||
"virtualization is supported (see below)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:239
|
||||
msgid "Open a Terminal window and type:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:245
|
||||
msgid "You will get a response similar to the following:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:251
|
||||
msgid ""
|
||||
"If the result is *kern.hv_support: 1*, then your Mac is supported! "
|
||||
"Continue with Step 2."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:253
|
||||
msgid ""
|
||||
"If the result is *kern.hv_support: 0*, unfortunately it means your Mac is"
|
||||
" too old to run OpenDroneMap. :("
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:258
|
||||
msgid "There are only two programs to install:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:260
|
||||
msgid "Docker: https://download.docker.com/mac/stable/Docker.dmg"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:261
|
||||
msgid "Git: https://sourceforge.net/projects/git-osx-installer/files/"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:263
|
||||
msgid ""
|
||||
"After installing docker you should find an icon that looks like a whale "
|
||||
"in the task bar."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:269
|
||||
msgid "*Docker app running*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:271
|
||||
msgid ""
|
||||
"You can verify that docker is running properly by opening the "
|
||||
"**Terminal** app and typing:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:277
|
||||
msgid "Which should return"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:283
|
||||
msgid "To verify that git is installed, simply type:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:289
|
||||
msgid "Which should return something similar to the following:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:295
|
||||
msgid ""
|
||||
"If you get a “bash: git: command not found”, try to restart your "
|
||||
"**Terminal** app and double-check for any errors during the install "
|
||||
"process."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:300
|
||||
msgid ""
|
||||
"Docker on macOS works by running a VM in the background (think of it as a"
|
||||
" “computer emulator”). This VM has a certain amount of memory allocated "
|
||||
"and WebODM can only use as much memory as it’s allocated."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:302
|
||||
msgid "Right click the whale icon from the task bar and click **Preferences**..."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:303
|
||||
msgid "Select the **Advanced** tab"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:304
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Adjust the CPUs slider to use half of all available CPUs and the memory "
|
||||
"to use 60-70% of all available memory"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:305
|
||||
msgid "Press **Apply & Restart**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:311
|
||||
msgid "*Docker advanced settings*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:314
|
||||
msgid "Step 4. Download and Launch WebODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:316
|
||||
msgid "From a **Terminal** type:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:324 ../../source/installation.rst:425
|
||||
msgid "Then open a web browser to http://localhost:8000."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:327
|
||||
msgid "Linux"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:329
|
||||
msgid ""
|
||||
"OpenDroneMap can run on any Linux distribution that supports docker. "
|
||||
"According to `docker’s documentation website "
|
||||
"<https://docs.docker.com/install/>`_ the officially supported "
|
||||
"distributions are CentOS, Debian, Ubuntu and Fedora, with static binaries"
|
||||
" available for others. If you have to pick a distribution solely for "
|
||||
"running OpenDroneMap, Ubuntu is the recommended way to go."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:332
|
||||
msgid "Step 1. Install Requirements"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:334
|
||||
msgid "There are four programs that need to be installed:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:336
|
||||
msgid "Docker"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:337
|
||||
msgid "Git"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:338
|
||||
msgid "Python (2 or 3)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:339
|
||||
msgid "Pip"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:341
|
||||
msgid ""
|
||||
"We cannot possibly cover the installation process for every Linux "
|
||||
"distribution out there, so we’ll limit the instructions to those that are"
|
||||
" distributions officially supported by docker. In all cases it’s just a "
|
||||
"matter of opening a terminal prompt and typing a few commands."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:344
|
||||
msgid "Install on Ubuntu / Debian"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:346 ../../source/installation.rst:358
|
||||
#: ../../source/installation.rst:369 ../../source/installation.rst:380
|
||||
msgid "Commands to type:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:356
|
||||
msgid "Install on CentOS / RHEL"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:367
|
||||
msgid "Install on Fedora"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:378
|
||||
msgid "Install on Arch"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:387
|
||||
msgid "Step 2. Check Additional Requirements"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:389
|
||||
msgid ""
|
||||
"In addition to the three programs above, the dockercompose script is also"
|
||||
" needed. Sometimes it’s already installed with docker, but sometimes it "
|
||||
"isn’t. To verify if it’s installed try to type:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:395
|
||||
msgid "You should see somethings similar to the following:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:401
|
||||
msgid "If instead you get something similar to the following:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:407
|
||||
msgid "you can install it by using pip:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:415
|
||||
msgid "Step 3. Download and Launch WebODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:417
|
||||
msgid "From a terminal type:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:428
|
||||
msgid "Basic Commands and Troubleshooting"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:430
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The cool thing about using docker is that 99% of the tasks you’ll ever "
|
||||
"need to perform while using WebODM can be done via the ./webodm.sh "
|
||||
"script. You have already encountered one of them:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:436
|
||||
msgid ""
|
||||
"which takes care of starting WebODM and setting up a default processing "
|
||||
"node (node-odm-1). If you want to stop WebODM, you can already guess what"
|
||||
" the command is:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:442
|
||||
msgid ""
|
||||
"There are several other commands you can use, along with different flags."
|
||||
" Flags are parameters passed to the ./webodm.sh command and are typically"
|
||||
" prefixed with “–”. The **port** flag for example instructs WebODM to use"
|
||||
" a different network port:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:448
|
||||
msgid "Other useful commands are listed below:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:467
|
||||
msgid ""
|
||||
"`The community forum <https://community.opendronemap.org>`_ is a great "
|
||||
"place to ask for help if you get stuck during any of the installation"
|
||||
" steps and for general questions on using the ./webodm.sh script."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:470
|
||||
msgid "Hello, WebODM!"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:472
|
||||
msgid ""
|
||||
"After running ./webodm.sh start and opening WebODM in the browser, you "
|
||||
"will be greeted with a welcome message and will be asked to create the "
|
||||
"first user. Take some time to familiarize yourself with the web interface"
|
||||
" and explore its various menus."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:478
|
||||
msgid "*WebODM Dashboard*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:480
|
||||
msgid ""
|
||||
"Notice that under the **Processing Nodes** menu there’s a \"node-odm-1\" "
|
||||
"node already configured for you to use. This is a NodeODM node and has "
|
||||
"been created automatically by WebODM. This node is running on the same "
|
||||
"machine as WebODM."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:482
|
||||
msgid ""
|
||||
"If you’ve made it this far, congratulations! Now it’s time to start "
|
||||
"processing some data."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:489
|
||||
msgid "Running on more than one machine"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:491
|
||||
msgid ""
|
||||
"**Optionally:** If you have another computer, you can repeat the "
|
||||
"installation process (install docker, git, python, etc.) and launch a new"
|
||||
" NodeODM node by typing from a Terminal/Git Bash window:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:497
|
||||
msgid ""
|
||||
"The above command asks docker to launch a new container using the "
|
||||
"opendronemap/nodeodm image from Docker Hub (the latest version of "
|
||||
"NodeODM), using port 3000, setting a maximum number of concurrent tasks "
|
||||
"to 1 and to protect the node from unauthorized access using the password "
|
||||
"\"secret\"."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:499
|
||||
msgid ""
|
||||
"From WebODM you can then press the **Add New** button under **Processing "
|
||||
"Nodes**. For the **hostname/IP** field type the IP of the second "
|
||||
"computer. For the **port** field type “3000”. For the **token** field "
|
||||
"type “secret”. You can also add an optional **label** for your node, such"
|
||||
" as “second computer”. Then press **Save**."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:501
|
||||
msgid ""
|
||||
"If everything went well, you should now have two processing nodes! You "
|
||||
"will be able to process multiple tasks in parallel using two different "
|
||||
"machines."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:503
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/installation.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,275 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/large.rst:4
|
||||
msgid "Splitting Large Datasets"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:6
|
||||
msgid ""
|
||||
"Starting with ODM version ``0.6.0`` you can split up very large datasets "
|
||||
"into manageable chunks (called submodels), running the pipeline on each "
|
||||
"chunk, and then producing merged DEMs, orthophotos and point clouds. The "
|
||||
"process is referred to as \"split-merge\"."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:8
|
||||
msgid ""
|
||||
"Why might you use the split-merge pipeline? If you have a very large "
|
||||
"number of images in your dataset, split-merge will help make the "
|
||||
"processing more manageable on a large machine (it will require less "
|
||||
"memory). If you have many machines all connected to the same network you "
|
||||
"can also process the submodels in parallel, thus allowing for horizontal "
|
||||
"scaling and processing thousands of images more quickly."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:10
|
||||
msgid ""
|
||||
"Split-merge works in WebODM out of the box as long as the processing "
|
||||
"nodes support split-merge, by enabling the ``--split`` option when "
|
||||
"creating a new task."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:13
|
||||
msgid "Calibrate images"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:15
|
||||
msgid ""
|
||||
"Image calibration is recommended (but not required) for large datasets "
|
||||
"because error propagation due to image distortion could cause a bowl "
|
||||
"effect on the models. Calibration instructions can be found at "
|
||||
"`Calibrate Images <tutorials.html#calibrating-the-camera>`_."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:21
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:24
|
||||
msgid "Local Split-Merge"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:26
|
||||
msgid ""
|
||||
"Splitting a dataset into more manageable submodels and sequentially "
|
||||
"processing all submodels on the same machine is easy! Just use "
|
||||
"``--split`` and ``--split-overlap`` to decide the the average number of "
|
||||
"images per submodels and the overlap (in meters) between submodels "
|
||||
"respectively"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:32
|
||||
msgid ""
|
||||
"If you already know how you want to split the dataset, you can provide "
|
||||
"that information and it will be used instead of the clustering algorithm."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:34
|
||||
msgid ""
|
||||
"The grouping can be provided by adding a file named image_groups.txt in "
|
||||
"the main dataset folder. The file should have one line per image. Each "
|
||||
"line should have two words: first the name of the image and second the "
|
||||
"name of the group it belongs to. For example::"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:42
|
||||
msgid ""
|
||||
"will create 3 submodels. Make sure to pass ``--split-overlap 0`` if you "
|
||||
"manually provide a ``image_groups.txt`` file."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:46
|
||||
msgid "Distributed Split-Merge"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:48
|
||||
msgid ""
|
||||
"ODM can also automatically distribute the processing of each submodel to "
|
||||
"multiple machines via `NodeODM "
|
||||
"<https://github.com/OpenDroneMap/NodeODM>`_ nodes, orchestrated via "
|
||||
"`ClusterODM <https://github.com/OpenDroneMap/ClusterODM>`_."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:55
|
||||
msgid "Getting Started with Distributed Split-Merge"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:57
|
||||
msgid "The first step is start ClusterODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:63
|
||||
msgid ""
|
||||
"Then on each machine you want to use for processing, launch a NodeODM "
|
||||
"instance via"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:69
|
||||
msgid ""
|
||||
"Connect via telnet to ClusterODM and add the IP addresses/port of the "
|
||||
"machines running NodeODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:84
|
||||
msgid "Make sure you are running version ``1.5.1`` or higher of the NodeODM API."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:86
|
||||
msgid ""
|
||||
"At this point, simply use the ``--sm-cluster`` option to enable "
|
||||
"distributed split-merge"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:93
|
||||
msgid "Understanding the Cluster"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:95
|
||||
msgid ""
|
||||
"When connected via telnet, it is possible to interrogate what is "
|
||||
"happening on the cluster. For example, we can use the command HELP to "
|
||||
"find out available commands"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:118
|
||||
msgid ""
|
||||
"If, for example, the NodeODM instance wasn't active when ClusterODM "
|
||||
"started, we might list nodes and see something as follows"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:125
|
||||
msgid ""
|
||||
"To address this, we can start up our local node (if not already started),"
|
||||
" and then perform a ``NODE UPDATE``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:135
|
||||
msgid "Accessing the Logs"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:137
|
||||
msgid ""
|
||||
"While a process is running, it is also possible to list the tasks, and "
|
||||
"view the task output"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:145
|
||||
msgid "Autoscaling ClusterODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:147
|
||||
msgid ""
|
||||
"ClusterODM also includes the option to autoscale on multiple platforms, "
|
||||
"including, to date, Amazon and Digital Ocean. This allows users to reduce"
|
||||
" costs associated with always-on instances as well as being able to scale"
|
||||
" processing based on demand."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:149
|
||||
msgid "To setup autoscaling you must:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:151
|
||||
msgid "Have a functioning version of NodeJS installed and then install ClusterODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:159
|
||||
msgid "Make sure docker-machine is installed."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:160
|
||||
msgid "Setup a S3-compatible bucket for storing results."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:161
|
||||
msgid ""
|
||||
"Create a configuration file for `DigitalOcean "
|
||||
"<https://github.com/OpenDroneMap/ClusterODM/blob/master/docs/digitalocean.md>`_"
|
||||
" or `Amazon Web Services "
|
||||
"<https://github.com/OpenDroneMap/ClusterODM/blob/master/docs/aws.md>`_."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:163
|
||||
msgid "You can then launch ClusterODM with"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:169
|
||||
msgid "You should see something similar to following messages in the console"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:177
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You should always have at least one static NodeODM node attached to "
|
||||
"ClusterODM, even if you plan to use the autoscaler for all processing. If"
|
||||
" you setup auto scaling, you can't have zero nodes and rely 100% on the "
|
||||
"autoscaler. You need to attach a NodeODM node to act as the \"reference "
|
||||
"node\" otherwise ClusterODM will not know how to handle certain requests "
|
||||
"(for the forwarding the UI, for validating options prior to spinning up "
|
||||
"an instance, etc.). For this purpose, you should add a \"dummy\" NodeODM "
|
||||
"node and lock it"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:187
|
||||
msgid "This way all tasks will be automatically forwarded to the autoscaler."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:190
|
||||
msgid "Limitations"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:192
|
||||
msgid ""
|
||||
"The 3D textured meshes are currently not being merged as part of the "
|
||||
"workflow (only point clouds, DEMs and orthophotos are)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:194
|
||||
msgid ""
|
||||
"GCPs are fully supported, however, there needs to be at least 3 GCP "
|
||||
"points on each submodel for the georeferencing to take place. If a "
|
||||
"submodel has fewer than 3 GCPs, a combination of the remaining GCPs + "
|
||||
"EXIF data will be used instead (which is going to be less accurate). We "
|
||||
"recommend using the ``image_groups.txt`` file to accurately control the "
|
||||
"submodel split when using GCPs."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:197
|
||||
msgid "Acknowledgments"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:198
|
||||
msgid ""
|
||||
"Huge props to Pau and the folks at Mapillary for their amazing "
|
||||
"contributions to OpenDroneMap through their OpenSfM code, which is a key "
|
||||
"component of the split-merge pipeline. We look forward to further pushing"
|
||||
" the limits of OpenDroneMap and seeing how big a dataset we can process."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:200
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/large.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,135 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/outputs.rst:2
|
||||
msgid "OpenDroneMap Outputs"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:4
|
||||
msgid "Listed below are some of the useful outputs ODM produces."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:7
|
||||
msgid "Point Cloud"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:9
|
||||
msgid ""
|
||||
"``odm_georeferencing/odm_georeferenced_model.ply/laz/csv`` -- The "
|
||||
"georeferenced point cloud in different file formats"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:15
|
||||
msgid ""
|
||||
"*Point cloud over State University Zanzibar, courtesy of* `Khadija "
|
||||
"Abdullah Ali <https://www.linkedin.com/in/khadija-abdulla-ali-"
|
||||
"56b4044a/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:19
|
||||
msgid "3D Textured Model"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:21
|
||||
msgid ""
|
||||
"``odm_texturing/odm_textured_model.obj`` -- The textured surface mesh "
|
||||
"``odm_texturing/odm_textured_model_geo.obj`` -- The georeferenced and "
|
||||
"textured surface mesh"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:24
|
||||
msgid ""
|
||||
"You can access the point cloud and textured meshes using MeshLab. Open "
|
||||
"MeshLab, and choose File:Import Mesh and choose your textured mesh from a"
|
||||
" location similar to the following: "
|
||||
"``odm_texturing\\odm_textured_model.obj``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:30
|
||||
msgid ""
|
||||
"*Textured mesh over State University Zanzibar, courtesy of* `Khadija "
|
||||
"Abdullah Ali <https://www.linkedin.com/in/khadija-abdulla-ali-"
|
||||
"56b4044a/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:33
|
||||
msgid "Orthophoto"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:35
|
||||
msgid ""
|
||||
"``odm_orthophoto/odm_orthphoto.png`` -- The orthophoto, but this is a "
|
||||
"simple png, which doesn't have any georeferencing information"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:37
|
||||
msgid ""
|
||||
"``odm_orthophoto/odm_orthphoto.tif`` -- GeoTIFF Orthophoto. You can use "
|
||||
"it in QGIS as a raster layer."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:43
|
||||
msgid ""
|
||||
"*Orthophoto over State University Zanzibar, courtesy of* `Khadija "
|
||||
"Abdullah Ali <https://www.linkedin.com/in/khadija-abdulla-ali-"
|
||||
"56b4044a/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:46
|
||||
msgid "DTM/DSM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:48
|
||||
msgid ""
|
||||
"DTM/DSM will only be created if the ``--dtm`` or ``--dsm`` options are "
|
||||
"used. See `tutorial on elevation models "
|
||||
"<https://docs.opendronemap.org/tutorials.html#creating-digital-elevation-"
|
||||
"models>`_ for more options in creating."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:50
|
||||
msgid "Data will be stored in:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:52
|
||||
msgid "``odm_dem/dtm.tif``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:53
|
||||
msgid "``odm_dem/dsm.tif``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:59
|
||||
msgid ""
|
||||
"*Digital surface model over State University Zanzibar, courtesy of* "
|
||||
"`Khadija Abdullah Ali <https://www.linkedin.com/in/khadija-abdulla-ali-"
|
||||
"56b4044a/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:62
|
||||
msgid "List of all outputs"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:109
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/outputs.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,95 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/resources.rst:2
|
||||
msgid "Additional References"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:5
|
||||
msgid "For Users"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:7
|
||||
msgid "The following resources are a good place to start:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:9
|
||||
msgid "`README page for ODM <https://github.com/OpenDroneMap/OpenDroneMap>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:10
|
||||
msgid "`README page for WebODM <https://github.com/OpenDroneMap/WebODM>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:11
|
||||
msgid ""
|
||||
"`README page for NodeODM <https://github.com/OpenDroneMap/node-"
|
||||
"OpenDroneMap>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:12
|
||||
msgid ""
|
||||
"`Ground Control Points Format Specification "
|
||||
"<https://github.com/mapillary/OpenSfM/blob/master/doc/source/gcp.rst>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:13
|
||||
msgid "`OpenDroneMap: The Missing Guide <https://odmbook.com/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:16
|
||||
msgid "For Developers"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:18
|
||||
msgid "In addition to user resources, we recommend to also read the following:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:20
|
||||
msgid "WebODM documentation: https://docs.webodm.org"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:21
|
||||
msgid ""
|
||||
"NodeODM API specification: "
|
||||
"https://github.com/OpenDroneMap/NodeODM/blob/master/docs/index.adoc"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:22
|
||||
msgid ""
|
||||
"Overview of the ODM pipeline: http://community.opendronemap.org/t/where-"
|
||||
"can-i-find-background-information-on-the-concepts-of-odm/665/2"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:23
|
||||
msgid ""
|
||||
"We keep a `section in our forum dedicated to research papers "
|
||||
"<http://community.opendronemap.org/c/ideas-proposals/research-papers>`_. "
|
||||
"This is a valuable place where to read more about state of the art "
|
||||
"research related to structure from motion, multi-view stereo, meshing, "
|
||||
"texturing, etc. which can be used to improve the software."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:26
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/api.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,440 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/tutorials.rst:4
|
||||
msgid "Tutorials"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:6
|
||||
msgid "Below you will find instructions for some common use cases."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:9
|
||||
msgid "Creating High Quality Orthophotos"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:15
|
||||
msgid ""
|
||||
"Without any parameter tweaks, ODM chooses a good compromise between "
|
||||
"quality, speed and memory usage. If you want to get higher quality "
|
||||
"results, you need to tweak some parameters:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:17
|
||||
msgid ""
|
||||
"``--orthophoto-resolution`` is the resolution of the orthophoto in "
|
||||
"cm/pixel. Decrease this value for a higher resolution result."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:18
|
||||
msgid ""
|
||||
"``--ignore-gsd`` 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 will produce sharper results."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:19
|
||||
msgid ""
|
||||
"``--texturing-nadir-weight`` should be increased to ``29-32`` in urban "
|
||||
"areas to reconstruct better edges of roofs. It should be decreased to "
|
||||
"``0-6`` in grassy / flat areas."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:20
|
||||
msgid "``--texturing-data-term`` should be set to `area` in forest areas."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:21
|
||||
msgid ""
|
||||
"``--mesh-size`` should be increased to `300000-600000` and `--mesh-"
|
||||
"octree-depth`` should be increased to `10-11` in urban areas to recreate "
|
||||
"better buildings / roofs."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:24
|
||||
msgid "Calibrating the Camera"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:26
|
||||
msgid ""
|
||||
"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 `Mitigating systematic error in topographic models derived from "
|
||||
"UAV and ground‐based image networks "
|
||||
"<https://onlinelibrary.wiley.com/doi/full/10.1002/esp.3609>`_ address how"
|
||||
" to minimize the distortion from self-calibration."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:32
|
||||
msgid ""
|
||||
"*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.*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:34
|
||||
msgid ""
|
||||
"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°."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:42
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:44
|
||||
msgid ""
|
||||
"Alternatively, the following experimental method can be applied: fly with"
|
||||
" much lower overlap, but two *crossgrid* flights (sometimes called "
|
||||
"crosshatch) separated by 20° with a 5° forward facing camera."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:46
|
||||
#, python-format
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:47
|
||||
#, python-format
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:53
|
||||
msgid ""
|
||||
"Vertically separated flight lines also improve accuracy, but less so than"
|
||||
" a camera that is forward facing by 5°."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:59
|
||||
msgid ""
|
||||
"From James and Robson (2014), `CC BY 4.0 "
|
||||
"<https://creativecommons.org/licenses/by/4.0>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:62
|
||||
msgid "Creating Digital Elevation Models"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:64
|
||||
msgid ""
|
||||
"By default ODM does not create DEMs. To create a digital terrain model, "
|
||||
"make sure to pass the ``--dtm`` flag. To create a digital surface model, "
|
||||
"be sure to pass the ``--dsm`` flag."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:70
|
||||
msgid ""
|
||||
"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 ``smrf`` filter can be controlled via several parameters:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:72
|
||||
msgid ""
|
||||
"``--smrf-scalar`` scaling value. Increase this parameter for terrains "
|
||||
"with lots of height variation."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:73
|
||||
msgid ""
|
||||
"``--smrf-slope`` 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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:74
|
||||
msgid ""
|
||||
"``--smrf-threshold`` elevation threshold. Set this parameter to the "
|
||||
"minimum height (in meters) that you expect non-ground objects to be."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:75
|
||||
msgid ""
|
||||
"``--smrf-window`` 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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:77
|
||||
msgid ""
|
||||
"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 `An improved simple morphological filter for "
|
||||
"the terrain classification of airborne LIDAR data "
|
||||
"<https://www.researchgate.net/publication/258333806_An_Improved_Simple_Morphological_Filter_for_the_Terrain_Classification_of_Airborne_LIDAR_Data>`_"
|
||||
" (PDF freely available)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:79
|
||||
msgid "Overall the ``--smrf-threshold`` option has the biggest impact on results."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:81
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:87
|
||||
msgid "Two other important parameters affect DEM generation:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:89
|
||||
msgid ""
|
||||
"``--dem-resolution`` which sets the output resolution of the DEM raster "
|
||||
"(cm/pixel)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:90
|
||||
msgid ""
|
||||
"``--dem-gapfill-steps`` which determines the number of progressive DEM "
|
||||
"layers to use. For urban scenes increasing this value to `4-5` can help "
|
||||
"produce better interpolation results in the areas that are left empty by "
|
||||
"the SMRF filter."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:92
|
||||
msgid "Example of how to generate a DTM::"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:99
|
||||
msgid "Ground Control Points"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:101
|
||||
msgid ""
|
||||
"Ground control points are useful for correcting distortions in the data "
|
||||
"and referencing the data to know coordinate systems."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:103
|
||||
msgid "The format of the GCP file is simple."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:105
|
||||
msgid ""
|
||||
"The header line is a description of a UTM coordinate system, which must "
|
||||
"be written as a proj4 string. http://spatialreference.org/ is a good "
|
||||
"resource for finding that information. Please note that currently angular"
|
||||
" coordinates (like lat/lon) DO NOT work."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:106
|
||||
msgid ""
|
||||
"Subsequent lines are the X, Y & Z coordinates, your associated pixels and"
|
||||
" the image filename:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:108
|
||||
msgid "GCP file format::"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:114
|
||||
msgid "e.g. for the Langley dataset::"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:121
|
||||
msgid ""
|
||||
"If you supply a GCP file called gcp_list.txt then ODM will automatically "
|
||||
"detect it. If it has another name you can specify using ``--gcp <path>``."
|
||||
" If you have a gcp file and want to do georeferencing with exif instead, "
|
||||
"then you can specify ``--use-exif``."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:123
|
||||
msgid ""
|
||||
"`This post has some information about placing Ground Control Targets "
|
||||
"before a flight <http://diydrones.com/profiles/blogs/ground-control-"
|
||||
"points-gcps-for-aerial-photography>`_, but if you already have images, "
|
||||
"you can find your own points in the images post facto. It's important "
|
||||
"that you find high-contrast objects that are found in **at least** 3 "
|
||||
"photos, and that you find a minimum of 5 objects."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:125
|
||||
msgid ""
|
||||
"Sharp corners are good picks for GCPs. You should also place/find the "
|
||||
"GCPs evenly around your survey area."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:127
|
||||
msgid ""
|
||||
"The ``gcp_list.txt`` file must be created in the base of your project "
|
||||
"folder."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:129
|
||||
msgid ""
|
||||
"For good results your file should have a minimum of 15 lines after the "
|
||||
"header (5 points with 3 images to each point)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:132
|
||||
msgid "Ground Control Points Interface"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:134
|
||||
msgid ""
|
||||
"WebODM has a GCP interface, and example of which can be seen on `the "
|
||||
"WebODM Demo <http://demo.webodm.org/plugins/posm-gcpi/>`_. To use this "
|
||||
"with known ground control XYZ values, one would do the following:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:136
|
||||
msgid ""
|
||||
"Create a GCP list that only includes gcp name (this is the label that "
|
||||
"will be seen in the GCP interface), x, y, and z, with a header with a "
|
||||
"proj4 string of your GCPs (make sure they are in a planar coordinate "
|
||||
"system, such as UTM. It should look something like this:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:147
|
||||
msgid ""
|
||||
"Then one can load this GCP list into the interface, load the images, and "
|
||||
"place each of the GCPs in the image."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:149
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/using.rst>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:152
|
||||
msgid "Using Docker"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:154
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:156
|
||||
msgid "A few simple commands can make our docker experience much better."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:159
|
||||
msgid "Listing Docker Machines"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:161
|
||||
msgid ""
|
||||
"We can start by listing available docker machines on the current machine "
|
||||
"we are running as follows:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:170
|
||||
msgid ""
|
||||
"If we want to see machines that may not be running but still exist, we "
|
||||
"can add the `-a` flag:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:183
|
||||
msgid "Accessing logs on the instance"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:185
|
||||
msgid ""
|
||||
"Using either the `CONTAINER ID` or the name, we can access any logs "
|
||||
"available on the machine as follows:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:191
|
||||
msgid ""
|
||||
"This is likely to be unwieldy large, but we can use a pipe `|` character "
|
||||
"and other tools to extract just what we need from the logs. For example "
|
||||
"we can move through the log slowly using the `more` command:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:207
|
||||
msgid ""
|
||||
"Pressing `Enter` or `Space`, arrow keys or `Page Up` or `Page Down` keys "
|
||||
"will now help us navigate through the logs. The lower case letter `Q` "
|
||||
"will let us escape back to the command line."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:209
|
||||
msgid ""
|
||||
"We can also extract just the end of the logs using the `tail` commmand as"
|
||||
" follows:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:220
|
||||
msgid ""
|
||||
"The value `-5` tells the tail command to give us just the last 5 lines of"
|
||||
" the logs."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:223
|
||||
msgid "Command line access to instances"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:225
|
||||
msgid ""
|
||||
"Sometimes we need to go a little deeper in our exploration of the process"
|
||||
" for OpenDroneMap. For this, we can get direct command line access to the"
|
||||
" machines. For this, we can use `docker exec` to execute a `bash` command"
|
||||
" line shell in the machine of interest as follows:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:232
|
||||
msgid "Now we are logged into our docker instance and can explore the machine."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:235
|
||||
msgid "Cleaning up after Docker"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:237
|
||||
msgid ""
|
||||
"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 `excellent overview of how to manage excess disk "
|
||||
"usage in docker <https://lebkowski.name/docker-volumes/>`_."
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/arguments.rst:4
|
||||
msgid "Options and Flags"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/arguments.rst:6
|
||||
msgid "Arguments::"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/arguments.rst:289
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/using.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,193 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/contributing.rst:4
|
||||
msgid "How to contribute"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:6
|
||||
msgid ""
|
||||
"OpenDroneMap relies on community contributions. You can contribute in "
|
||||
"many ways, even if you are not a programmer."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:9
|
||||
msgid "Community Forum"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:11
|
||||
msgid ""
|
||||
"If you are looking to get involved, are stuck on a problem, or want to "
|
||||
"reach out, `the forum <https://community.opendronemap.org/>`_ is a great "
|
||||
"place to start. You may find your questions already answered or else you "
|
||||
"can find other useful tips and resources. You can also contribute your "
|
||||
"open access datasets for others to explore. It is a good place go before "
|
||||
"submitting bug reports or getting in touch with developers before writing"
|
||||
" a new feature."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:14
|
||||
msgid "Reporting Bugs"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:16
|
||||
msgid ""
|
||||
"Bugs are tracked as Github issues. Please create an issue in the "
|
||||
"repository and tag it with the Bug tag."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:18
|
||||
msgid ""
|
||||
"Explain the problem and include additional details to help maintainers "
|
||||
"reproduce the problem:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:20
|
||||
msgid ""
|
||||
"**Use a clear and descriptive title** for the issue to identify the "
|
||||
"problem."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:21
|
||||
msgid ""
|
||||
"**Describe the exact steps which reproduce the problem** in as many "
|
||||
"details as possible. For example, start by explaining how you run ODM "
|
||||
"(Docker, Vagrant, etc), e.g. which command exactly you used in the "
|
||||
"terminal. When listing steps, **don't just say what you did, but explain "
|
||||
"how you did it.**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:22
|
||||
msgid ""
|
||||
"**Provide specific examples to demonstrate the steps.** Include links to "
|
||||
"files or GitHub projects, or copy/pasteable snippets, which you use in "
|
||||
"those examples. If you're providing snippets in the issue, use `Markdown "
|
||||
"code blocks <https://help.github.com/articles/markdown-basics/#multiple-"
|
||||
"lines>`_."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:23
|
||||
msgid ""
|
||||
"**Describe the behavior you observed after following the steps** and "
|
||||
"point out what exactly is the problem with that behavior."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:24
|
||||
msgid "**Explain which behavior you expected to see instead and why.**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:25
|
||||
msgid ""
|
||||
"**Include screenshots and animated GIFs** which show you following the "
|
||||
"described steps and clearly demonstrate the problem. You can use `this "
|
||||
"tool to record GIFs on macOS and Windows "
|
||||
"<http://www.cockos.com/licecap/>`_, and `this tool "
|
||||
"<https://github.com/colinkeenan/silentcast>`_ or `this one "
|
||||
"<https://github.com/GNOME/byzanz>`_ on Linux."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:26
|
||||
msgid ""
|
||||
"**If the problem is related to performance,** please post your machine's "
|
||||
"specs (host and guest machine)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:27
|
||||
msgid ""
|
||||
"**If the problem wasn't triggered by a specific action,** describe what "
|
||||
"you were doing before the problem happened and share more information "
|
||||
"using the guidelines below."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:29
|
||||
msgid "Include details about your configuration and environment:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:31
|
||||
msgid ""
|
||||
"**Which version of ODM are you using?** A stable release? a clone of "
|
||||
"master?"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:32
|
||||
msgid "**What's the name and version of the OS you're using?**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:33
|
||||
msgid ""
|
||||
"**Are you running ODM in a virtual machine or Docker?** If so, which VM "
|
||||
"software are you using and which operating systems and versions are used "
|
||||
"for the host and the guest?"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:36
|
||||
msgid "Template For Submitting Bug Reports"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:69
|
||||
msgid "Pull Requests"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:71
|
||||
msgid ""
|
||||
"Include screenshots and animated GIFs in your pull request whenever "
|
||||
"possible."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:72
|
||||
msgid "Follow the PEP8 Python Style Guide."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:73
|
||||
msgid "End files with a newline."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:76
|
||||
msgid "Avoid platform-dependent code:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:75
|
||||
msgid "Use require('fs-plus').getHomeDirectory() to get the home directory."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:76
|
||||
msgid "Use path.join() to concatenate filenames."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:77
|
||||
msgid ""
|
||||
"Use os.tmpdir() rather than /tmp when you need to reference the temporary"
|
||||
" directory."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:79
|
||||
msgid "Using a plain return when returning explicitly at the end of a function."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:79
|
||||
msgid "Not return null, return undefined, null, or undefined"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:81
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/contributing.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,75 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/flying.rst:2
|
||||
msgid "Flying tips"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:4
|
||||
msgid ""
|
||||
"The `Humanitarian OpenStreetMap team <https://www.hotosm.org/>`_ has "
|
||||
"guidelines on `flying for UAV mapping <https://uav-"
|
||||
"guidelines.openaerialmap.org/>`_:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:6
|
||||
msgid ""
|
||||
"`Choosing the right UAV <https://uav-"
|
||||
"guidelines.openaerialmap.org/pages/05-choosing-the-right-uav/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:8
|
||||
msgid ""
|
||||
"`Choosing the right sensor <https://uav-"
|
||||
"guidelines.openaerialmap.org/pages/06-choosing-the-sensor/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:10
|
||||
msgid ""
|
||||
"`Mission preparation <https://uav-guidelines.openaerialmap.org/pages/07"
|
||||
"-preparing-for-the-uav-mission/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:12
|
||||
msgid ""
|
||||
"The guidelines are intended for drone mapping projects on islands, but "
|
||||
"have general use for all drone mappers."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:14
|
||||
msgid ""
|
||||
"See also DroneDeploy's guide on `Making Successful Maps "
|
||||
"<https://support.dronedeploy.com/docs/making-successful-maps>`_, which "
|
||||
"provides great tips on mission planning."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:16
|
||||
msgid ""
|
||||
"Finally, lens distortion is a challenge in projects requiring accurate 3D"
|
||||
" data. See our section in these docs on `Camera Calibration "
|
||||
"<tutorials.html#calibrating-the-camera>`_."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:18
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/flying.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/index.rst:8
|
||||
msgid "Welcome to OpenDroneMap's documentation"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/index.rst:40
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/index.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,778 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/installation.rst:4
|
||||
msgid "Installation and Getting Started"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:6
|
||||
msgid ""
|
||||
"This section is excerpted and modified with permission from "
|
||||
"`OpenDroneMap: The Missing Guide <https://odmbook.com>`_, by Piero "
|
||||
"Toffanin."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:8
|
||||
msgid ""
|
||||
"Until recently OpenDroneMap was the term used to refer to a single "
|
||||
"command line application (what is now known as the ODM project). With "
|
||||
"the recent development of a web interface, an API and other tools, "
|
||||
"OpenDroneMap has become an ecosystem of various applications to process, "
|
||||
"analyze and display aerial data. This ecosystem is made of several "
|
||||
"components:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:14
|
||||
msgid ""
|
||||
"**ODM** is the processing engine, which can be used from the command "
|
||||
"line. It takes images as input and produces a variety of outputs, "
|
||||
"including point clouds, 3D models and orthophotos"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:20
|
||||
msgid ""
|
||||
"**NodeODM** is a light-weight API built on top of ODM. It allows users "
|
||||
"and applications to access the functions of ODM over a computer network"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:26
|
||||
msgid ""
|
||||
"**WebODM** is a friendly user interface that includes a map viewer, a 3D "
|
||||
"viewer, user logins, a plugin system and many other features that are "
|
||||
"expected of modern drone mapping platforms"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:32
|
||||
msgid ""
|
||||
"**CloudODM** is a small command line client to communicate with ODM via "
|
||||
"the NodeODM API"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:38
|
||||
msgid ""
|
||||
"**PyODM** is a Python SDK for creating tasks via the NodeODM API. We "
|
||||
"cover it in more detail in the “Automated Processing With Python” chapter"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:44
|
||||
msgid ""
|
||||
"**ClusterODM** is a load balancer for connecting together multiple "
|
||||
"NodeODM instances"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:46
|
||||
msgid ""
|
||||
"ODM, NodeODM and WebODM are available on all major platforms (Windows, "
|
||||
"macOS and Linux) via a program called docker, which is required to run "
|
||||
"the software. Docker offers a way to run “containers”. Containers are "
|
||||
"packaged copies of an entire system, its software and its dependencies. "
|
||||
"These containers run within a virtual environment. On Linux this virtual "
|
||||
"environment is available from the operating system and is very efficient."
|
||||
" On macOS and Windows the containers run within a VM, so there’s a bit of"
|
||||
" a overhead. but it’s still very suitable for running the software. Once "
|
||||
"installed users do not have to worry much about docker, as it operates "
|
||||
"(almost) transparently."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:48
|
||||
msgid ""
|
||||
"Without docker it would not be possible to run ODM on Windows or macOS. "
|
||||
"On these platforms ODM cannot run natively. Future development efforts "
|
||||
"are being focused on leveraging the new Windows Subsystem for Linux (WSL)"
|
||||
" and the possibility to make a native port of all dependencies to macOS, "
|
||||
"which is going to make the installation much easier."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:50
|
||||
msgid ""
|
||||
"On Ubuntu Linux 16.04 it’s feasible to run all OpenDroneMap software "
|
||||
"natively. However, because there’s very little performance penalty for "
|
||||
"running docker on Linux and docker is straightforward to setup on this "
|
||||
"platform, we don’t recommend it. On Linux the advantages of "
|
||||
"containerization far outweigh a tiny performance penalty. With docker "
|
||||
"users also get easy one-step updates of the software, so that’s nice."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:54
|
||||
msgid "Hardware Recommendations"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:56
|
||||
msgid "The bare minimum requirements for running the software are:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:59
|
||||
msgid "64bit CPU manufactured on or after 2010"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:60
|
||||
msgid "20 GB of disk space"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:61
|
||||
msgid "4 GB RAM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:63
|
||||
msgid ""
|
||||
"No more than 100-200 images can be processed with the above "
|
||||
"specifications (the software will run out of memory). Recommended "
|
||||
"requirements are:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:65
|
||||
msgid "Latest Generation CPU"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:66
|
||||
msgid "100 GB of disk space"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:67
|
||||
msgid "16 GB RAM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:69
|
||||
msgid ""
|
||||
"The above will allow for a few hundred images to be processed without too"
|
||||
" many issues. A CPU with more cores will allow for faster processing, "
|
||||
"while a graphics card (GPU) currently has no impact on performance. For "
|
||||
"processing more images, add more disk space and RAM linearly to the "
|
||||
"number of images you need to process."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:75
|
||||
msgid "Installation"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:77
|
||||
msgid ""
|
||||
"We recommend people use `docker <https://www.docker.com>`_ for running "
|
||||
"ODM, whether you are on Windows, macOS or Linux."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:80
|
||||
msgid "Windows"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:82
|
||||
msgid ""
|
||||
"To run OpenDroneMap you need at least Windows 7. Previous versions of "
|
||||
"Windows are not supported."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:86 ../../source/installation.rst:237
|
||||
msgid "Step 1. Check Virtualization Support"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:88
|
||||
msgid ""
|
||||
"Docker requires a feature from your CPU called virtualization, which "
|
||||
"allows it to run virtual machines (VMs). Make sure you have it enabled! "
|
||||
"Sometimes this is disabled. To check, on Windows 8 or higher you can open"
|
||||
" the **Task Manager** (press CTRL+SHIFT+ESC) and switch to the "
|
||||
"**Performance** tab."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:94
|
||||
msgid "*Virtualization should be enabled*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:96
|
||||
msgid ""
|
||||
"On Windows 7 to see if you have virtualization enabled you can use the "
|
||||
"`Microsoft® Hardware-Assisted Virtualization Detection Tool <http:// "
|
||||
"www.microsoft.com/en-us/download/details.aspx?id=592>`_ instead."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:99
|
||||
msgid ""
|
||||
"If virtualization is disabled, you’ll need to enable it. The procedure "
|
||||
"unfortunately is a bit different for each computer model, so the best way"
|
||||
" to do this is to look up on a search engine “how to enable vtx for <type"
|
||||
" your computer model here>”. Often times it’s a matter of restarting the "
|
||||
"computer, immediately pressing F2 or F12 during startup, navigating the "
|
||||
"boot menu and changing the settings to enable virtualization (often "
|
||||
"called “VT-X”)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:105
|
||||
msgid ""
|
||||
"*Common keys to press at computer startup to access the boot menu for "
|
||||
"various PC vendors*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:108 ../../source/installation.rst:256
|
||||
msgid "Step 2. Install Requirements"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:110
|
||||
msgid "First, you’ll need to install:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:112
|
||||
msgid "Git: https://git-scm.com/downloads"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:113
|
||||
msgid "Python (latest version 3): https://www.python.org/downloads/windows/"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:115
|
||||
msgid ""
|
||||
"For Python 3, make sure you check **Add Python 3.x to PATH** during the "
|
||||
"installation."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:121
|
||||
msgid ""
|
||||
"*Don’t forget to add the Python executable to your PATH (so that you can "
|
||||
"run commands with it)*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:123
|
||||
msgid ""
|
||||
"Then, only if you are on Windows 10 Home, Windows 8 (any version) or "
|
||||
"Windows 7 (any version), install:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:125
|
||||
msgid ""
|
||||
"Docker Toolbox: "
|
||||
"https://github.com/docker/toolbox/releases/download/v18.09.3/DockerToolbox-18.09.3.exe"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:127
|
||||
msgid ""
|
||||
"If you are on Windows 10 Professional or a newer version, you should "
|
||||
"install instead:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:129
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Docker for Windows: "
|
||||
"https://download.docker.com/win/stable/Docker%20for%20Windows%20Installer.exe"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:131
|
||||
msgid ""
|
||||
"Please do **NOT** install both docker programs. They are different and "
|
||||
"will create a mess if they are both installed."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:133
|
||||
msgid ""
|
||||
"After installing docker, launch it from the Desktop icon that is created "
|
||||
"from the installation (**Docker Quickstart** in the case of Docker "
|
||||
"Toolbox, **Docker for Windows** for Docker for Windows). This is "
|
||||
"important, do not skip this step. If there are errors, follow the prompts"
|
||||
" on screen to fix them."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:136 ../../source/installation.rst:298
|
||||
msgid "Step 3. Check Memory and CPU Allocation"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:138
|
||||
msgid ""
|
||||
"Docker on Windows works by running a VM in the background (think of a VM "
|
||||
"as a “computer emulator”). This VM has a certain amount of memory "
|
||||
"allocated and WebODM can only use as much memory as it’s allocated."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:140
|
||||
msgid ""
|
||||
"If you installed Docker Toolbox (see below if you installed Docker for "
|
||||
"Windows instead):"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:142
|
||||
msgid "Open the **VirtualBox Manager** application"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:143
|
||||
msgid ""
|
||||
"Right click the **default** VM and press **Close (ACPI Shutdown)** to "
|
||||
"stop the machine"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:144
|
||||
msgid "Right click the **default** VM and press **Settings...**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:145
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Move the **Base Memory** slider from the **System** paneland allocate "
|
||||
"60-70% of all available memory, optionally adding 50% of the available "
|
||||
"processors from the **Processor** tab also"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:151
|
||||
msgid "*VirtualBox default VM settings*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:153
|
||||
msgid "Then press **OK**, right click the **default** VM and press **Start**."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:155
|
||||
msgid "If you installed Docker for Windows instead:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:157
|
||||
msgid "Look in the system tray and right click the “white whale” icon."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:158
|
||||
msgid "From the menu, press **Settings...**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:159
|
||||
#, python-format
|
||||
msgid ""
|
||||
"From the panel, click **Advanced** and use the sliders to allocate 60-70%"
|
||||
" of available memory and use half of all available CPUs."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:160
|
||||
msgid "Press **Apply**."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:166
|
||||
msgid "*Step 1 Docker icon*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:172
|
||||
msgid "*Step 3 & 4 Docker settings*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:175
|
||||
msgid "Step 4. Download WebODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:177
|
||||
msgid "Open the **Git Gui** program that comes installed with Git. From there:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:179
|
||||
msgid "In **Source Location** type: https://github.com/Open-DroneMap/WebODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:180
|
||||
msgid ""
|
||||
"In **Target Directory** click browse and navigate to a folder of your "
|
||||
"choosing (create one if necessary)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:181
|
||||
msgid "Press **Clone**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:187
|
||||
msgid "*Git Gui*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:189
|
||||
msgid "If the download succeeded, you should now see this window:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:195
|
||||
msgid "*Git Gui after successful download (clone)*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:197
|
||||
msgid ""
|
||||
"Go to the **Repository** menu, then click **Create Desktop Icon**. This "
|
||||
"will allow you to come back to this application easily in the future."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:200
|
||||
msgid "Step 4. Launch WebODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:202
|
||||
msgid ""
|
||||
"From Git Gui, go to the **Repository** menu, then click **Git Bash**. "
|
||||
"From the command line terminal type:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:208
|
||||
msgid ""
|
||||
"Several components will download to your machine at this point, including"
|
||||
" WebODM, NodeODM and ODM. After the download you should be greeted by the"
|
||||
" following screen:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:214
|
||||
msgid "*Console output after starting WebODM for the first time*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:216
|
||||
msgid ""
|
||||
"If you are using Docker for Windows, open a web browser to "
|
||||
"http://localhost:8000"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:217
|
||||
msgid ""
|
||||
"If you are using Docker Toolbox, find the IP address to connect to by "
|
||||
"typing:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:223
|
||||
msgid "You should get a result like the following:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:229
|
||||
msgid ""
|
||||
"Then connect to http://192.168.1.100:8000 (replacing the IP address with "
|
||||
"the proper one)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:232
|
||||
msgid "macOS"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:234
|
||||
msgid ""
|
||||
"Most modern (post 2010) Mac computers running macOS Sierra 10.12 or "
|
||||
"higher can run OpenDroneMap using docker, as long as hardware "
|
||||
"virtualization is supported (see below)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:239
|
||||
msgid "Open a Terminal window and type:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:245
|
||||
msgid "You will get a response similar to the following:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:251
|
||||
msgid ""
|
||||
"If the result is *kern.hv_support: 1*, then your Mac is supported! "
|
||||
"Continue with Step 2."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:253
|
||||
msgid ""
|
||||
"If the result is *kern.hv_support: 0*, unfortunately it means your Mac is"
|
||||
" too old to run OpenDroneMap. :("
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:258
|
||||
msgid "There are only two programs to install:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:260
|
||||
msgid "Docker: https://download.docker.com/mac/stable/Docker.dmg"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:261
|
||||
msgid "Git: https://sourceforge.net/projects/git-osx-installer/files/"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:263
|
||||
msgid ""
|
||||
"After installing docker you should find an icon that looks like a whale "
|
||||
"in the task bar."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:269
|
||||
msgid "*Docker app running*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:271
|
||||
msgid ""
|
||||
"You can verify that docker is running properly by opening the "
|
||||
"**Terminal** app and typing:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:277
|
||||
msgid "Which should return"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:283
|
||||
msgid "To verify that git is installed, simply type:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:289
|
||||
msgid "Which should return something similar to the following:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:295
|
||||
msgid ""
|
||||
"If you get a “bash: git: command not found”, try to restart your "
|
||||
"**Terminal** app and double-check for any errors during the install "
|
||||
"process."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:300
|
||||
msgid ""
|
||||
"Docker on macOS works by running a VM in the background (think of it as a"
|
||||
" “computer emulator”). This VM has a certain amount of memory allocated "
|
||||
"and WebODM can only use as much memory as it’s allocated."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:302
|
||||
msgid "Right click the whale icon from the task bar and click **Preferences**..."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:303
|
||||
msgid "Select the **Advanced** tab"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:304
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Adjust the CPUs slider to use half of all available CPUs and the memory "
|
||||
"to use 60-70% of all available memory"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:305
|
||||
msgid "Press **Apply & Restart**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:311
|
||||
msgid "*Docker advanced settings*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:314
|
||||
msgid "Step 4. Download and Launch WebODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:316
|
||||
msgid "From a **Terminal** type:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:324 ../../source/installation.rst:425
|
||||
msgid "Then open a web browser to http://localhost:8000."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:327
|
||||
msgid "Linux"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:329
|
||||
msgid ""
|
||||
"OpenDroneMap can run on any Linux distribution that supports docker. "
|
||||
"According to `docker’s documentation website "
|
||||
"<https://docs.docker.com/install/>`_ the officially supported "
|
||||
"distributions are CentOS, Debian, Ubuntu and Fedora, with static binaries"
|
||||
" available for others. If you have to pick a distribution solely for "
|
||||
"running OpenDroneMap, Ubuntu is the recommended way to go."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:332
|
||||
msgid "Step 1. Install Requirements"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:334
|
||||
msgid "There are four programs that need to be installed:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:336
|
||||
msgid "Docker"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:337
|
||||
msgid "Git"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:338
|
||||
msgid "Python (2 or 3)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:339
|
||||
msgid "Pip"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:341
|
||||
msgid ""
|
||||
"We cannot possibly cover the installation process for every Linux "
|
||||
"distribution out there, so we’ll limit the instructions to those that are"
|
||||
" distributions officially supported by docker. In all cases it’s just a "
|
||||
"matter of opening a terminal prompt and typing a few commands."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:344
|
||||
msgid "Install on Ubuntu / Debian"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:346 ../../source/installation.rst:358
|
||||
#: ../../source/installation.rst:369 ../../source/installation.rst:380
|
||||
msgid "Commands to type:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:356
|
||||
msgid "Install on CentOS / RHEL"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:367
|
||||
msgid "Install on Fedora"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:378
|
||||
msgid "Install on Arch"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:387
|
||||
msgid "Step 2. Check Additional Requirements"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:389
|
||||
msgid ""
|
||||
"In addition to the three programs above, the dockercompose script is also"
|
||||
" needed. Sometimes it’s already installed with docker, but sometimes it "
|
||||
"isn’t. To verify if it’s installed try to type:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:395
|
||||
msgid "You should see somethings similar to the following:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:401
|
||||
msgid "If instead you get something similar to the following:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:407
|
||||
msgid "you can install it by using pip:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:415
|
||||
msgid "Step 3. Download and Launch WebODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:417
|
||||
msgid "From a terminal type:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:428
|
||||
msgid "Basic Commands and Troubleshooting"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:430
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The cool thing about using docker is that 99% of the tasks you’ll ever "
|
||||
"need to perform while using WebODM can be done via the ./webodm.sh "
|
||||
"script. You have already encountered one of them:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:436
|
||||
msgid ""
|
||||
"which takes care of starting WebODM and setting up a default processing "
|
||||
"node (node-odm-1). If you want to stop WebODM, you can already guess what"
|
||||
" the command is:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:442
|
||||
msgid ""
|
||||
"There are several other commands you can use, along with different flags."
|
||||
" Flags are parameters passed to the ./webodm.sh command and are typically"
|
||||
" prefixed with “–”. The **port** flag for example instructs WebODM to use"
|
||||
" a different network port:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:448
|
||||
msgid "Other useful commands are listed below:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:467
|
||||
msgid ""
|
||||
"`The community forum <https://community.opendronemap.org>`_ is a great "
|
||||
"place to ask for help if you get stuck during any of the installation"
|
||||
" steps and for general questions on using the ./webodm.sh script."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:470
|
||||
msgid "Hello, WebODM!"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:472
|
||||
msgid ""
|
||||
"After running ./webodm.sh start and opening WebODM in the browser, you "
|
||||
"will be greeted with a welcome message and will be asked to create the "
|
||||
"first user. Take some time to familiarize yourself with the web interface"
|
||||
" and explore its various menus."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:478
|
||||
msgid "*WebODM Dashboard*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:480
|
||||
msgid ""
|
||||
"Notice that under the **Processing Nodes** menu there’s a \"node-odm-1\" "
|
||||
"node already configured for you to use. This is a NodeODM node and has "
|
||||
"been created automatically by WebODM. This node is running on the same "
|
||||
"machine as WebODM."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:482
|
||||
msgid ""
|
||||
"If you’ve made it this far, congratulations! Now it’s time to start "
|
||||
"processing some data."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:489
|
||||
msgid "Running on more than one machine"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:491
|
||||
msgid ""
|
||||
"**Optionally:** If you have another computer, you can repeat the "
|
||||
"installation process (install docker, git, python, etc.) and launch a new"
|
||||
" NodeODM node by typing from a Terminal/Git Bash window:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:497
|
||||
msgid ""
|
||||
"The above command asks docker to launch a new container using the "
|
||||
"opendronemap/nodeodm image from Docker Hub (the latest version of "
|
||||
"NodeODM), using port 3000, setting a maximum number of concurrent tasks "
|
||||
"to 1 and to protect the node from unauthorized access using the password "
|
||||
"\"secret\"."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:499
|
||||
msgid ""
|
||||
"From WebODM you can then press the **Add New** button under **Processing "
|
||||
"Nodes**. For the **hostname/IP** field type the IP of the second "
|
||||
"computer. For the **port** field type “3000”. For the **token** field "
|
||||
"type “secret”. You can also add an optional **label** for your node, such"
|
||||
" as “second computer”. Then press **Save**."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:501
|
||||
msgid ""
|
||||
"If everything went well, you should now have two processing nodes! You "
|
||||
"will be able to process multiple tasks in parallel using two different "
|
||||
"machines."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:503
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/installation.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,275 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/large.rst:4
|
||||
msgid "Splitting Large Datasets"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:6
|
||||
msgid ""
|
||||
"Starting with ODM version ``0.6.0`` you can split up very large datasets "
|
||||
"into manageable chunks (called submodels), running the pipeline on each "
|
||||
"chunk, and then producing merged DEMs, orthophotos and point clouds. The "
|
||||
"process is referred to as \"split-merge\"."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:8
|
||||
msgid ""
|
||||
"Why might you use the split-merge pipeline? If you have a very large "
|
||||
"number of images in your dataset, split-merge will help make the "
|
||||
"processing more manageable on a large machine (it will require less "
|
||||
"memory). If you have many machines all connected to the same network you "
|
||||
"can also process the submodels in parallel, thus allowing for horizontal "
|
||||
"scaling and processing thousands of images more quickly."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:10
|
||||
msgid ""
|
||||
"Split-merge works in WebODM out of the box as long as the processing "
|
||||
"nodes support split-merge, by enabling the ``--split`` option when "
|
||||
"creating a new task."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:13
|
||||
msgid "Calibrate images"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:15
|
||||
msgid ""
|
||||
"Image calibration is recommended (but not required) for large datasets "
|
||||
"because error propagation due to image distortion could cause a bowl "
|
||||
"effect on the models. Calibration instructions can be found at "
|
||||
"`Calibrate Images <tutorials.html#calibrating-the-camera>`_."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:21
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:24
|
||||
msgid "Local Split-Merge"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:26
|
||||
msgid ""
|
||||
"Splitting a dataset into more manageable submodels and sequentially "
|
||||
"processing all submodels on the same machine is easy! Just use "
|
||||
"``--split`` and ``--split-overlap`` to decide the the average number of "
|
||||
"images per submodels and the overlap (in meters) between submodels "
|
||||
"respectively"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:32
|
||||
msgid ""
|
||||
"If you already know how you want to split the dataset, you can provide "
|
||||
"that information and it will be used instead of the clustering algorithm."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:34
|
||||
msgid ""
|
||||
"The grouping can be provided by adding a file named image_groups.txt in "
|
||||
"the main dataset folder. The file should have one line per image. Each "
|
||||
"line should have two words: first the name of the image and second the "
|
||||
"name of the group it belongs to. For example::"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:42
|
||||
msgid ""
|
||||
"will create 3 submodels. Make sure to pass ``--split-overlap 0`` if you "
|
||||
"manually provide a ``image_groups.txt`` file."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:46
|
||||
msgid "Distributed Split-Merge"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:48
|
||||
msgid ""
|
||||
"ODM can also automatically distribute the processing of each submodel to "
|
||||
"multiple machines via `NodeODM "
|
||||
"<https://github.com/OpenDroneMap/NodeODM>`_ nodes, orchestrated via "
|
||||
"`ClusterODM <https://github.com/OpenDroneMap/ClusterODM>`_."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:55
|
||||
msgid "Getting Started with Distributed Split-Merge"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:57
|
||||
msgid "The first step is start ClusterODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:63
|
||||
msgid ""
|
||||
"Then on each machine you want to use for processing, launch a NodeODM "
|
||||
"instance via"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:69
|
||||
msgid ""
|
||||
"Connect via telnet to ClusterODM and add the IP addresses/port of the "
|
||||
"machines running NodeODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:84
|
||||
msgid "Make sure you are running version ``1.5.1`` or higher of the NodeODM API."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:86
|
||||
msgid ""
|
||||
"At this point, simply use the ``--sm-cluster`` option to enable "
|
||||
"distributed split-merge"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:93
|
||||
msgid "Understanding the Cluster"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:95
|
||||
msgid ""
|
||||
"When connected via telnet, it is possible to interrogate what is "
|
||||
"happening on the cluster. For example, we can use the command HELP to "
|
||||
"find out available commands"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:118
|
||||
msgid ""
|
||||
"If, for example, the NodeODM instance wasn't active when ClusterODM "
|
||||
"started, we might list nodes and see something as follows"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:125
|
||||
msgid ""
|
||||
"To address this, we can start up our local node (if not already started),"
|
||||
" and then perform a ``NODE UPDATE``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:135
|
||||
msgid "Accessing the Logs"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:137
|
||||
msgid ""
|
||||
"While a process is running, it is also possible to list the tasks, and "
|
||||
"view the task output"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:145
|
||||
msgid "Autoscaling ClusterODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:147
|
||||
msgid ""
|
||||
"ClusterODM also includes the option to autoscale on multiple platforms, "
|
||||
"including, to date, Amazon and Digital Ocean. This allows users to reduce"
|
||||
" costs associated with always-on instances as well as being able to scale"
|
||||
" processing based on demand."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:149
|
||||
msgid "To setup autoscaling you must:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:151
|
||||
msgid "Have a functioning version of NodeJS installed and then install ClusterODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:159
|
||||
msgid "Make sure docker-machine is installed."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:160
|
||||
msgid "Setup a S3-compatible bucket for storing results."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:161
|
||||
msgid ""
|
||||
"Create a configuration file for `DigitalOcean "
|
||||
"<https://github.com/OpenDroneMap/ClusterODM/blob/master/docs/digitalocean.md>`_"
|
||||
" or `Amazon Web Services "
|
||||
"<https://github.com/OpenDroneMap/ClusterODM/blob/master/docs/aws.md>`_."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:163
|
||||
msgid "You can then launch ClusterODM with"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:169
|
||||
msgid "You should see something similar to following messages in the console"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:177
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You should always have at least one static NodeODM node attached to "
|
||||
"ClusterODM, even if you plan to use the autoscaler for all processing. If"
|
||||
" you setup auto scaling, you can't have zero nodes and rely 100% on the "
|
||||
"autoscaler. You need to attach a NodeODM node to act as the \"reference "
|
||||
"node\" otherwise ClusterODM will not know how to handle certain requests "
|
||||
"(for the forwarding the UI, for validating options prior to spinning up "
|
||||
"an instance, etc.). For this purpose, you should add a \"dummy\" NodeODM "
|
||||
"node and lock it"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:187
|
||||
msgid "This way all tasks will be automatically forwarded to the autoscaler."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:190
|
||||
msgid "Limitations"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:192
|
||||
msgid ""
|
||||
"The 3D textured meshes are currently not being merged as part of the "
|
||||
"workflow (only point clouds, DEMs and orthophotos are)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:194
|
||||
msgid ""
|
||||
"GCPs are fully supported, however, there needs to be at least 3 GCP "
|
||||
"points on each submodel for the georeferencing to take place. If a "
|
||||
"submodel has fewer than 3 GCPs, a combination of the remaining GCPs + "
|
||||
"EXIF data will be used instead (which is going to be less accurate). We "
|
||||
"recommend using the ``image_groups.txt`` file to accurately control the "
|
||||
"submodel split when using GCPs."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:197
|
||||
msgid "Acknowledgments"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:198
|
||||
msgid ""
|
||||
"Huge props to Pau and the folks at Mapillary for their amazing "
|
||||
"contributions to OpenDroneMap through their OpenSfM code, which is a key "
|
||||
"component of the split-merge pipeline. We look forward to further pushing"
|
||||
" the limits of OpenDroneMap and seeing how big a dataset we can process."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:200
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/large.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,135 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/outputs.rst:2
|
||||
msgid "OpenDroneMap Outputs"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:4
|
||||
msgid "Listed below are some of the useful outputs ODM produces."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:7
|
||||
msgid "Point Cloud"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:9
|
||||
msgid ""
|
||||
"``odm_georeferencing/odm_georeferenced_model.ply/laz/csv`` -- The "
|
||||
"georeferenced point cloud in different file formats"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:15
|
||||
msgid ""
|
||||
"*Point cloud over State University Zanzibar, courtesy of* `Khadija "
|
||||
"Abdullah Ali <https://www.linkedin.com/in/khadija-abdulla-ali-"
|
||||
"56b4044a/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:19
|
||||
msgid "3D Textured Model"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:21
|
||||
msgid ""
|
||||
"``odm_texturing/odm_textured_model.obj`` -- The textured surface mesh "
|
||||
"``odm_texturing/odm_textured_model_geo.obj`` -- The georeferenced and "
|
||||
"textured surface mesh"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:24
|
||||
msgid ""
|
||||
"You can access the point cloud and textured meshes using MeshLab. Open "
|
||||
"MeshLab, and choose File:Import Mesh and choose your textured mesh from a"
|
||||
" location similar to the following: "
|
||||
"``odm_texturing\\odm_textured_model.obj``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:30
|
||||
msgid ""
|
||||
"*Textured mesh over State University Zanzibar, courtesy of* `Khadija "
|
||||
"Abdullah Ali <https://www.linkedin.com/in/khadija-abdulla-ali-"
|
||||
"56b4044a/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:33
|
||||
msgid "Orthophoto"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:35
|
||||
msgid ""
|
||||
"``odm_orthophoto/odm_orthphoto.png`` -- The orthophoto, but this is a "
|
||||
"simple png, which doesn't have any georeferencing information"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:37
|
||||
msgid ""
|
||||
"``odm_orthophoto/odm_orthphoto.tif`` -- GeoTIFF Orthophoto. You can use "
|
||||
"it in QGIS as a raster layer."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:43
|
||||
msgid ""
|
||||
"*Orthophoto over State University Zanzibar, courtesy of* `Khadija "
|
||||
"Abdullah Ali <https://www.linkedin.com/in/khadija-abdulla-ali-"
|
||||
"56b4044a/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:46
|
||||
msgid "DTM/DSM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:48
|
||||
msgid ""
|
||||
"DTM/DSM will only be created if the ``--dtm`` or ``--dsm`` options are "
|
||||
"used. See `tutorial on elevation models "
|
||||
"<https://docs.opendronemap.org/tutorials.html#creating-digital-elevation-"
|
||||
"models>`_ for more options in creating."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:50
|
||||
msgid "Data will be stored in:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:52
|
||||
msgid "``odm_dem/dtm.tif``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:53
|
||||
msgid "``odm_dem/dsm.tif``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:59
|
||||
msgid ""
|
||||
"*Digital surface model over State University Zanzibar, courtesy of* "
|
||||
"`Khadija Abdullah Ali <https://www.linkedin.com/in/khadija-abdulla-ali-"
|
||||
"56b4044a/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:62
|
||||
msgid "List of all outputs"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:109
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/outputs.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,95 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/resources.rst:2
|
||||
msgid "Additional References"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:5
|
||||
msgid "For Users"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:7
|
||||
msgid "The following resources are a good place to start:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:9
|
||||
msgid "`README page for ODM <https://github.com/OpenDroneMap/OpenDroneMap>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:10
|
||||
msgid "`README page for WebODM <https://github.com/OpenDroneMap/WebODM>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:11
|
||||
msgid ""
|
||||
"`README page for NodeODM <https://github.com/OpenDroneMap/node-"
|
||||
"OpenDroneMap>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:12
|
||||
msgid ""
|
||||
"`Ground Control Points Format Specification "
|
||||
"<https://github.com/mapillary/OpenSfM/blob/master/doc/source/gcp.rst>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:13
|
||||
msgid "`OpenDroneMap: The Missing Guide <https://odmbook.com/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:16
|
||||
msgid "For Developers"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:18
|
||||
msgid "In addition to user resources, we recommend to also read the following:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:20
|
||||
msgid "WebODM documentation: https://docs.webodm.org"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:21
|
||||
msgid ""
|
||||
"NodeODM API specification: "
|
||||
"https://github.com/OpenDroneMap/NodeODM/blob/master/docs/index.adoc"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:22
|
||||
msgid ""
|
||||
"Overview of the ODM pipeline: http://community.opendronemap.org/t/where-"
|
||||
"can-i-find-background-information-on-the-concepts-of-odm/665/2"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:23
|
||||
msgid ""
|
||||
"We keep a `section in our forum dedicated to research papers "
|
||||
"<http://community.opendronemap.org/c/ideas-proposals/research-papers>`_. "
|
||||
"This is a valuable place where to read more about state of the art "
|
||||
"research related to structure from motion, multi-view stereo, meshing, "
|
||||
"texturing, etc. which can be used to improve the software."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:26
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/api.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,440 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/tutorials.rst:4
|
||||
msgid "Tutorials"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:6
|
||||
msgid "Below you will find instructions for some common use cases."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:9
|
||||
msgid "Creating High Quality Orthophotos"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:15
|
||||
msgid ""
|
||||
"Without any parameter tweaks, ODM chooses a good compromise between "
|
||||
"quality, speed and memory usage. If you want to get higher quality "
|
||||
"results, you need to tweak some parameters:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:17
|
||||
msgid ""
|
||||
"``--orthophoto-resolution`` is the resolution of the orthophoto in "
|
||||
"cm/pixel. Decrease this value for a higher resolution result."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:18
|
||||
msgid ""
|
||||
"``--ignore-gsd`` 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 will produce sharper results."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:19
|
||||
msgid ""
|
||||
"``--texturing-nadir-weight`` should be increased to ``29-32`` in urban "
|
||||
"areas to reconstruct better edges of roofs. It should be decreased to "
|
||||
"``0-6`` in grassy / flat areas."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:20
|
||||
msgid "``--texturing-data-term`` should be set to `area` in forest areas."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:21
|
||||
msgid ""
|
||||
"``--mesh-size`` should be increased to `300000-600000` and `--mesh-"
|
||||
"octree-depth`` should be increased to `10-11` in urban areas to recreate "
|
||||
"better buildings / roofs."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:24
|
||||
msgid "Calibrating the Camera"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:26
|
||||
msgid ""
|
||||
"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 `Mitigating systematic error in topographic models derived from "
|
||||
"UAV and ground‐based image networks "
|
||||
"<https://onlinelibrary.wiley.com/doi/full/10.1002/esp.3609>`_ address how"
|
||||
" to minimize the distortion from self-calibration."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:32
|
||||
msgid ""
|
||||
"*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.*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:34
|
||||
msgid ""
|
||||
"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°."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:42
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:44
|
||||
msgid ""
|
||||
"Alternatively, the following experimental method can be applied: fly with"
|
||||
" much lower overlap, but two *crossgrid* flights (sometimes called "
|
||||
"crosshatch) separated by 20° with a 5° forward facing camera."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:46
|
||||
#, python-format
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:47
|
||||
#, python-format
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:53
|
||||
msgid ""
|
||||
"Vertically separated flight lines also improve accuracy, but less so than"
|
||||
" a camera that is forward facing by 5°."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:59
|
||||
msgid ""
|
||||
"From James and Robson (2014), `CC BY 4.0 "
|
||||
"<https://creativecommons.org/licenses/by/4.0>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:62
|
||||
msgid "Creating Digital Elevation Models"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:64
|
||||
msgid ""
|
||||
"By default ODM does not create DEMs. To create a digital terrain model, "
|
||||
"make sure to pass the ``--dtm`` flag. To create a digital surface model, "
|
||||
"be sure to pass the ``--dsm`` flag."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:70
|
||||
msgid ""
|
||||
"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 ``smrf`` filter can be controlled via several parameters:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:72
|
||||
msgid ""
|
||||
"``--smrf-scalar`` scaling value. Increase this parameter for terrains "
|
||||
"with lots of height variation."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:73
|
||||
msgid ""
|
||||
"``--smrf-slope`` 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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:74
|
||||
msgid ""
|
||||
"``--smrf-threshold`` elevation threshold. Set this parameter to the "
|
||||
"minimum height (in meters) that you expect non-ground objects to be."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:75
|
||||
msgid ""
|
||||
"``--smrf-window`` 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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:77
|
||||
msgid ""
|
||||
"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 `An improved simple morphological filter for "
|
||||
"the terrain classification of airborne LIDAR data "
|
||||
"<https://www.researchgate.net/publication/258333806_An_Improved_Simple_Morphological_Filter_for_the_Terrain_Classification_of_Airborne_LIDAR_Data>`_"
|
||||
" (PDF freely available)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:79
|
||||
msgid "Overall the ``--smrf-threshold`` option has the biggest impact on results."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:81
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:87
|
||||
msgid "Two other important parameters affect DEM generation:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:89
|
||||
msgid ""
|
||||
"``--dem-resolution`` which sets the output resolution of the DEM raster "
|
||||
"(cm/pixel)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:90
|
||||
msgid ""
|
||||
"``--dem-gapfill-steps`` which determines the number of progressive DEM "
|
||||
"layers to use. For urban scenes increasing this value to `4-5` can help "
|
||||
"produce better interpolation results in the areas that are left empty by "
|
||||
"the SMRF filter."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:92
|
||||
msgid "Example of how to generate a DTM::"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:99
|
||||
msgid "Ground Control Points"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:101
|
||||
msgid ""
|
||||
"Ground control points are useful for correcting distortions in the data "
|
||||
"and referencing the data to know coordinate systems."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:103
|
||||
msgid "The format of the GCP file is simple."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:105
|
||||
msgid ""
|
||||
"The header line is a description of a UTM coordinate system, which must "
|
||||
"be written as a proj4 string. http://spatialreference.org/ is a good "
|
||||
"resource for finding that information. Please note that currently angular"
|
||||
" coordinates (like lat/lon) DO NOT work."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:106
|
||||
msgid ""
|
||||
"Subsequent lines are the X, Y & Z coordinates, your associated pixels and"
|
||||
" the image filename:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:108
|
||||
msgid "GCP file format::"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:114
|
||||
msgid "e.g. for the Langley dataset::"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:121
|
||||
msgid ""
|
||||
"If you supply a GCP file called gcp_list.txt then ODM will automatically "
|
||||
"detect it. If it has another name you can specify using ``--gcp <path>``."
|
||||
" If you have a gcp file and want to do georeferencing with exif instead, "
|
||||
"then you can specify ``--use-exif``."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:123
|
||||
msgid ""
|
||||
"`This post has some information about placing Ground Control Targets "
|
||||
"before a flight <http://diydrones.com/profiles/blogs/ground-control-"
|
||||
"points-gcps-for-aerial-photography>`_, but if you already have images, "
|
||||
"you can find your own points in the images post facto. It's important "
|
||||
"that you find high-contrast objects that are found in **at least** 3 "
|
||||
"photos, and that you find a minimum of 5 objects."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:125
|
||||
msgid ""
|
||||
"Sharp corners are good picks for GCPs. You should also place/find the "
|
||||
"GCPs evenly around your survey area."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:127
|
||||
msgid ""
|
||||
"The ``gcp_list.txt`` file must be created in the base of your project "
|
||||
"folder."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:129
|
||||
msgid ""
|
||||
"For good results your file should have a minimum of 15 lines after the "
|
||||
"header (5 points with 3 images to each point)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:132
|
||||
msgid "Ground Control Points Interface"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:134
|
||||
msgid ""
|
||||
"WebODM has a GCP interface, and example of which can be seen on `the "
|
||||
"WebODM Demo <http://demo.webodm.org/plugins/posm-gcpi/>`_. To use this "
|
||||
"with known ground control XYZ values, one would do the following:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:136
|
||||
msgid ""
|
||||
"Create a GCP list that only includes gcp name (this is the label that "
|
||||
"will be seen in the GCP interface), x, y, and z, with a header with a "
|
||||
"proj4 string of your GCPs (make sure they are in a planar coordinate "
|
||||
"system, such as UTM. It should look something like this:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:147
|
||||
msgid ""
|
||||
"Then one can load this GCP list into the interface, load the images, and "
|
||||
"place each of the GCPs in the image."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:149
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/using.rst>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:152
|
||||
msgid "Using Docker"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:154
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:156
|
||||
msgid "A few simple commands can make our docker experience much better."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:159
|
||||
msgid "Listing Docker Machines"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:161
|
||||
msgid ""
|
||||
"We can start by listing available docker machines on the current machine "
|
||||
"we are running as follows:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:170
|
||||
msgid ""
|
||||
"If we want to see machines that may not be running but still exist, we "
|
||||
"can add the `-a` flag:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:183
|
||||
msgid "Accessing logs on the instance"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:185
|
||||
msgid ""
|
||||
"Using either the `CONTAINER ID` or the name, we can access any logs "
|
||||
"available on the machine as follows:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:191
|
||||
msgid ""
|
||||
"This is likely to be unwieldy large, but we can use a pipe `|` character "
|
||||
"and other tools to extract just what we need from the logs. For example "
|
||||
"we can move through the log slowly using the `more` command:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:207
|
||||
msgid ""
|
||||
"Pressing `Enter` or `Space`, arrow keys or `Page Up` or `Page Down` keys "
|
||||
"will now help us navigate through the logs. The lower case letter `Q` "
|
||||
"will let us escape back to the command line."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:209
|
||||
msgid ""
|
||||
"We can also extract just the end of the logs using the `tail` commmand as"
|
||||
" follows:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:220
|
||||
msgid ""
|
||||
"The value `-5` tells the tail command to give us just the last 5 lines of"
|
||||
" the logs."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:223
|
||||
msgid "Command line access to instances"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:225
|
||||
msgid ""
|
||||
"Sometimes we need to go a little deeper in our exploration of the process"
|
||||
" for OpenDroneMap. For this, we can get direct command line access to the"
|
||||
" machines. For this, we can use `docker exec` to execute a `bash` command"
|
||||
" line shell in the machine of interest as follows:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:232
|
||||
msgid "Now we are logged into our docker instance and can explore the machine."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:235
|
||||
msgid "Cleaning up after Docker"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:237
|
||||
msgid ""
|
||||
"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 `excellent overview of how to manage excess disk "
|
||||
"usage in docker <https://lebkowski.name/docker-volumes/>`_."
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/arguments.rst:4
|
||||
msgid "Options and Flags"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/arguments.rst:6
|
||||
msgid "Arguments::"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/arguments.rst:289
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/using.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,193 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/contributing.rst:4
|
||||
msgid "How to contribute"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:6
|
||||
msgid ""
|
||||
"OpenDroneMap relies on community contributions. You can contribute in "
|
||||
"many ways, even if you are not a programmer."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:9
|
||||
msgid "Community Forum"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:11
|
||||
msgid ""
|
||||
"If you are looking to get involved, are stuck on a problem, or want to "
|
||||
"reach out, `the forum <https://community.opendronemap.org/>`_ is a great "
|
||||
"place to start. You may find your questions already answered or else you "
|
||||
"can find other useful tips and resources. You can also contribute your "
|
||||
"open access datasets for others to explore. It is a good place go before "
|
||||
"submitting bug reports or getting in touch with developers before writing"
|
||||
" a new feature."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:14
|
||||
msgid "Reporting Bugs"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:16
|
||||
msgid ""
|
||||
"Bugs are tracked as Github issues. Please create an issue in the "
|
||||
"repository and tag it with the Bug tag."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:18
|
||||
msgid ""
|
||||
"Explain the problem and include additional details to help maintainers "
|
||||
"reproduce the problem:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:20
|
||||
msgid ""
|
||||
"**Use a clear and descriptive title** for the issue to identify the "
|
||||
"problem."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:21
|
||||
msgid ""
|
||||
"**Describe the exact steps which reproduce the problem** in as many "
|
||||
"details as possible. For example, start by explaining how you run ODM "
|
||||
"(Docker, Vagrant, etc), e.g. which command exactly you used in the "
|
||||
"terminal. When listing steps, **don't just say what you did, but explain "
|
||||
"how you did it.**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:22
|
||||
msgid ""
|
||||
"**Provide specific examples to demonstrate the steps.** Include links to "
|
||||
"files or GitHub projects, or copy/pasteable snippets, which you use in "
|
||||
"those examples. If you're providing snippets in the issue, use `Markdown "
|
||||
"code blocks <https://help.github.com/articles/markdown-basics/#multiple-"
|
||||
"lines>`_."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:23
|
||||
msgid ""
|
||||
"**Describe the behavior you observed after following the steps** and "
|
||||
"point out what exactly is the problem with that behavior."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:24
|
||||
msgid "**Explain which behavior you expected to see instead and why.**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:25
|
||||
msgid ""
|
||||
"**Include screenshots and animated GIFs** which show you following the "
|
||||
"described steps and clearly demonstrate the problem. You can use `this "
|
||||
"tool to record GIFs on macOS and Windows "
|
||||
"<http://www.cockos.com/licecap/>`_, and `this tool "
|
||||
"<https://github.com/colinkeenan/silentcast>`_ or `this one "
|
||||
"<https://github.com/GNOME/byzanz>`_ on Linux."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:26
|
||||
msgid ""
|
||||
"**If the problem is related to performance,** please post your machine's "
|
||||
"specs (host and guest machine)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:27
|
||||
msgid ""
|
||||
"**If the problem wasn't triggered by a specific action,** describe what "
|
||||
"you were doing before the problem happened and share more information "
|
||||
"using the guidelines below."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:29
|
||||
msgid "Include details about your configuration and environment:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:31
|
||||
msgid ""
|
||||
"**Which version of ODM are you using?** A stable release? a clone of "
|
||||
"master?"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:32
|
||||
msgid "**What's the name and version of the OS you're using?**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:33
|
||||
msgid ""
|
||||
"**Are you running ODM in a virtual machine or Docker?** If so, which VM "
|
||||
"software are you using and which operating systems and versions are used "
|
||||
"for the host and the guest?"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:36
|
||||
msgid "Template For Submitting Bug Reports"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:69
|
||||
msgid "Pull Requests"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:71
|
||||
msgid ""
|
||||
"Include screenshots and animated GIFs in your pull request whenever "
|
||||
"possible."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:72
|
||||
msgid "Follow the PEP8 Python Style Guide."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:73
|
||||
msgid "End files with a newline."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:76
|
||||
msgid "Avoid platform-dependent code:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:75
|
||||
msgid "Use require('fs-plus').getHomeDirectory() to get the home directory."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:76
|
||||
msgid "Use path.join() to concatenate filenames."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:77
|
||||
msgid ""
|
||||
"Use os.tmpdir() rather than /tmp when you need to reference the temporary"
|
||||
" directory."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:79
|
||||
msgid "Using a plain return when returning explicitly at the end of a function."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:79
|
||||
msgid "Not return null, return undefined, null, or undefined"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:81
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/contributing.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,75 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/flying.rst:2
|
||||
msgid "Flying tips"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:4
|
||||
msgid ""
|
||||
"The `Humanitarian OpenStreetMap team <https://www.hotosm.org/>`_ has "
|
||||
"guidelines on `flying for UAV mapping <https://uav-"
|
||||
"guidelines.openaerialmap.org/>`_:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:6
|
||||
msgid ""
|
||||
"`Choosing the right UAV <https://uav-"
|
||||
"guidelines.openaerialmap.org/pages/05-choosing-the-right-uav/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:8
|
||||
msgid ""
|
||||
"`Choosing the right sensor <https://uav-"
|
||||
"guidelines.openaerialmap.org/pages/06-choosing-the-sensor/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:10
|
||||
msgid ""
|
||||
"`Mission preparation <https://uav-guidelines.openaerialmap.org/pages/07"
|
||||
"-preparing-for-the-uav-mission/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:12
|
||||
msgid ""
|
||||
"The guidelines are intended for drone mapping projects on islands, but "
|
||||
"have general use for all drone mappers."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:14
|
||||
msgid ""
|
||||
"See also DroneDeploy's guide on `Making Successful Maps "
|
||||
"<https://support.dronedeploy.com/docs/making-successful-maps>`_, which "
|
||||
"provides great tips on mission planning."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:16
|
||||
msgid ""
|
||||
"Finally, lens distortion is a challenge in projects requiring accurate 3D"
|
||||
" data. See our section in these docs on `Camera Calibration "
|
||||
"<tutorials.html#calibrating-the-camera>`_."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:18
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/flying.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/index.rst:8
|
||||
msgid "Welcome to OpenDroneMap's documentation"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/index.rst:40
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/index.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,778 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/installation.rst:4
|
||||
msgid "Installation and Getting Started"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:6
|
||||
msgid ""
|
||||
"This section is excerpted and modified with permission from "
|
||||
"`OpenDroneMap: The Missing Guide <https://odmbook.com>`_, by Piero "
|
||||
"Toffanin."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:8
|
||||
msgid ""
|
||||
"Until recently OpenDroneMap was the term used to refer to a single "
|
||||
"command line application (what is now known as the ODM project). With "
|
||||
"the recent development of a web interface, an API and other tools, "
|
||||
"OpenDroneMap has become an ecosystem of various applications to process, "
|
||||
"analyze and display aerial data. This ecosystem is made of several "
|
||||
"components:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:14
|
||||
msgid ""
|
||||
"**ODM** is the processing engine, which can be used from the command "
|
||||
"line. It takes images as input and produces a variety of outputs, "
|
||||
"including point clouds, 3D models and orthophotos"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:20
|
||||
msgid ""
|
||||
"**NodeODM** is a light-weight API built on top of ODM. It allows users "
|
||||
"and applications to access the functions of ODM over a computer network"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:26
|
||||
msgid ""
|
||||
"**WebODM** is a friendly user interface that includes a map viewer, a 3D "
|
||||
"viewer, user logins, a plugin system and many other features that are "
|
||||
"expected of modern drone mapping platforms"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:32
|
||||
msgid ""
|
||||
"**CloudODM** is a small command line client to communicate with ODM via "
|
||||
"the NodeODM API"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:38
|
||||
msgid ""
|
||||
"**PyODM** is a Python SDK for creating tasks via the NodeODM API. We "
|
||||
"cover it in more detail in the “Automated Processing With Python” chapter"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:44
|
||||
msgid ""
|
||||
"**ClusterODM** is a load balancer for connecting together multiple "
|
||||
"NodeODM instances"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:46
|
||||
msgid ""
|
||||
"ODM, NodeODM and WebODM are available on all major platforms (Windows, "
|
||||
"macOS and Linux) via a program called docker, which is required to run "
|
||||
"the software. Docker offers a way to run “containers”. Containers are "
|
||||
"packaged copies of an entire system, its software and its dependencies. "
|
||||
"These containers run within a virtual environment. On Linux this virtual "
|
||||
"environment is available from the operating system and is very efficient."
|
||||
" On macOS and Windows the containers run within a VM, so there’s a bit of"
|
||||
" a overhead. but it’s still very suitable for running the software. Once "
|
||||
"installed users do not have to worry much about docker, as it operates "
|
||||
"(almost) transparently."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:48
|
||||
msgid ""
|
||||
"Without docker it would not be possible to run ODM on Windows or macOS. "
|
||||
"On these platforms ODM cannot run natively. Future development efforts "
|
||||
"are being focused on leveraging the new Windows Subsystem for Linux (WSL)"
|
||||
" and the possibility to make a native port of all dependencies to macOS, "
|
||||
"which is going to make the installation much easier."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:50
|
||||
msgid ""
|
||||
"On Ubuntu Linux 16.04 it’s feasible to run all OpenDroneMap software "
|
||||
"natively. However, because there’s very little performance penalty for "
|
||||
"running docker on Linux and docker is straightforward to setup on this "
|
||||
"platform, we don’t recommend it. On Linux the advantages of "
|
||||
"containerization far outweigh a tiny performance penalty. With docker "
|
||||
"users also get easy one-step updates of the software, so that’s nice."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:54
|
||||
msgid "Hardware Recommendations"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:56
|
||||
msgid "The bare minimum requirements for running the software are:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:59
|
||||
msgid "64bit CPU manufactured on or after 2010"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:60
|
||||
msgid "20 GB of disk space"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:61
|
||||
msgid "4 GB RAM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:63
|
||||
msgid ""
|
||||
"No more than 100-200 images can be processed with the above "
|
||||
"specifications (the software will run out of memory). Recommended "
|
||||
"requirements are:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:65
|
||||
msgid "Latest Generation CPU"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:66
|
||||
msgid "100 GB of disk space"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:67
|
||||
msgid "16 GB RAM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:69
|
||||
msgid ""
|
||||
"The above will allow for a few hundred images to be processed without too"
|
||||
" many issues. A CPU with more cores will allow for faster processing, "
|
||||
"while a graphics card (GPU) currently has no impact on performance. For "
|
||||
"processing more images, add more disk space and RAM linearly to the "
|
||||
"number of images you need to process."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:75
|
||||
msgid "Installation"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:77
|
||||
msgid ""
|
||||
"We recommend people use `docker <https://www.docker.com>`_ for running "
|
||||
"ODM, whether you are on Windows, macOS or Linux."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:80
|
||||
msgid "Windows"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:82
|
||||
msgid ""
|
||||
"To run OpenDroneMap you need at least Windows 7. Previous versions of "
|
||||
"Windows are not supported."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:86 ../../source/installation.rst:237
|
||||
msgid "Step 1. Check Virtualization Support"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:88
|
||||
msgid ""
|
||||
"Docker requires a feature from your CPU called virtualization, which "
|
||||
"allows it to run virtual machines (VMs). Make sure you have it enabled! "
|
||||
"Sometimes this is disabled. To check, on Windows 8 or higher you can open"
|
||||
" the **Task Manager** (press CTRL+SHIFT+ESC) and switch to the "
|
||||
"**Performance** tab."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:94
|
||||
msgid "*Virtualization should be enabled*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:96
|
||||
msgid ""
|
||||
"On Windows 7 to see if you have virtualization enabled you can use the "
|
||||
"`Microsoft® Hardware-Assisted Virtualization Detection Tool <http:// "
|
||||
"www.microsoft.com/en-us/download/details.aspx?id=592>`_ instead."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:99
|
||||
msgid ""
|
||||
"If virtualization is disabled, you’ll need to enable it. The procedure "
|
||||
"unfortunately is a bit different for each computer model, so the best way"
|
||||
" to do this is to look up on a search engine “how to enable vtx for <type"
|
||||
" your computer model here>”. Often times it’s a matter of restarting the "
|
||||
"computer, immediately pressing F2 or F12 during startup, navigating the "
|
||||
"boot menu and changing the settings to enable virtualization (often "
|
||||
"called “VT-X”)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:105
|
||||
msgid ""
|
||||
"*Common keys to press at computer startup to access the boot menu for "
|
||||
"various PC vendors*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:108 ../../source/installation.rst:256
|
||||
msgid "Step 2. Install Requirements"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:110
|
||||
msgid "First, you’ll need to install:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:112
|
||||
msgid "Git: https://git-scm.com/downloads"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:113
|
||||
msgid "Python (latest version 3): https://www.python.org/downloads/windows/"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:115
|
||||
msgid ""
|
||||
"For Python 3, make sure you check **Add Python 3.x to PATH** during the "
|
||||
"installation."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:121
|
||||
msgid ""
|
||||
"*Don’t forget to add the Python executable to your PATH (so that you can "
|
||||
"run commands with it)*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:123
|
||||
msgid ""
|
||||
"Then, only if you are on Windows 10 Home, Windows 8 (any version) or "
|
||||
"Windows 7 (any version), install:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:125
|
||||
msgid ""
|
||||
"Docker Toolbox: "
|
||||
"https://github.com/docker/toolbox/releases/download/v18.09.3/DockerToolbox-18.09.3.exe"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:127
|
||||
msgid ""
|
||||
"If you are on Windows 10 Professional or a newer version, you should "
|
||||
"install instead:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:129
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Docker for Windows: "
|
||||
"https://download.docker.com/win/stable/Docker%20for%20Windows%20Installer.exe"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:131
|
||||
msgid ""
|
||||
"Please do **NOT** install both docker programs. They are different and "
|
||||
"will create a mess if they are both installed."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:133
|
||||
msgid ""
|
||||
"After installing docker, launch it from the Desktop icon that is created "
|
||||
"from the installation (**Docker Quickstart** in the case of Docker "
|
||||
"Toolbox, **Docker for Windows** for Docker for Windows). This is "
|
||||
"important, do not skip this step. If there are errors, follow the prompts"
|
||||
" on screen to fix them."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:136 ../../source/installation.rst:298
|
||||
msgid "Step 3. Check Memory and CPU Allocation"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:138
|
||||
msgid ""
|
||||
"Docker on Windows works by running a VM in the background (think of a VM "
|
||||
"as a “computer emulator”). This VM has a certain amount of memory "
|
||||
"allocated and WebODM can only use as much memory as it’s allocated."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:140
|
||||
msgid ""
|
||||
"If you installed Docker Toolbox (see below if you installed Docker for "
|
||||
"Windows instead):"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:142
|
||||
msgid "Open the **VirtualBox Manager** application"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:143
|
||||
msgid ""
|
||||
"Right click the **default** VM and press **Close (ACPI Shutdown)** to "
|
||||
"stop the machine"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:144
|
||||
msgid "Right click the **default** VM and press **Settings...**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:145
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Move the **Base Memory** slider from the **System** paneland allocate "
|
||||
"60-70% of all available memory, optionally adding 50% of the available "
|
||||
"processors from the **Processor** tab also"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:151
|
||||
msgid "*VirtualBox default VM settings*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:153
|
||||
msgid "Then press **OK**, right click the **default** VM and press **Start**."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:155
|
||||
msgid "If you installed Docker for Windows instead:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:157
|
||||
msgid "Look in the system tray and right click the “white whale” icon."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:158
|
||||
msgid "From the menu, press **Settings...**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:159
|
||||
#, python-format
|
||||
msgid ""
|
||||
"From the panel, click **Advanced** and use the sliders to allocate 60-70%"
|
||||
" of available memory and use half of all available CPUs."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:160
|
||||
msgid "Press **Apply**."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:166
|
||||
msgid "*Step 1 Docker icon*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:172
|
||||
msgid "*Step 3 & 4 Docker settings*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:175
|
||||
msgid "Step 4. Download WebODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:177
|
||||
msgid "Open the **Git Gui** program that comes installed with Git. From there:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:179
|
||||
msgid "In **Source Location** type: https://github.com/Open-DroneMap/WebODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:180
|
||||
msgid ""
|
||||
"In **Target Directory** click browse and navigate to a folder of your "
|
||||
"choosing (create one if necessary)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:181
|
||||
msgid "Press **Clone**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:187
|
||||
msgid "*Git Gui*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:189
|
||||
msgid "If the download succeeded, you should now see this window:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:195
|
||||
msgid "*Git Gui after successful download (clone)*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:197
|
||||
msgid ""
|
||||
"Go to the **Repository** menu, then click **Create Desktop Icon**. This "
|
||||
"will allow you to come back to this application easily in the future."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:200
|
||||
msgid "Step 4. Launch WebODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:202
|
||||
msgid ""
|
||||
"From Git Gui, go to the **Repository** menu, then click **Git Bash**. "
|
||||
"From the command line terminal type:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:208
|
||||
msgid ""
|
||||
"Several components will download to your machine at this point, including"
|
||||
" WebODM, NodeODM and ODM. After the download you should be greeted by the"
|
||||
" following screen:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:214
|
||||
msgid "*Console output after starting WebODM for the first time*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:216
|
||||
msgid ""
|
||||
"If you are using Docker for Windows, open a web browser to "
|
||||
"http://localhost:8000"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:217
|
||||
msgid ""
|
||||
"If you are using Docker Toolbox, find the IP address to connect to by "
|
||||
"typing:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:223
|
||||
msgid "You should get a result like the following:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:229
|
||||
msgid ""
|
||||
"Then connect to http://192.168.1.100:8000 (replacing the IP address with "
|
||||
"the proper one)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:232
|
||||
msgid "macOS"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:234
|
||||
msgid ""
|
||||
"Most modern (post 2010) Mac computers running macOS Sierra 10.12 or "
|
||||
"higher can run OpenDroneMap using docker, as long as hardware "
|
||||
"virtualization is supported (see below)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:239
|
||||
msgid "Open a Terminal window and type:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:245
|
||||
msgid "You will get a response similar to the following:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:251
|
||||
msgid ""
|
||||
"If the result is *kern.hv_support: 1*, then your Mac is supported! "
|
||||
"Continue with Step 2."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:253
|
||||
msgid ""
|
||||
"If the result is *kern.hv_support: 0*, unfortunately it means your Mac is"
|
||||
" too old to run OpenDroneMap. :("
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:258
|
||||
msgid "There are only two programs to install:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:260
|
||||
msgid "Docker: https://download.docker.com/mac/stable/Docker.dmg"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:261
|
||||
msgid "Git: https://sourceforge.net/projects/git-osx-installer/files/"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:263
|
||||
msgid ""
|
||||
"After installing docker you should find an icon that looks like a whale "
|
||||
"in the task bar."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:269
|
||||
msgid "*Docker app running*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:271
|
||||
msgid ""
|
||||
"You can verify that docker is running properly by opening the "
|
||||
"**Terminal** app and typing:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:277
|
||||
msgid "Which should return"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:283
|
||||
msgid "To verify that git is installed, simply type:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:289
|
||||
msgid "Which should return something similar to the following:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:295
|
||||
msgid ""
|
||||
"If you get a “bash: git: command not found”, try to restart your "
|
||||
"**Terminal** app and double-check for any errors during the install "
|
||||
"process."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:300
|
||||
msgid ""
|
||||
"Docker on macOS works by running a VM in the background (think of it as a"
|
||||
" “computer emulator”). This VM has a certain amount of memory allocated "
|
||||
"and WebODM can only use as much memory as it’s allocated."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:302
|
||||
msgid "Right click the whale icon from the task bar and click **Preferences**..."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:303
|
||||
msgid "Select the **Advanced** tab"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:304
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Adjust the CPUs slider to use half of all available CPUs and the memory "
|
||||
"to use 60-70% of all available memory"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:305
|
||||
msgid "Press **Apply & Restart**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:311
|
||||
msgid "*Docker advanced settings*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:314
|
||||
msgid "Step 4. Download and Launch WebODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:316
|
||||
msgid "From a **Terminal** type:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:324 ../../source/installation.rst:425
|
||||
msgid "Then open a web browser to http://localhost:8000."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:327
|
||||
msgid "Linux"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:329
|
||||
msgid ""
|
||||
"OpenDroneMap can run on any Linux distribution that supports docker. "
|
||||
"According to `docker’s documentation website "
|
||||
"<https://docs.docker.com/install/>`_ the officially supported "
|
||||
"distributions are CentOS, Debian, Ubuntu and Fedora, with static binaries"
|
||||
" available for others. If you have to pick a distribution solely for "
|
||||
"running OpenDroneMap, Ubuntu is the recommended way to go."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:332
|
||||
msgid "Step 1. Install Requirements"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:334
|
||||
msgid "There are four programs that need to be installed:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:336
|
||||
msgid "Docker"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:337
|
||||
msgid "Git"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:338
|
||||
msgid "Python (2 or 3)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:339
|
||||
msgid "Pip"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:341
|
||||
msgid ""
|
||||
"We cannot possibly cover the installation process for every Linux "
|
||||
"distribution out there, so we’ll limit the instructions to those that are"
|
||||
" distributions officially supported by docker. In all cases it’s just a "
|
||||
"matter of opening a terminal prompt and typing a few commands."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:344
|
||||
msgid "Install on Ubuntu / Debian"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:346 ../../source/installation.rst:358
|
||||
#: ../../source/installation.rst:369 ../../source/installation.rst:380
|
||||
msgid "Commands to type:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:356
|
||||
msgid "Install on CentOS / RHEL"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:367
|
||||
msgid "Install on Fedora"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:378
|
||||
msgid "Install on Arch"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:387
|
||||
msgid "Step 2. Check Additional Requirements"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:389
|
||||
msgid ""
|
||||
"In addition to the three programs above, the dockercompose script is also"
|
||||
" needed. Sometimes it’s already installed with docker, but sometimes it "
|
||||
"isn’t. To verify if it’s installed try to type:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:395
|
||||
msgid "You should see somethings similar to the following:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:401
|
||||
msgid "If instead you get something similar to the following:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:407
|
||||
msgid "you can install it by using pip:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:415
|
||||
msgid "Step 3. Download and Launch WebODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:417
|
||||
msgid "From a terminal type:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:428
|
||||
msgid "Basic Commands and Troubleshooting"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:430
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The cool thing about using docker is that 99% of the tasks you’ll ever "
|
||||
"need to perform while using WebODM can be done via the ./webodm.sh "
|
||||
"script. You have already encountered one of them:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:436
|
||||
msgid ""
|
||||
"which takes care of starting WebODM and setting up a default processing "
|
||||
"node (node-odm-1). If you want to stop WebODM, you can already guess what"
|
||||
" the command is:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:442
|
||||
msgid ""
|
||||
"There are several other commands you can use, along with different flags."
|
||||
" Flags are parameters passed to the ./webodm.sh command and are typically"
|
||||
" prefixed with “–”. The **port** flag for example instructs WebODM to use"
|
||||
" a different network port:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:448
|
||||
msgid "Other useful commands are listed below:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:467
|
||||
msgid ""
|
||||
"`The community forum <https://community.opendronemap.org>`_ is a great "
|
||||
"place to ask for help if you get stuck during any of the installation"
|
||||
" steps and for general questions on using the ./webodm.sh script."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:470
|
||||
msgid "Hello, WebODM!"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:472
|
||||
msgid ""
|
||||
"After running ./webodm.sh start and opening WebODM in the browser, you "
|
||||
"will be greeted with a welcome message and will be asked to create the "
|
||||
"first user. Take some time to familiarize yourself with the web interface"
|
||||
" and explore its various menus."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:478
|
||||
msgid "*WebODM Dashboard*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:480
|
||||
msgid ""
|
||||
"Notice that under the **Processing Nodes** menu there’s a \"node-odm-1\" "
|
||||
"node already configured for you to use. This is a NodeODM node and has "
|
||||
"been created automatically by WebODM. This node is running on the same "
|
||||
"machine as WebODM."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:482
|
||||
msgid ""
|
||||
"If you’ve made it this far, congratulations! Now it’s time to start "
|
||||
"processing some data."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:489
|
||||
msgid "Running on more than one machine"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:491
|
||||
msgid ""
|
||||
"**Optionally:** If you have another computer, you can repeat the "
|
||||
"installation process (install docker, git, python, etc.) and launch a new"
|
||||
" NodeODM node by typing from a Terminal/Git Bash window:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:497
|
||||
msgid ""
|
||||
"The above command asks docker to launch a new container using the "
|
||||
"opendronemap/nodeodm image from Docker Hub (the latest version of "
|
||||
"NodeODM), using port 3000, setting a maximum number of concurrent tasks "
|
||||
"to 1 and to protect the node from unauthorized access using the password "
|
||||
"\"secret\"."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:499
|
||||
msgid ""
|
||||
"From WebODM you can then press the **Add New** button under **Processing "
|
||||
"Nodes**. For the **hostname/IP** field type the IP of the second "
|
||||
"computer. For the **port** field type “3000”. For the **token** field "
|
||||
"type “secret”. You can also add an optional **label** for your node, such"
|
||||
" as “second computer”. Then press **Save**."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:501
|
||||
msgid ""
|
||||
"If everything went well, you should now have two processing nodes! You "
|
||||
"will be able to process multiple tasks in parallel using two different "
|
||||
"machines."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:503
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/installation.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,275 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/large.rst:4
|
||||
msgid "Splitting Large Datasets"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:6
|
||||
msgid ""
|
||||
"Starting with ODM version ``0.6.0`` you can split up very large datasets "
|
||||
"into manageable chunks (called submodels), running the pipeline on each "
|
||||
"chunk, and then producing merged DEMs, orthophotos and point clouds. The "
|
||||
"process is referred to as \"split-merge\"."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:8
|
||||
msgid ""
|
||||
"Why might you use the split-merge pipeline? If you have a very large "
|
||||
"number of images in your dataset, split-merge will help make the "
|
||||
"processing more manageable on a large machine (it will require less "
|
||||
"memory). If you have many machines all connected to the same network you "
|
||||
"can also process the submodels in parallel, thus allowing for horizontal "
|
||||
"scaling and processing thousands of images more quickly."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:10
|
||||
msgid ""
|
||||
"Split-merge works in WebODM out of the box as long as the processing "
|
||||
"nodes support split-merge, by enabling the ``--split`` option when "
|
||||
"creating a new task."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:13
|
||||
msgid "Calibrate images"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:15
|
||||
msgid ""
|
||||
"Image calibration is recommended (but not required) for large datasets "
|
||||
"because error propagation due to image distortion could cause a bowl "
|
||||
"effect on the models. Calibration instructions can be found at "
|
||||
"`Calibrate Images <tutorials.html#calibrating-the-camera>`_."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:21
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:24
|
||||
msgid "Local Split-Merge"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:26
|
||||
msgid ""
|
||||
"Splitting a dataset into more manageable submodels and sequentially "
|
||||
"processing all submodels on the same machine is easy! Just use "
|
||||
"``--split`` and ``--split-overlap`` to decide the the average number of "
|
||||
"images per submodels and the overlap (in meters) between submodels "
|
||||
"respectively"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:32
|
||||
msgid ""
|
||||
"If you already know how you want to split the dataset, you can provide "
|
||||
"that information and it will be used instead of the clustering algorithm."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:34
|
||||
msgid ""
|
||||
"The grouping can be provided by adding a file named image_groups.txt in "
|
||||
"the main dataset folder. The file should have one line per image. Each "
|
||||
"line should have two words: first the name of the image and second the "
|
||||
"name of the group it belongs to. For example::"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:42
|
||||
msgid ""
|
||||
"will create 3 submodels. Make sure to pass ``--split-overlap 0`` if you "
|
||||
"manually provide a ``image_groups.txt`` file."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:46
|
||||
msgid "Distributed Split-Merge"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:48
|
||||
msgid ""
|
||||
"ODM can also automatically distribute the processing of each submodel to "
|
||||
"multiple machines via `NodeODM "
|
||||
"<https://github.com/OpenDroneMap/NodeODM>`_ nodes, orchestrated via "
|
||||
"`ClusterODM <https://github.com/OpenDroneMap/ClusterODM>`_."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:55
|
||||
msgid "Getting Started with Distributed Split-Merge"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:57
|
||||
msgid "The first step is start ClusterODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:63
|
||||
msgid ""
|
||||
"Then on each machine you want to use for processing, launch a NodeODM "
|
||||
"instance via"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:69
|
||||
msgid ""
|
||||
"Connect via telnet to ClusterODM and add the IP addresses/port of the "
|
||||
"machines running NodeODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:84
|
||||
msgid "Make sure you are running version ``1.5.1`` or higher of the NodeODM API."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:86
|
||||
msgid ""
|
||||
"At this point, simply use the ``--sm-cluster`` option to enable "
|
||||
"distributed split-merge"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:93
|
||||
msgid "Understanding the Cluster"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:95
|
||||
msgid ""
|
||||
"When connected via telnet, it is possible to interrogate what is "
|
||||
"happening on the cluster. For example, we can use the command HELP to "
|
||||
"find out available commands"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:118
|
||||
msgid ""
|
||||
"If, for example, the NodeODM instance wasn't active when ClusterODM "
|
||||
"started, we might list nodes and see something as follows"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:125
|
||||
msgid ""
|
||||
"To address this, we can start up our local node (if not already started),"
|
||||
" and then perform a ``NODE UPDATE``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:135
|
||||
msgid "Accessing the Logs"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:137
|
||||
msgid ""
|
||||
"While a process is running, it is also possible to list the tasks, and "
|
||||
"view the task output"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:145
|
||||
msgid "Autoscaling ClusterODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:147
|
||||
msgid ""
|
||||
"ClusterODM also includes the option to autoscale on multiple platforms, "
|
||||
"including, to date, Amazon and Digital Ocean. This allows users to reduce"
|
||||
" costs associated with always-on instances as well as being able to scale"
|
||||
" processing based on demand."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:149
|
||||
msgid "To setup autoscaling you must:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:151
|
||||
msgid "Have a functioning version of NodeJS installed and then install ClusterODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:159
|
||||
msgid "Make sure docker-machine is installed."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:160
|
||||
msgid "Setup a S3-compatible bucket for storing results."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:161
|
||||
msgid ""
|
||||
"Create a configuration file for `DigitalOcean "
|
||||
"<https://github.com/OpenDroneMap/ClusterODM/blob/master/docs/digitalocean.md>`_"
|
||||
" or `Amazon Web Services "
|
||||
"<https://github.com/OpenDroneMap/ClusterODM/blob/master/docs/aws.md>`_."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:163
|
||||
msgid "You can then launch ClusterODM with"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:169
|
||||
msgid "You should see something similar to following messages in the console"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:177
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You should always have at least one static NodeODM node attached to "
|
||||
"ClusterODM, even if you plan to use the autoscaler for all processing. If"
|
||||
" you setup auto scaling, you can't have zero nodes and rely 100% on the "
|
||||
"autoscaler. You need to attach a NodeODM node to act as the \"reference "
|
||||
"node\" otherwise ClusterODM will not know how to handle certain requests "
|
||||
"(for the forwarding the UI, for validating options prior to spinning up "
|
||||
"an instance, etc.). For this purpose, you should add a \"dummy\" NodeODM "
|
||||
"node and lock it"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:187
|
||||
msgid "This way all tasks will be automatically forwarded to the autoscaler."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:190
|
||||
msgid "Limitations"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:192
|
||||
msgid ""
|
||||
"The 3D textured meshes are currently not being merged as part of the "
|
||||
"workflow (only point clouds, DEMs and orthophotos are)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:194
|
||||
msgid ""
|
||||
"GCPs are fully supported, however, there needs to be at least 3 GCP "
|
||||
"points on each submodel for the georeferencing to take place. If a "
|
||||
"submodel has fewer than 3 GCPs, a combination of the remaining GCPs + "
|
||||
"EXIF data will be used instead (which is going to be less accurate). We "
|
||||
"recommend using the ``image_groups.txt`` file to accurately control the "
|
||||
"submodel split when using GCPs."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:197
|
||||
msgid "Acknowledgments"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:198
|
||||
msgid ""
|
||||
"Huge props to Pau and the folks at Mapillary for their amazing "
|
||||
"contributions to OpenDroneMap through their OpenSfM code, which is a key "
|
||||
"component of the split-merge pipeline. We look forward to further pushing"
|
||||
" the limits of OpenDroneMap and seeing how big a dataset we can process."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:200
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/large.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,135 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/outputs.rst:2
|
||||
msgid "OpenDroneMap Outputs"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:4
|
||||
msgid "Listed below are some of the useful outputs ODM produces."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:7
|
||||
msgid "Point Cloud"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:9
|
||||
msgid ""
|
||||
"``odm_georeferencing/odm_georeferenced_model.ply/laz/csv`` -- The "
|
||||
"georeferenced point cloud in different file formats"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:15
|
||||
msgid ""
|
||||
"*Point cloud over State University Zanzibar, courtesy of* `Khadija "
|
||||
"Abdullah Ali <https://www.linkedin.com/in/khadija-abdulla-ali-"
|
||||
"56b4044a/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:19
|
||||
msgid "3D Textured Model"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:21
|
||||
msgid ""
|
||||
"``odm_texturing/odm_textured_model.obj`` -- The textured surface mesh "
|
||||
"``odm_texturing/odm_textured_model_geo.obj`` -- The georeferenced and "
|
||||
"textured surface mesh"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:24
|
||||
msgid ""
|
||||
"You can access the point cloud and textured meshes using MeshLab. Open "
|
||||
"MeshLab, and choose File:Import Mesh and choose your textured mesh from a"
|
||||
" location similar to the following: "
|
||||
"``odm_texturing\\odm_textured_model.obj``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:30
|
||||
msgid ""
|
||||
"*Textured mesh over State University Zanzibar, courtesy of* `Khadija "
|
||||
"Abdullah Ali <https://www.linkedin.com/in/khadija-abdulla-ali-"
|
||||
"56b4044a/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:33
|
||||
msgid "Orthophoto"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:35
|
||||
msgid ""
|
||||
"``odm_orthophoto/odm_orthphoto.png`` -- The orthophoto, but this is a "
|
||||
"simple png, which doesn't have any georeferencing information"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:37
|
||||
msgid ""
|
||||
"``odm_orthophoto/odm_orthphoto.tif`` -- GeoTIFF Orthophoto. You can use "
|
||||
"it in QGIS as a raster layer."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:43
|
||||
msgid ""
|
||||
"*Orthophoto over State University Zanzibar, courtesy of* `Khadija "
|
||||
"Abdullah Ali <https://www.linkedin.com/in/khadija-abdulla-ali-"
|
||||
"56b4044a/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:46
|
||||
msgid "DTM/DSM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:48
|
||||
msgid ""
|
||||
"DTM/DSM will only be created if the ``--dtm`` or ``--dsm`` options are "
|
||||
"used. See `tutorial on elevation models "
|
||||
"<https://docs.opendronemap.org/tutorials.html#creating-digital-elevation-"
|
||||
"models>`_ for more options in creating."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:50
|
||||
msgid "Data will be stored in:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:52
|
||||
msgid "``odm_dem/dtm.tif``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:53
|
||||
msgid "``odm_dem/dsm.tif``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:59
|
||||
msgid ""
|
||||
"*Digital surface model over State University Zanzibar, courtesy of* "
|
||||
"`Khadija Abdullah Ali <https://www.linkedin.com/in/khadija-abdulla-ali-"
|
||||
"56b4044a/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:62
|
||||
msgid "List of all outputs"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:109
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/outputs.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,95 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/resources.rst:2
|
||||
msgid "Additional References"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:5
|
||||
msgid "For Users"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:7
|
||||
msgid "The following resources are a good place to start:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:9
|
||||
msgid "`README page for ODM <https://github.com/OpenDroneMap/OpenDroneMap>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:10
|
||||
msgid "`README page for WebODM <https://github.com/OpenDroneMap/WebODM>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:11
|
||||
msgid ""
|
||||
"`README page for NodeODM <https://github.com/OpenDroneMap/node-"
|
||||
"OpenDroneMap>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:12
|
||||
msgid ""
|
||||
"`Ground Control Points Format Specification "
|
||||
"<https://github.com/mapillary/OpenSfM/blob/master/doc/source/gcp.rst>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:13
|
||||
msgid "`OpenDroneMap: The Missing Guide <https://odmbook.com/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:16
|
||||
msgid "For Developers"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:18
|
||||
msgid "In addition to user resources, we recommend to also read the following:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:20
|
||||
msgid "WebODM documentation: https://docs.webodm.org"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:21
|
||||
msgid ""
|
||||
"NodeODM API specification: "
|
||||
"https://github.com/OpenDroneMap/NodeODM/blob/master/docs/index.adoc"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:22
|
||||
msgid ""
|
||||
"Overview of the ODM pipeline: http://community.opendronemap.org/t/where-"
|
||||
"can-i-find-background-information-on-the-concepts-of-odm/665/2"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:23
|
||||
msgid ""
|
||||
"We keep a `section in our forum dedicated to research papers "
|
||||
"<http://community.opendronemap.org/c/ideas-proposals/research-papers>`_. "
|
||||
"This is a valuable place where to read more about state of the art "
|
||||
"research related to structure from motion, multi-view stereo, meshing, "
|
||||
"texturing, etc. which can be used to improve the software."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:26
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/api.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,440 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/tutorials.rst:4
|
||||
msgid "Tutorials"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:6
|
||||
msgid "Below you will find instructions for some common use cases."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:9
|
||||
msgid "Creating High Quality Orthophotos"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:15
|
||||
msgid ""
|
||||
"Without any parameter tweaks, ODM chooses a good compromise between "
|
||||
"quality, speed and memory usage. If you want to get higher quality "
|
||||
"results, you need to tweak some parameters:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:17
|
||||
msgid ""
|
||||
"``--orthophoto-resolution`` is the resolution of the orthophoto in "
|
||||
"cm/pixel. Decrease this value for a higher resolution result."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:18
|
||||
msgid ""
|
||||
"``--ignore-gsd`` 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 will produce sharper results."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:19
|
||||
msgid ""
|
||||
"``--texturing-nadir-weight`` should be increased to ``29-32`` in urban "
|
||||
"areas to reconstruct better edges of roofs. It should be decreased to "
|
||||
"``0-6`` in grassy / flat areas."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:20
|
||||
msgid "``--texturing-data-term`` should be set to `area` in forest areas."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:21
|
||||
msgid ""
|
||||
"``--mesh-size`` should be increased to `300000-600000` and `--mesh-"
|
||||
"octree-depth`` should be increased to `10-11` in urban areas to recreate "
|
||||
"better buildings / roofs."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:24
|
||||
msgid "Calibrating the Camera"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:26
|
||||
msgid ""
|
||||
"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 `Mitigating systematic error in topographic models derived from "
|
||||
"UAV and ground‐based image networks "
|
||||
"<https://onlinelibrary.wiley.com/doi/full/10.1002/esp.3609>`_ address how"
|
||||
" to minimize the distortion from self-calibration."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:32
|
||||
msgid ""
|
||||
"*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.*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:34
|
||||
msgid ""
|
||||
"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°."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:42
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:44
|
||||
msgid ""
|
||||
"Alternatively, the following experimental method can be applied: fly with"
|
||||
" much lower overlap, but two *crossgrid* flights (sometimes called "
|
||||
"crosshatch) separated by 20° with a 5° forward facing camera."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:46
|
||||
#, python-format
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:47
|
||||
#, python-format
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:53
|
||||
msgid ""
|
||||
"Vertically separated flight lines also improve accuracy, but less so than"
|
||||
" a camera that is forward facing by 5°."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:59
|
||||
msgid ""
|
||||
"From James and Robson (2014), `CC BY 4.0 "
|
||||
"<https://creativecommons.org/licenses/by/4.0>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:62
|
||||
msgid "Creating Digital Elevation Models"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:64
|
||||
msgid ""
|
||||
"By default ODM does not create DEMs. To create a digital terrain model, "
|
||||
"make sure to pass the ``--dtm`` flag. To create a digital surface model, "
|
||||
"be sure to pass the ``--dsm`` flag."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:70
|
||||
msgid ""
|
||||
"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 ``smrf`` filter can be controlled via several parameters:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:72
|
||||
msgid ""
|
||||
"``--smrf-scalar`` scaling value. Increase this parameter for terrains "
|
||||
"with lots of height variation."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:73
|
||||
msgid ""
|
||||
"``--smrf-slope`` 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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:74
|
||||
msgid ""
|
||||
"``--smrf-threshold`` elevation threshold. Set this parameter to the "
|
||||
"minimum height (in meters) that you expect non-ground objects to be."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:75
|
||||
msgid ""
|
||||
"``--smrf-window`` 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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:77
|
||||
msgid ""
|
||||
"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 `An improved simple morphological filter for "
|
||||
"the terrain classification of airborne LIDAR data "
|
||||
"<https://www.researchgate.net/publication/258333806_An_Improved_Simple_Morphological_Filter_for_the_Terrain_Classification_of_Airborne_LIDAR_Data>`_"
|
||||
" (PDF freely available)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:79
|
||||
msgid "Overall the ``--smrf-threshold`` option has the biggest impact on results."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:81
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:87
|
||||
msgid "Two other important parameters affect DEM generation:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:89
|
||||
msgid ""
|
||||
"``--dem-resolution`` which sets the output resolution of the DEM raster "
|
||||
"(cm/pixel)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:90
|
||||
msgid ""
|
||||
"``--dem-gapfill-steps`` which determines the number of progressive DEM "
|
||||
"layers to use. For urban scenes increasing this value to `4-5` can help "
|
||||
"produce better interpolation results in the areas that are left empty by "
|
||||
"the SMRF filter."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:92
|
||||
msgid "Example of how to generate a DTM::"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:99
|
||||
msgid "Ground Control Points"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:101
|
||||
msgid ""
|
||||
"Ground control points are useful for correcting distortions in the data "
|
||||
"and referencing the data to know coordinate systems."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:103
|
||||
msgid "The format of the GCP file is simple."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:105
|
||||
msgid ""
|
||||
"The header line is a description of a UTM coordinate system, which must "
|
||||
"be written as a proj4 string. http://spatialreference.org/ is a good "
|
||||
"resource for finding that information. Please note that currently angular"
|
||||
" coordinates (like lat/lon) DO NOT work."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:106
|
||||
msgid ""
|
||||
"Subsequent lines are the X, Y & Z coordinates, your associated pixels and"
|
||||
" the image filename:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:108
|
||||
msgid "GCP file format::"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:114
|
||||
msgid "e.g. for the Langley dataset::"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:121
|
||||
msgid ""
|
||||
"If you supply a GCP file called gcp_list.txt then ODM will automatically "
|
||||
"detect it. If it has another name you can specify using ``--gcp <path>``."
|
||||
" If you have a gcp file and want to do georeferencing with exif instead, "
|
||||
"then you can specify ``--use-exif``."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:123
|
||||
msgid ""
|
||||
"`This post has some information about placing Ground Control Targets "
|
||||
"before a flight <http://diydrones.com/profiles/blogs/ground-control-"
|
||||
"points-gcps-for-aerial-photography>`_, but if you already have images, "
|
||||
"you can find your own points in the images post facto. It's important "
|
||||
"that you find high-contrast objects that are found in **at least** 3 "
|
||||
"photos, and that you find a minimum of 5 objects."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:125
|
||||
msgid ""
|
||||
"Sharp corners are good picks for GCPs. You should also place/find the "
|
||||
"GCPs evenly around your survey area."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:127
|
||||
msgid ""
|
||||
"The ``gcp_list.txt`` file must be created in the base of your project "
|
||||
"folder."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:129
|
||||
msgid ""
|
||||
"For good results your file should have a minimum of 15 lines after the "
|
||||
"header (5 points with 3 images to each point)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:132
|
||||
msgid "Ground Control Points Interface"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:134
|
||||
msgid ""
|
||||
"WebODM has a GCP interface, and example of which can be seen on `the "
|
||||
"WebODM Demo <http://demo.webodm.org/plugins/posm-gcpi/>`_. To use this "
|
||||
"with known ground control XYZ values, one would do the following:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:136
|
||||
msgid ""
|
||||
"Create a GCP list that only includes gcp name (this is the label that "
|
||||
"will be seen in the GCP interface), x, y, and z, with a header with a "
|
||||
"proj4 string of your GCPs (make sure they are in a planar coordinate "
|
||||
"system, such as UTM. It should look something like this:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:147
|
||||
msgid ""
|
||||
"Then one can load this GCP list into the interface, load the images, and "
|
||||
"place each of the GCPs in the image."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:149
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/using.rst>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:152
|
||||
msgid "Using Docker"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:154
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:156
|
||||
msgid "A few simple commands can make our docker experience much better."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:159
|
||||
msgid "Listing Docker Machines"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:161
|
||||
msgid ""
|
||||
"We can start by listing available docker machines on the current machine "
|
||||
"we are running as follows:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:170
|
||||
msgid ""
|
||||
"If we want to see machines that may not be running but still exist, we "
|
||||
"can add the `-a` flag:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:183
|
||||
msgid "Accessing logs on the instance"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:185
|
||||
msgid ""
|
||||
"Using either the `CONTAINER ID` or the name, we can access any logs "
|
||||
"available on the machine as follows:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:191
|
||||
msgid ""
|
||||
"This is likely to be unwieldy large, but we can use a pipe `|` character "
|
||||
"and other tools to extract just what we need from the logs. For example "
|
||||
"we can move through the log slowly using the `more` command:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:207
|
||||
msgid ""
|
||||
"Pressing `Enter` or `Space`, arrow keys or `Page Up` or `Page Down` keys "
|
||||
"will now help us navigate through the logs. The lower case letter `Q` "
|
||||
"will let us escape back to the command line."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:209
|
||||
msgid ""
|
||||
"We can also extract just the end of the logs using the `tail` commmand as"
|
||||
" follows:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:220
|
||||
msgid ""
|
||||
"The value `-5` tells the tail command to give us just the last 5 lines of"
|
||||
" the logs."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:223
|
||||
msgid "Command line access to instances"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:225
|
||||
msgid ""
|
||||
"Sometimes we need to go a little deeper in our exploration of the process"
|
||||
" for OpenDroneMap. For this, we can get direct command line access to the"
|
||||
" machines. For this, we can use `docker exec` to execute a `bash` command"
|
||||
" line shell in the machine of interest as follows:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:232
|
||||
msgid "Now we are logged into our docker instance and can explore the machine."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:235
|
||||
msgid "Cleaning up after Docker"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:237
|
||||
msgid ""
|
||||
"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 `excellent overview of how to manage excess disk "
|
||||
"usage in docker <https://lebkowski.name/docker-volumes/>`_."
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/arguments.rst:4
|
||||
msgid "Options and Flags"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/arguments.rst:6
|
||||
msgid "Arguments::"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/arguments.rst:289
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/using.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,193 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/contributing.rst:4
|
||||
msgid "How to contribute"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:6
|
||||
msgid ""
|
||||
"OpenDroneMap relies on community contributions. You can contribute in "
|
||||
"many ways, even if you are not a programmer."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:9
|
||||
msgid "Community Forum"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:11
|
||||
msgid ""
|
||||
"If you are looking to get involved, are stuck on a problem, or want to "
|
||||
"reach out, `the forum <https://community.opendronemap.org/>`_ is a great "
|
||||
"place to start. You may find your questions already answered or else you "
|
||||
"can find other useful tips and resources. You can also contribute your "
|
||||
"open access datasets for others to explore. It is a good place go before "
|
||||
"submitting bug reports or getting in touch with developers before writing"
|
||||
" a new feature."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:14
|
||||
msgid "Reporting Bugs"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:16
|
||||
msgid ""
|
||||
"Bugs are tracked as Github issues. Please create an issue in the "
|
||||
"repository and tag it with the Bug tag."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:18
|
||||
msgid ""
|
||||
"Explain the problem and include additional details to help maintainers "
|
||||
"reproduce the problem:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:20
|
||||
msgid ""
|
||||
"**Use a clear and descriptive title** for the issue to identify the "
|
||||
"problem."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:21
|
||||
msgid ""
|
||||
"**Describe the exact steps which reproduce the problem** in as many "
|
||||
"details as possible. For example, start by explaining how you run ODM "
|
||||
"(Docker, Vagrant, etc), e.g. which command exactly you used in the "
|
||||
"terminal. When listing steps, **don't just say what you did, but explain "
|
||||
"how you did it.**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:22
|
||||
msgid ""
|
||||
"**Provide specific examples to demonstrate the steps.** Include links to "
|
||||
"files or GitHub projects, or copy/pasteable snippets, which you use in "
|
||||
"those examples. If you're providing snippets in the issue, use `Markdown "
|
||||
"code blocks <https://help.github.com/articles/markdown-basics/#multiple-"
|
||||
"lines>`_."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:23
|
||||
msgid ""
|
||||
"**Describe the behavior you observed after following the steps** and "
|
||||
"point out what exactly is the problem with that behavior."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:24
|
||||
msgid "**Explain which behavior you expected to see instead and why.**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:25
|
||||
msgid ""
|
||||
"**Include screenshots and animated GIFs** which show you following the "
|
||||
"described steps and clearly demonstrate the problem. You can use `this "
|
||||
"tool to record GIFs on macOS and Windows "
|
||||
"<http://www.cockos.com/licecap/>`_, and `this tool "
|
||||
"<https://github.com/colinkeenan/silentcast>`_ or `this one "
|
||||
"<https://github.com/GNOME/byzanz>`_ on Linux."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:26
|
||||
msgid ""
|
||||
"**If the problem is related to performance,** please post your machine's "
|
||||
"specs (host and guest machine)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:27
|
||||
msgid ""
|
||||
"**If the problem wasn't triggered by a specific action,** describe what "
|
||||
"you were doing before the problem happened and share more information "
|
||||
"using the guidelines below."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:29
|
||||
msgid "Include details about your configuration and environment:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:31
|
||||
msgid ""
|
||||
"**Which version of ODM are you using?** A stable release? a clone of "
|
||||
"master?"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:32
|
||||
msgid "**What's the name and version of the OS you're using?**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:33
|
||||
msgid ""
|
||||
"**Are you running ODM in a virtual machine or Docker?** If so, which VM "
|
||||
"software are you using and which operating systems and versions are used "
|
||||
"for the host and the guest?"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:36
|
||||
msgid "Template For Submitting Bug Reports"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:69
|
||||
msgid "Pull Requests"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:71
|
||||
msgid ""
|
||||
"Include screenshots and animated GIFs in your pull request whenever "
|
||||
"possible."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:72
|
||||
msgid "Follow the PEP8 Python Style Guide."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:73
|
||||
msgid "End files with a newline."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:76
|
||||
msgid "Avoid platform-dependent code:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:75
|
||||
msgid "Use require('fs-plus').getHomeDirectory() to get the home directory."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:76
|
||||
msgid "Use path.join() to concatenate filenames."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:77
|
||||
msgid ""
|
||||
"Use os.tmpdir() rather than /tmp when you need to reference the temporary"
|
||||
" directory."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:79
|
||||
msgid "Using a plain return when returning explicitly at the end of a function."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:79
|
||||
msgid "Not return null, return undefined, null, or undefined"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:81
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/contributing.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,75 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/flying.rst:2
|
||||
msgid "Flying tips"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:4
|
||||
msgid ""
|
||||
"The `Humanitarian OpenStreetMap team <https://www.hotosm.org/>`_ has "
|
||||
"guidelines on `flying for UAV mapping <https://uav-"
|
||||
"guidelines.openaerialmap.org/>`_:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:6
|
||||
msgid ""
|
||||
"`Choosing the right UAV <https://uav-"
|
||||
"guidelines.openaerialmap.org/pages/05-choosing-the-right-uav/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:8
|
||||
msgid ""
|
||||
"`Choosing the right sensor <https://uav-"
|
||||
"guidelines.openaerialmap.org/pages/06-choosing-the-sensor/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:10
|
||||
msgid ""
|
||||
"`Mission preparation <https://uav-guidelines.openaerialmap.org/pages/07"
|
||||
"-preparing-for-the-uav-mission/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:12
|
||||
msgid ""
|
||||
"The guidelines are intended for drone mapping projects on islands, but "
|
||||
"have general use for all drone mappers."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:14
|
||||
msgid ""
|
||||
"See also DroneDeploy's guide on `Making Successful Maps "
|
||||
"<https://support.dronedeploy.com/docs/making-successful-maps>`_, which "
|
||||
"provides great tips on mission planning."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:16
|
||||
msgid ""
|
||||
"Finally, lens distortion is a challenge in projects requiring accurate 3D"
|
||||
" data. See our section in these docs on `Camera Calibration "
|
||||
"<tutorials.html#calibrating-the-camera>`_."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:18
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/flying.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/index.rst:8
|
||||
msgid "Welcome to OpenDroneMap's documentation"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/index.rst:40
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/index.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,778 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/installation.rst:4
|
||||
msgid "Installation and Getting Started"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:6
|
||||
msgid ""
|
||||
"This section is excerpted and modified with permission from "
|
||||
"`OpenDroneMap: The Missing Guide <https://odmbook.com>`_, by Piero "
|
||||
"Toffanin."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:8
|
||||
msgid ""
|
||||
"Until recently OpenDroneMap was the term used to refer to a single "
|
||||
"command line application (what is now known as the ODM project). With "
|
||||
"the recent development of a web interface, an API and other tools, "
|
||||
"OpenDroneMap has become an ecosystem of various applications to process, "
|
||||
"analyze and display aerial data. This ecosystem is made of several "
|
||||
"components:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:14
|
||||
msgid ""
|
||||
"**ODM** is the processing engine, which can be used from the command "
|
||||
"line. It takes images as input and produces a variety of outputs, "
|
||||
"including point clouds, 3D models and orthophotos"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:20
|
||||
msgid ""
|
||||
"**NodeODM** is a light-weight API built on top of ODM. It allows users "
|
||||
"and applications to access the functions of ODM over a computer network"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:26
|
||||
msgid ""
|
||||
"**WebODM** is a friendly user interface that includes a map viewer, a 3D "
|
||||
"viewer, user logins, a plugin system and many other features that are "
|
||||
"expected of modern drone mapping platforms"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:32
|
||||
msgid ""
|
||||
"**CloudODM** is a small command line client to communicate with ODM via "
|
||||
"the NodeODM API"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:38
|
||||
msgid ""
|
||||
"**PyODM** is a Python SDK for creating tasks via the NodeODM API. We "
|
||||
"cover it in more detail in the “Automated Processing With Python” chapter"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:44
|
||||
msgid ""
|
||||
"**ClusterODM** is a load balancer for connecting together multiple "
|
||||
"NodeODM instances"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:46
|
||||
msgid ""
|
||||
"ODM, NodeODM and WebODM are available on all major platforms (Windows, "
|
||||
"macOS and Linux) via a program called docker, which is required to run "
|
||||
"the software. Docker offers a way to run “containers”. Containers are "
|
||||
"packaged copies of an entire system, its software and its dependencies. "
|
||||
"These containers run within a virtual environment. On Linux this virtual "
|
||||
"environment is available from the operating system and is very efficient."
|
||||
" On macOS and Windows the containers run within a VM, so there’s a bit of"
|
||||
" a overhead. but it’s still very suitable for running the software. Once "
|
||||
"installed users do not have to worry much about docker, as it operates "
|
||||
"(almost) transparently."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:48
|
||||
msgid ""
|
||||
"Without docker it would not be possible to run ODM on Windows or macOS. "
|
||||
"On these platforms ODM cannot run natively. Future development efforts "
|
||||
"are being focused on leveraging the new Windows Subsystem for Linux (WSL)"
|
||||
" and the possibility to make a native port of all dependencies to macOS, "
|
||||
"which is going to make the installation much easier."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:50
|
||||
msgid ""
|
||||
"On Ubuntu Linux 16.04 it’s feasible to run all OpenDroneMap software "
|
||||
"natively. However, because there’s very little performance penalty for "
|
||||
"running docker on Linux and docker is straightforward to setup on this "
|
||||
"platform, we don’t recommend it. On Linux the advantages of "
|
||||
"containerization far outweigh a tiny performance penalty. With docker "
|
||||
"users also get easy one-step updates of the software, so that’s nice."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:54
|
||||
msgid "Hardware Recommendations"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:56
|
||||
msgid "The bare minimum requirements for running the software are:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:59
|
||||
msgid "64bit CPU manufactured on or after 2010"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:60
|
||||
msgid "20 GB of disk space"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:61
|
||||
msgid "4 GB RAM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:63
|
||||
msgid ""
|
||||
"No more than 100-200 images can be processed with the above "
|
||||
"specifications (the software will run out of memory). Recommended "
|
||||
"requirements are:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:65
|
||||
msgid "Latest Generation CPU"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:66
|
||||
msgid "100 GB of disk space"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:67
|
||||
msgid "16 GB RAM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:69
|
||||
msgid ""
|
||||
"The above will allow for a few hundred images to be processed without too"
|
||||
" many issues. A CPU with more cores will allow for faster processing, "
|
||||
"while a graphics card (GPU) currently has no impact on performance. For "
|
||||
"processing more images, add more disk space and RAM linearly to the "
|
||||
"number of images you need to process."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:75
|
||||
msgid "Installation"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:77
|
||||
msgid ""
|
||||
"We recommend people use `docker <https://www.docker.com>`_ for running "
|
||||
"ODM, whether you are on Windows, macOS or Linux."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:80
|
||||
msgid "Windows"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:82
|
||||
msgid ""
|
||||
"To run OpenDroneMap you need at least Windows 7. Previous versions of "
|
||||
"Windows are not supported."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:86 ../../source/installation.rst:237
|
||||
msgid "Step 1. Check Virtualization Support"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:88
|
||||
msgid ""
|
||||
"Docker requires a feature from your CPU called virtualization, which "
|
||||
"allows it to run virtual machines (VMs). Make sure you have it enabled! "
|
||||
"Sometimes this is disabled. To check, on Windows 8 or higher you can open"
|
||||
" the **Task Manager** (press CTRL+SHIFT+ESC) and switch to the "
|
||||
"**Performance** tab."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:94
|
||||
msgid "*Virtualization should be enabled*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:96
|
||||
msgid ""
|
||||
"On Windows 7 to see if you have virtualization enabled you can use the "
|
||||
"`Microsoft® Hardware-Assisted Virtualization Detection Tool <http:// "
|
||||
"www.microsoft.com/en-us/download/details.aspx?id=592>`_ instead."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:99
|
||||
msgid ""
|
||||
"If virtualization is disabled, you’ll need to enable it. The procedure "
|
||||
"unfortunately is a bit different for each computer model, so the best way"
|
||||
" to do this is to look up on a search engine “how to enable vtx for <type"
|
||||
" your computer model here>”. Often times it’s a matter of restarting the "
|
||||
"computer, immediately pressing F2 or F12 during startup, navigating the "
|
||||
"boot menu and changing the settings to enable virtualization (often "
|
||||
"called “VT-X”)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:105
|
||||
msgid ""
|
||||
"*Common keys to press at computer startup to access the boot menu for "
|
||||
"various PC vendors*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:108 ../../source/installation.rst:256
|
||||
msgid "Step 2. Install Requirements"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:110
|
||||
msgid "First, you’ll need to install:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:112
|
||||
msgid "Git: https://git-scm.com/downloads"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:113
|
||||
msgid "Python (latest version 3): https://www.python.org/downloads/windows/"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:115
|
||||
msgid ""
|
||||
"For Python 3, make sure you check **Add Python 3.x to PATH** during the "
|
||||
"installation."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:121
|
||||
msgid ""
|
||||
"*Don’t forget to add the Python executable to your PATH (so that you can "
|
||||
"run commands with it)*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:123
|
||||
msgid ""
|
||||
"Then, only if you are on Windows 10 Home, Windows 8 (any version) or "
|
||||
"Windows 7 (any version), install:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:125
|
||||
msgid ""
|
||||
"Docker Toolbox: "
|
||||
"https://github.com/docker/toolbox/releases/download/v18.09.3/DockerToolbox-18.09.3.exe"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:127
|
||||
msgid ""
|
||||
"If you are on Windows 10 Professional or a newer version, you should "
|
||||
"install instead:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:129
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Docker for Windows: "
|
||||
"https://download.docker.com/win/stable/Docker%20for%20Windows%20Installer.exe"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:131
|
||||
msgid ""
|
||||
"Please do **NOT** install both docker programs. They are different and "
|
||||
"will create a mess if they are both installed."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:133
|
||||
msgid ""
|
||||
"After installing docker, launch it from the Desktop icon that is created "
|
||||
"from the installation (**Docker Quickstart** in the case of Docker "
|
||||
"Toolbox, **Docker for Windows** for Docker for Windows). This is "
|
||||
"important, do not skip this step. If there are errors, follow the prompts"
|
||||
" on screen to fix them."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:136 ../../source/installation.rst:298
|
||||
msgid "Step 3. Check Memory and CPU Allocation"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:138
|
||||
msgid ""
|
||||
"Docker on Windows works by running a VM in the background (think of a VM "
|
||||
"as a “computer emulator”). This VM has a certain amount of memory "
|
||||
"allocated and WebODM can only use as much memory as it’s allocated."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:140
|
||||
msgid ""
|
||||
"If you installed Docker Toolbox (see below if you installed Docker for "
|
||||
"Windows instead):"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:142
|
||||
msgid "Open the **VirtualBox Manager** application"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:143
|
||||
msgid ""
|
||||
"Right click the **default** VM and press **Close (ACPI Shutdown)** to "
|
||||
"stop the machine"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:144
|
||||
msgid "Right click the **default** VM and press **Settings...**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:145
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Move the **Base Memory** slider from the **System** paneland allocate "
|
||||
"60-70% of all available memory, optionally adding 50% of the available "
|
||||
"processors from the **Processor** tab also"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:151
|
||||
msgid "*VirtualBox default VM settings*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:153
|
||||
msgid "Then press **OK**, right click the **default** VM and press **Start**."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:155
|
||||
msgid "If you installed Docker for Windows instead:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:157
|
||||
msgid "Look in the system tray and right click the “white whale” icon."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:158
|
||||
msgid "From the menu, press **Settings...**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:159
|
||||
#, python-format
|
||||
msgid ""
|
||||
"From the panel, click **Advanced** and use the sliders to allocate 60-70%"
|
||||
" of available memory and use half of all available CPUs."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:160
|
||||
msgid "Press **Apply**."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:166
|
||||
msgid "*Step 1 Docker icon*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:172
|
||||
msgid "*Step 3 & 4 Docker settings*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:175
|
||||
msgid "Step 4. Download WebODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:177
|
||||
msgid "Open the **Git Gui** program that comes installed with Git. From there:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:179
|
||||
msgid "In **Source Location** type: https://github.com/Open-DroneMap/WebODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:180
|
||||
msgid ""
|
||||
"In **Target Directory** click browse and navigate to a folder of your "
|
||||
"choosing (create one if necessary)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:181
|
||||
msgid "Press **Clone**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:187
|
||||
msgid "*Git Gui*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:189
|
||||
msgid "If the download succeeded, you should now see this window:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:195
|
||||
msgid "*Git Gui after successful download (clone)*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:197
|
||||
msgid ""
|
||||
"Go to the **Repository** menu, then click **Create Desktop Icon**. This "
|
||||
"will allow you to come back to this application easily in the future."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:200
|
||||
msgid "Step 4. Launch WebODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:202
|
||||
msgid ""
|
||||
"From Git Gui, go to the **Repository** menu, then click **Git Bash**. "
|
||||
"From the command line terminal type:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:208
|
||||
msgid ""
|
||||
"Several components will download to your machine at this point, including"
|
||||
" WebODM, NodeODM and ODM. After the download you should be greeted by the"
|
||||
" following screen:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:214
|
||||
msgid "*Console output after starting WebODM for the first time*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:216
|
||||
msgid ""
|
||||
"If you are using Docker for Windows, open a web browser to "
|
||||
"http://localhost:8000"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:217
|
||||
msgid ""
|
||||
"If you are using Docker Toolbox, find the IP address to connect to by "
|
||||
"typing:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:223
|
||||
msgid "You should get a result like the following:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:229
|
||||
msgid ""
|
||||
"Then connect to http://192.168.1.100:8000 (replacing the IP address with "
|
||||
"the proper one)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:232
|
||||
msgid "macOS"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:234
|
||||
msgid ""
|
||||
"Most modern (post 2010) Mac computers running macOS Sierra 10.12 or "
|
||||
"higher can run OpenDroneMap using docker, as long as hardware "
|
||||
"virtualization is supported (see below)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:239
|
||||
msgid "Open a Terminal window and type:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:245
|
||||
msgid "You will get a response similar to the following:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:251
|
||||
msgid ""
|
||||
"If the result is *kern.hv_support: 1*, then your Mac is supported! "
|
||||
"Continue with Step 2."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:253
|
||||
msgid ""
|
||||
"If the result is *kern.hv_support: 0*, unfortunately it means your Mac is"
|
||||
" too old to run OpenDroneMap. :("
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:258
|
||||
msgid "There are only two programs to install:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:260
|
||||
msgid "Docker: https://download.docker.com/mac/stable/Docker.dmg"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:261
|
||||
msgid "Git: https://sourceforge.net/projects/git-osx-installer/files/"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:263
|
||||
msgid ""
|
||||
"After installing docker you should find an icon that looks like a whale "
|
||||
"in the task bar."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:269
|
||||
msgid "*Docker app running*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:271
|
||||
msgid ""
|
||||
"You can verify that docker is running properly by opening the "
|
||||
"**Terminal** app and typing:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:277
|
||||
msgid "Which should return"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:283
|
||||
msgid "To verify that git is installed, simply type:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:289
|
||||
msgid "Which should return something similar to the following:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:295
|
||||
msgid ""
|
||||
"If you get a “bash: git: command not found”, try to restart your "
|
||||
"**Terminal** app and double-check for any errors during the install "
|
||||
"process."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:300
|
||||
msgid ""
|
||||
"Docker on macOS works by running a VM in the background (think of it as a"
|
||||
" “computer emulator”). This VM has a certain amount of memory allocated "
|
||||
"and WebODM can only use as much memory as it’s allocated."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:302
|
||||
msgid "Right click the whale icon from the task bar and click **Preferences**..."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:303
|
||||
msgid "Select the **Advanced** tab"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:304
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Adjust the CPUs slider to use half of all available CPUs and the memory "
|
||||
"to use 60-70% of all available memory"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:305
|
||||
msgid "Press **Apply & Restart**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:311
|
||||
msgid "*Docker advanced settings*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:314
|
||||
msgid "Step 4. Download and Launch WebODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:316
|
||||
msgid "From a **Terminal** type:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:324 ../../source/installation.rst:425
|
||||
msgid "Then open a web browser to http://localhost:8000."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:327
|
||||
msgid "Linux"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:329
|
||||
msgid ""
|
||||
"OpenDroneMap can run on any Linux distribution that supports docker. "
|
||||
"According to `docker’s documentation website "
|
||||
"<https://docs.docker.com/install/>`_ the officially supported "
|
||||
"distributions are CentOS, Debian, Ubuntu and Fedora, with static binaries"
|
||||
" available for others. If you have to pick a distribution solely for "
|
||||
"running OpenDroneMap, Ubuntu is the recommended way to go."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:332
|
||||
msgid "Step 1. Install Requirements"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:334
|
||||
msgid "There are four programs that need to be installed:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:336
|
||||
msgid "Docker"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:337
|
||||
msgid "Git"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:338
|
||||
msgid "Python (2 or 3)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:339
|
||||
msgid "Pip"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:341
|
||||
msgid ""
|
||||
"We cannot possibly cover the installation process for every Linux "
|
||||
"distribution out there, so we’ll limit the instructions to those that are"
|
||||
" distributions officially supported by docker. In all cases it’s just a "
|
||||
"matter of opening a terminal prompt and typing a few commands."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:344
|
||||
msgid "Install on Ubuntu / Debian"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:346 ../../source/installation.rst:358
|
||||
#: ../../source/installation.rst:369 ../../source/installation.rst:380
|
||||
msgid "Commands to type:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:356
|
||||
msgid "Install on CentOS / RHEL"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:367
|
||||
msgid "Install on Fedora"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:378
|
||||
msgid "Install on Arch"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:387
|
||||
msgid "Step 2. Check Additional Requirements"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:389
|
||||
msgid ""
|
||||
"In addition to the three programs above, the dockercompose script is also"
|
||||
" needed. Sometimes it’s already installed with docker, but sometimes it "
|
||||
"isn’t. To verify if it’s installed try to type:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:395
|
||||
msgid "You should see somethings similar to the following:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:401
|
||||
msgid "If instead you get something similar to the following:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:407
|
||||
msgid "you can install it by using pip:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:415
|
||||
msgid "Step 3. Download and Launch WebODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:417
|
||||
msgid "From a terminal type:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:428
|
||||
msgid "Basic Commands and Troubleshooting"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:430
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The cool thing about using docker is that 99% of the tasks you’ll ever "
|
||||
"need to perform while using WebODM can be done via the ./webodm.sh "
|
||||
"script. You have already encountered one of them:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:436
|
||||
msgid ""
|
||||
"which takes care of starting WebODM and setting up a default processing "
|
||||
"node (node-odm-1). If you want to stop WebODM, you can already guess what"
|
||||
" the command is:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:442
|
||||
msgid ""
|
||||
"There are several other commands you can use, along with different flags."
|
||||
" Flags are parameters passed to the ./webodm.sh command and are typically"
|
||||
" prefixed with “–”. The **port** flag for example instructs WebODM to use"
|
||||
" a different network port:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:448
|
||||
msgid "Other useful commands are listed below:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:467
|
||||
msgid ""
|
||||
"`The community forum <https://community.opendronemap.org>`_ is a great "
|
||||
"place to ask for help if you get stuck during any of the installation"
|
||||
" steps and for general questions on using the ./webodm.sh script."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:470
|
||||
msgid "Hello, WebODM!"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:472
|
||||
msgid ""
|
||||
"After running ./webodm.sh start and opening WebODM in the browser, you "
|
||||
"will be greeted with a welcome message and will be asked to create the "
|
||||
"first user. Take some time to familiarize yourself with the web interface"
|
||||
" and explore its various menus."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:478
|
||||
msgid "*WebODM Dashboard*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:480
|
||||
msgid ""
|
||||
"Notice that under the **Processing Nodes** menu there’s a \"node-odm-1\" "
|
||||
"node already configured for you to use. This is a NodeODM node and has "
|
||||
"been created automatically by WebODM. This node is running on the same "
|
||||
"machine as WebODM."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:482
|
||||
msgid ""
|
||||
"If you’ve made it this far, congratulations! Now it’s time to start "
|
||||
"processing some data."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:489
|
||||
msgid "Running on more than one machine"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:491
|
||||
msgid ""
|
||||
"**Optionally:** If you have another computer, you can repeat the "
|
||||
"installation process (install docker, git, python, etc.) and launch a new"
|
||||
" NodeODM node by typing from a Terminal/Git Bash window:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:497
|
||||
msgid ""
|
||||
"The above command asks docker to launch a new container using the "
|
||||
"opendronemap/nodeodm image from Docker Hub (the latest version of "
|
||||
"NodeODM), using port 3000, setting a maximum number of concurrent tasks "
|
||||
"to 1 and to protect the node from unauthorized access using the password "
|
||||
"\"secret\"."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:499
|
||||
msgid ""
|
||||
"From WebODM you can then press the **Add New** button under **Processing "
|
||||
"Nodes**. For the **hostname/IP** field type the IP of the second "
|
||||
"computer. For the **port** field type “3000”. For the **token** field "
|
||||
"type “secret”. You can also add an optional **label** for your node, such"
|
||||
" as “second computer”. Then press **Save**."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:501
|
||||
msgid ""
|
||||
"If everything went well, you should now have two processing nodes! You "
|
||||
"will be able to process multiple tasks in parallel using two different "
|
||||
"machines."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:503
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/installation.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,275 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/large.rst:4
|
||||
msgid "Splitting Large Datasets"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:6
|
||||
msgid ""
|
||||
"Starting with ODM version ``0.6.0`` you can split up very large datasets "
|
||||
"into manageable chunks (called submodels), running the pipeline on each "
|
||||
"chunk, and then producing merged DEMs, orthophotos and point clouds. The "
|
||||
"process is referred to as \"split-merge\"."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:8
|
||||
msgid ""
|
||||
"Why might you use the split-merge pipeline? If you have a very large "
|
||||
"number of images in your dataset, split-merge will help make the "
|
||||
"processing more manageable on a large machine (it will require less "
|
||||
"memory). If you have many machines all connected to the same network you "
|
||||
"can also process the submodels in parallel, thus allowing for horizontal "
|
||||
"scaling and processing thousands of images more quickly."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:10
|
||||
msgid ""
|
||||
"Split-merge works in WebODM out of the box as long as the processing "
|
||||
"nodes support split-merge, by enabling the ``--split`` option when "
|
||||
"creating a new task."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:13
|
||||
msgid "Calibrate images"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:15
|
||||
msgid ""
|
||||
"Image calibration is recommended (but not required) for large datasets "
|
||||
"because error propagation due to image distortion could cause a bowl "
|
||||
"effect on the models. Calibration instructions can be found at "
|
||||
"`Calibrate Images <tutorials.html#calibrating-the-camera>`_."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:21
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:24
|
||||
msgid "Local Split-Merge"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:26
|
||||
msgid ""
|
||||
"Splitting a dataset into more manageable submodels and sequentially "
|
||||
"processing all submodels on the same machine is easy! Just use "
|
||||
"``--split`` and ``--split-overlap`` to decide the the average number of "
|
||||
"images per submodels and the overlap (in meters) between submodels "
|
||||
"respectively"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:32
|
||||
msgid ""
|
||||
"If you already know how you want to split the dataset, you can provide "
|
||||
"that information and it will be used instead of the clustering algorithm."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:34
|
||||
msgid ""
|
||||
"The grouping can be provided by adding a file named image_groups.txt in "
|
||||
"the main dataset folder. The file should have one line per image. Each "
|
||||
"line should have two words: first the name of the image and second the "
|
||||
"name of the group it belongs to. For example::"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:42
|
||||
msgid ""
|
||||
"will create 3 submodels. Make sure to pass ``--split-overlap 0`` if you "
|
||||
"manually provide a ``image_groups.txt`` file."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:46
|
||||
msgid "Distributed Split-Merge"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:48
|
||||
msgid ""
|
||||
"ODM can also automatically distribute the processing of each submodel to "
|
||||
"multiple machines via `NodeODM "
|
||||
"<https://github.com/OpenDroneMap/NodeODM>`_ nodes, orchestrated via "
|
||||
"`ClusterODM <https://github.com/OpenDroneMap/ClusterODM>`_."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:55
|
||||
msgid "Getting Started with Distributed Split-Merge"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:57
|
||||
msgid "The first step is start ClusterODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:63
|
||||
msgid ""
|
||||
"Then on each machine you want to use for processing, launch a NodeODM "
|
||||
"instance via"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:69
|
||||
msgid ""
|
||||
"Connect via telnet to ClusterODM and add the IP addresses/port of the "
|
||||
"machines running NodeODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:84
|
||||
msgid "Make sure you are running version ``1.5.1`` or higher of the NodeODM API."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:86
|
||||
msgid ""
|
||||
"At this point, simply use the ``--sm-cluster`` option to enable "
|
||||
"distributed split-merge"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:93
|
||||
msgid "Understanding the Cluster"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:95
|
||||
msgid ""
|
||||
"When connected via telnet, it is possible to interrogate what is "
|
||||
"happening on the cluster. For example, we can use the command HELP to "
|
||||
"find out available commands"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:118
|
||||
msgid ""
|
||||
"If, for example, the NodeODM instance wasn't active when ClusterODM "
|
||||
"started, we might list nodes and see something as follows"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:125
|
||||
msgid ""
|
||||
"To address this, we can start up our local node (if not already started),"
|
||||
" and then perform a ``NODE UPDATE``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:135
|
||||
msgid "Accessing the Logs"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:137
|
||||
msgid ""
|
||||
"While a process is running, it is also possible to list the tasks, and "
|
||||
"view the task output"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:145
|
||||
msgid "Autoscaling ClusterODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:147
|
||||
msgid ""
|
||||
"ClusterODM also includes the option to autoscale on multiple platforms, "
|
||||
"including, to date, Amazon and Digital Ocean. This allows users to reduce"
|
||||
" costs associated with always-on instances as well as being able to scale"
|
||||
" processing based on demand."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:149
|
||||
msgid "To setup autoscaling you must:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:151
|
||||
msgid "Have a functioning version of NodeJS installed and then install ClusterODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:159
|
||||
msgid "Make sure docker-machine is installed."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:160
|
||||
msgid "Setup a S3-compatible bucket for storing results."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:161
|
||||
msgid ""
|
||||
"Create a configuration file for `DigitalOcean "
|
||||
"<https://github.com/OpenDroneMap/ClusterODM/blob/master/docs/digitalocean.md>`_"
|
||||
" or `Amazon Web Services "
|
||||
"<https://github.com/OpenDroneMap/ClusterODM/blob/master/docs/aws.md>`_."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:163
|
||||
msgid "You can then launch ClusterODM with"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:169
|
||||
msgid "You should see something similar to following messages in the console"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:177
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You should always have at least one static NodeODM node attached to "
|
||||
"ClusterODM, even if you plan to use the autoscaler for all processing. If"
|
||||
" you setup auto scaling, you can't have zero nodes and rely 100% on the "
|
||||
"autoscaler. You need to attach a NodeODM node to act as the \"reference "
|
||||
"node\" otherwise ClusterODM will not know how to handle certain requests "
|
||||
"(for the forwarding the UI, for validating options prior to spinning up "
|
||||
"an instance, etc.). For this purpose, you should add a \"dummy\" NodeODM "
|
||||
"node and lock it"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:187
|
||||
msgid "This way all tasks will be automatically forwarded to the autoscaler."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:190
|
||||
msgid "Limitations"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:192
|
||||
msgid ""
|
||||
"The 3D textured meshes are currently not being merged as part of the "
|
||||
"workflow (only point clouds, DEMs and orthophotos are)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:194
|
||||
msgid ""
|
||||
"GCPs are fully supported, however, there needs to be at least 3 GCP "
|
||||
"points on each submodel for the georeferencing to take place. If a "
|
||||
"submodel has fewer than 3 GCPs, a combination of the remaining GCPs + "
|
||||
"EXIF data will be used instead (which is going to be less accurate). We "
|
||||
"recommend using the ``image_groups.txt`` file to accurately control the "
|
||||
"submodel split when using GCPs."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:197
|
||||
msgid "Acknowledgments"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:198
|
||||
msgid ""
|
||||
"Huge props to Pau and the folks at Mapillary for their amazing "
|
||||
"contributions to OpenDroneMap through their OpenSfM code, which is a key "
|
||||
"component of the split-merge pipeline. We look forward to further pushing"
|
||||
" the limits of OpenDroneMap and seeing how big a dataset we can process."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:200
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/large.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,135 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/outputs.rst:2
|
||||
msgid "OpenDroneMap Outputs"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:4
|
||||
msgid "Listed below are some of the useful outputs ODM produces."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:7
|
||||
msgid "Point Cloud"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:9
|
||||
msgid ""
|
||||
"``odm_georeferencing/odm_georeferenced_model.ply/laz/csv`` -- The "
|
||||
"georeferenced point cloud in different file formats"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:15
|
||||
msgid ""
|
||||
"*Point cloud over State University Zanzibar, courtesy of* `Khadija "
|
||||
"Abdullah Ali <https://www.linkedin.com/in/khadija-abdulla-ali-"
|
||||
"56b4044a/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:19
|
||||
msgid "3D Textured Model"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:21
|
||||
msgid ""
|
||||
"``odm_texturing/odm_textured_model.obj`` -- The textured surface mesh "
|
||||
"``odm_texturing/odm_textured_model_geo.obj`` -- The georeferenced and "
|
||||
"textured surface mesh"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:24
|
||||
msgid ""
|
||||
"You can access the point cloud and textured meshes using MeshLab. Open "
|
||||
"MeshLab, and choose File:Import Mesh and choose your textured mesh from a"
|
||||
" location similar to the following: "
|
||||
"``odm_texturing\\odm_textured_model.obj``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:30
|
||||
msgid ""
|
||||
"*Textured mesh over State University Zanzibar, courtesy of* `Khadija "
|
||||
"Abdullah Ali <https://www.linkedin.com/in/khadija-abdulla-ali-"
|
||||
"56b4044a/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:33
|
||||
msgid "Orthophoto"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:35
|
||||
msgid ""
|
||||
"``odm_orthophoto/odm_orthphoto.png`` -- The orthophoto, but this is a "
|
||||
"simple png, which doesn't have any georeferencing information"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:37
|
||||
msgid ""
|
||||
"``odm_orthophoto/odm_orthphoto.tif`` -- GeoTIFF Orthophoto. You can use "
|
||||
"it in QGIS as a raster layer."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:43
|
||||
msgid ""
|
||||
"*Orthophoto over State University Zanzibar, courtesy of* `Khadija "
|
||||
"Abdullah Ali <https://www.linkedin.com/in/khadija-abdulla-ali-"
|
||||
"56b4044a/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:46
|
||||
msgid "DTM/DSM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:48
|
||||
msgid ""
|
||||
"DTM/DSM will only be created if the ``--dtm`` or ``--dsm`` options are "
|
||||
"used. See `tutorial on elevation models "
|
||||
"<https://docs.opendronemap.org/tutorials.html#creating-digital-elevation-"
|
||||
"models>`_ for more options in creating."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:50
|
||||
msgid "Data will be stored in:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:52
|
||||
msgid "``odm_dem/dtm.tif``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:53
|
||||
msgid "``odm_dem/dsm.tif``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:59
|
||||
msgid ""
|
||||
"*Digital surface model over State University Zanzibar, courtesy of* "
|
||||
"`Khadija Abdullah Ali <https://www.linkedin.com/in/khadija-abdulla-ali-"
|
||||
"56b4044a/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:62
|
||||
msgid "List of all outputs"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:109
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/outputs.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,95 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/resources.rst:2
|
||||
msgid "Additional References"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:5
|
||||
msgid "For Users"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:7
|
||||
msgid "The following resources are a good place to start:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:9
|
||||
msgid "`README page for ODM <https://github.com/OpenDroneMap/OpenDroneMap>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:10
|
||||
msgid "`README page for WebODM <https://github.com/OpenDroneMap/WebODM>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:11
|
||||
msgid ""
|
||||
"`README page for NodeODM <https://github.com/OpenDroneMap/node-"
|
||||
"OpenDroneMap>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:12
|
||||
msgid ""
|
||||
"`Ground Control Points Format Specification "
|
||||
"<https://github.com/mapillary/OpenSfM/blob/master/doc/source/gcp.rst>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:13
|
||||
msgid "`OpenDroneMap: The Missing Guide <https://odmbook.com/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:16
|
||||
msgid "For Developers"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:18
|
||||
msgid "In addition to user resources, we recommend to also read the following:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:20
|
||||
msgid "WebODM documentation: https://docs.webodm.org"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:21
|
||||
msgid ""
|
||||
"NodeODM API specification: "
|
||||
"https://github.com/OpenDroneMap/NodeODM/blob/master/docs/index.adoc"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:22
|
||||
msgid ""
|
||||
"Overview of the ODM pipeline: http://community.opendronemap.org/t/where-"
|
||||
"can-i-find-background-information-on-the-concepts-of-odm/665/2"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:23
|
||||
msgid ""
|
||||
"We keep a `section in our forum dedicated to research papers "
|
||||
"<http://community.opendronemap.org/c/ideas-proposals/research-papers>`_. "
|
||||
"This is a valuable place where to read more about state of the art "
|
||||
"research related to structure from motion, multi-view stereo, meshing, "
|
||||
"texturing, etc. which can be used to improve the software."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:26
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/api.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,440 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/tutorials.rst:4
|
||||
msgid "Tutorials"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:6
|
||||
msgid "Below you will find instructions for some common use cases."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:9
|
||||
msgid "Creating High Quality Orthophotos"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:15
|
||||
msgid ""
|
||||
"Without any parameter tweaks, ODM chooses a good compromise between "
|
||||
"quality, speed and memory usage. If you want to get higher quality "
|
||||
"results, you need to tweak some parameters:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:17
|
||||
msgid ""
|
||||
"``--orthophoto-resolution`` is the resolution of the orthophoto in "
|
||||
"cm/pixel. Decrease this value for a higher resolution result."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:18
|
||||
msgid ""
|
||||
"``--ignore-gsd`` 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 will produce sharper results."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:19
|
||||
msgid ""
|
||||
"``--texturing-nadir-weight`` should be increased to ``29-32`` in urban "
|
||||
"areas to reconstruct better edges of roofs. It should be decreased to "
|
||||
"``0-6`` in grassy / flat areas."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:20
|
||||
msgid "``--texturing-data-term`` should be set to `area` in forest areas."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:21
|
||||
msgid ""
|
||||
"``--mesh-size`` should be increased to `300000-600000` and `--mesh-"
|
||||
"octree-depth`` should be increased to `10-11` in urban areas to recreate "
|
||||
"better buildings / roofs."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:24
|
||||
msgid "Calibrating the Camera"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:26
|
||||
msgid ""
|
||||
"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 `Mitigating systematic error in topographic models derived from "
|
||||
"UAV and ground‐based image networks "
|
||||
"<https://onlinelibrary.wiley.com/doi/full/10.1002/esp.3609>`_ address how"
|
||||
" to minimize the distortion from self-calibration."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:32
|
||||
msgid ""
|
||||
"*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.*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:34
|
||||
msgid ""
|
||||
"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°."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:42
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:44
|
||||
msgid ""
|
||||
"Alternatively, the following experimental method can be applied: fly with"
|
||||
" much lower overlap, but two *crossgrid* flights (sometimes called "
|
||||
"crosshatch) separated by 20° with a 5° forward facing camera."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:46
|
||||
#, python-format
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:47
|
||||
#, python-format
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:53
|
||||
msgid ""
|
||||
"Vertically separated flight lines also improve accuracy, but less so than"
|
||||
" a camera that is forward facing by 5°."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:59
|
||||
msgid ""
|
||||
"From James and Robson (2014), `CC BY 4.0 "
|
||||
"<https://creativecommons.org/licenses/by/4.0>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:62
|
||||
msgid "Creating Digital Elevation Models"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:64
|
||||
msgid ""
|
||||
"By default ODM does not create DEMs. To create a digital terrain model, "
|
||||
"make sure to pass the ``--dtm`` flag. To create a digital surface model, "
|
||||
"be sure to pass the ``--dsm`` flag."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:70
|
||||
msgid ""
|
||||
"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 ``smrf`` filter can be controlled via several parameters:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:72
|
||||
msgid ""
|
||||
"``--smrf-scalar`` scaling value. Increase this parameter for terrains "
|
||||
"with lots of height variation."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:73
|
||||
msgid ""
|
||||
"``--smrf-slope`` 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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:74
|
||||
msgid ""
|
||||
"``--smrf-threshold`` elevation threshold. Set this parameter to the "
|
||||
"minimum height (in meters) that you expect non-ground objects to be."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:75
|
||||
msgid ""
|
||||
"``--smrf-window`` 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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:77
|
||||
msgid ""
|
||||
"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 `An improved simple morphological filter for "
|
||||
"the terrain classification of airborne LIDAR data "
|
||||
"<https://www.researchgate.net/publication/258333806_An_Improved_Simple_Morphological_Filter_for_the_Terrain_Classification_of_Airborne_LIDAR_Data>`_"
|
||||
" (PDF freely available)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:79
|
||||
msgid "Overall the ``--smrf-threshold`` option has the biggest impact on results."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:81
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:87
|
||||
msgid "Two other important parameters affect DEM generation:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:89
|
||||
msgid ""
|
||||
"``--dem-resolution`` which sets the output resolution of the DEM raster "
|
||||
"(cm/pixel)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:90
|
||||
msgid ""
|
||||
"``--dem-gapfill-steps`` which determines the number of progressive DEM "
|
||||
"layers to use. For urban scenes increasing this value to `4-5` can help "
|
||||
"produce better interpolation results in the areas that are left empty by "
|
||||
"the SMRF filter."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:92
|
||||
msgid "Example of how to generate a DTM::"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:99
|
||||
msgid "Ground Control Points"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:101
|
||||
msgid ""
|
||||
"Ground control points are useful for correcting distortions in the data "
|
||||
"and referencing the data to know coordinate systems."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:103
|
||||
msgid "The format of the GCP file is simple."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:105
|
||||
msgid ""
|
||||
"The header line is a description of a UTM coordinate system, which must "
|
||||
"be written as a proj4 string. http://spatialreference.org/ is a good "
|
||||
"resource for finding that information. Please note that currently angular"
|
||||
" coordinates (like lat/lon) DO NOT work."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:106
|
||||
msgid ""
|
||||
"Subsequent lines are the X, Y & Z coordinates, your associated pixels and"
|
||||
" the image filename:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:108
|
||||
msgid "GCP file format::"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:114
|
||||
msgid "e.g. for the Langley dataset::"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:121
|
||||
msgid ""
|
||||
"If you supply a GCP file called gcp_list.txt then ODM will automatically "
|
||||
"detect it. If it has another name you can specify using ``--gcp <path>``."
|
||||
" If you have a gcp file and want to do georeferencing with exif instead, "
|
||||
"then you can specify ``--use-exif``."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:123
|
||||
msgid ""
|
||||
"`This post has some information about placing Ground Control Targets "
|
||||
"before a flight <http://diydrones.com/profiles/blogs/ground-control-"
|
||||
"points-gcps-for-aerial-photography>`_, but if you already have images, "
|
||||
"you can find your own points in the images post facto. It's important "
|
||||
"that you find high-contrast objects that are found in **at least** 3 "
|
||||
"photos, and that you find a minimum of 5 objects."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:125
|
||||
msgid ""
|
||||
"Sharp corners are good picks for GCPs. You should also place/find the "
|
||||
"GCPs evenly around your survey area."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:127
|
||||
msgid ""
|
||||
"The ``gcp_list.txt`` file must be created in the base of your project "
|
||||
"folder."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:129
|
||||
msgid ""
|
||||
"For good results your file should have a minimum of 15 lines after the "
|
||||
"header (5 points with 3 images to each point)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:132
|
||||
msgid "Ground Control Points Interface"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:134
|
||||
msgid ""
|
||||
"WebODM has a GCP interface, and example of which can be seen on `the "
|
||||
"WebODM Demo <http://demo.webodm.org/plugins/posm-gcpi/>`_. To use this "
|
||||
"with known ground control XYZ values, one would do the following:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:136
|
||||
msgid ""
|
||||
"Create a GCP list that only includes gcp name (this is the label that "
|
||||
"will be seen in the GCP interface), x, y, and z, with a header with a "
|
||||
"proj4 string of your GCPs (make sure they are in a planar coordinate "
|
||||
"system, such as UTM. It should look something like this:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:147
|
||||
msgid ""
|
||||
"Then one can load this GCP list into the interface, load the images, and "
|
||||
"place each of the GCPs in the image."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:149
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/using.rst>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:152
|
||||
msgid "Using Docker"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:154
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:156
|
||||
msgid "A few simple commands can make our docker experience much better."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:159
|
||||
msgid "Listing Docker Machines"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:161
|
||||
msgid ""
|
||||
"We can start by listing available docker machines on the current machine "
|
||||
"we are running as follows:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:170
|
||||
msgid ""
|
||||
"If we want to see machines that may not be running but still exist, we "
|
||||
"can add the `-a` flag:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:183
|
||||
msgid "Accessing logs on the instance"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:185
|
||||
msgid ""
|
||||
"Using either the `CONTAINER ID` or the name, we can access any logs "
|
||||
"available on the machine as follows:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:191
|
||||
msgid ""
|
||||
"This is likely to be unwieldy large, but we can use a pipe `|` character "
|
||||
"and other tools to extract just what we need from the logs. For example "
|
||||
"we can move through the log slowly using the `more` command:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:207
|
||||
msgid ""
|
||||
"Pressing `Enter` or `Space`, arrow keys or `Page Up` or `Page Down` keys "
|
||||
"will now help us navigate through the logs. The lower case letter `Q` "
|
||||
"will let us escape back to the command line."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:209
|
||||
msgid ""
|
||||
"We can also extract just the end of the logs using the `tail` commmand as"
|
||||
" follows:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:220
|
||||
msgid ""
|
||||
"The value `-5` tells the tail command to give us just the last 5 lines of"
|
||||
" the logs."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:223
|
||||
msgid "Command line access to instances"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:225
|
||||
msgid ""
|
||||
"Sometimes we need to go a little deeper in our exploration of the process"
|
||||
" for OpenDroneMap. For this, we can get direct command line access to the"
|
||||
" machines. For this, we can use `docker exec` to execute a `bash` command"
|
||||
" line shell in the machine of interest as follows:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:232
|
||||
msgid "Now we are logged into our docker instance and can explore the machine."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:235
|
||||
msgid "Cleaning up after Docker"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:237
|
||||
msgid ""
|
||||
"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 `excellent overview of how to manage excess disk "
|
||||
"usage in docker <https://lebkowski.name/docker-volumes/>`_."
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/arguments.rst:4
|
||||
msgid "Options and Flags"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/arguments.rst:6
|
||||
msgid "Arguments::"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/arguments.rst:289
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/using.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,193 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/contributing.rst:4
|
||||
msgid "How to contribute"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:6
|
||||
msgid ""
|
||||
"OpenDroneMap relies on community contributions. You can contribute in "
|
||||
"many ways, even if you are not a programmer."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:9
|
||||
msgid "Community Forum"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:11
|
||||
msgid ""
|
||||
"If you are looking to get involved, are stuck on a problem, or want to "
|
||||
"reach out, `the forum <https://community.opendronemap.org/>`_ is a great "
|
||||
"place to start. You may find your questions already answered or else you "
|
||||
"can find other useful tips and resources. You can also contribute your "
|
||||
"open access datasets for others to explore. It is a good place go before "
|
||||
"submitting bug reports or getting in touch with developers before writing"
|
||||
" a new feature."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:14
|
||||
msgid "Reporting Bugs"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:16
|
||||
msgid ""
|
||||
"Bugs are tracked as Github issues. Please create an issue in the "
|
||||
"repository and tag it with the Bug tag."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:18
|
||||
msgid ""
|
||||
"Explain the problem and include additional details to help maintainers "
|
||||
"reproduce the problem:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:20
|
||||
msgid ""
|
||||
"**Use a clear and descriptive title** for the issue to identify the "
|
||||
"problem."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:21
|
||||
msgid ""
|
||||
"**Describe the exact steps which reproduce the problem** in as many "
|
||||
"details as possible. For example, start by explaining how you run ODM "
|
||||
"(Docker, Vagrant, etc), e.g. which command exactly you used in the "
|
||||
"terminal. When listing steps, **don't just say what you did, but explain "
|
||||
"how you did it.**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:22
|
||||
msgid ""
|
||||
"**Provide specific examples to demonstrate the steps.** Include links to "
|
||||
"files or GitHub projects, or copy/pasteable snippets, which you use in "
|
||||
"those examples. If you're providing snippets in the issue, use `Markdown "
|
||||
"code blocks <https://help.github.com/articles/markdown-basics/#multiple-"
|
||||
"lines>`_."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:23
|
||||
msgid ""
|
||||
"**Describe the behavior you observed after following the steps** and "
|
||||
"point out what exactly is the problem with that behavior."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:24
|
||||
msgid "**Explain which behavior you expected to see instead and why.**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:25
|
||||
msgid ""
|
||||
"**Include screenshots and animated GIFs** which show you following the "
|
||||
"described steps and clearly demonstrate the problem. You can use `this "
|
||||
"tool to record GIFs on macOS and Windows "
|
||||
"<http://www.cockos.com/licecap/>`_, and `this tool "
|
||||
"<https://github.com/colinkeenan/silentcast>`_ or `this one "
|
||||
"<https://github.com/GNOME/byzanz>`_ on Linux."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:26
|
||||
msgid ""
|
||||
"**If the problem is related to performance,** please post your machine's "
|
||||
"specs (host and guest machine)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:27
|
||||
msgid ""
|
||||
"**If the problem wasn't triggered by a specific action,** describe what "
|
||||
"you were doing before the problem happened and share more information "
|
||||
"using the guidelines below."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:29
|
||||
msgid "Include details about your configuration and environment:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:31
|
||||
msgid ""
|
||||
"**Which version of ODM are you using?** A stable release? a clone of "
|
||||
"master?"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:32
|
||||
msgid "**What's the name and version of the OS you're using?**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:33
|
||||
msgid ""
|
||||
"**Are you running ODM in a virtual machine or Docker?** If so, which VM "
|
||||
"software are you using and which operating systems and versions are used "
|
||||
"for the host and the guest?"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:36
|
||||
msgid "Template For Submitting Bug Reports"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:69
|
||||
msgid "Pull Requests"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:71
|
||||
msgid ""
|
||||
"Include screenshots and animated GIFs in your pull request whenever "
|
||||
"possible."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:72
|
||||
msgid "Follow the PEP8 Python Style Guide."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:73
|
||||
msgid "End files with a newline."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:76
|
||||
msgid "Avoid platform-dependent code:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:75
|
||||
msgid "Use require('fs-plus').getHomeDirectory() to get the home directory."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:76
|
||||
msgid "Use path.join() to concatenate filenames."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:77
|
||||
msgid ""
|
||||
"Use os.tmpdir() rather than /tmp when you need to reference the temporary"
|
||||
" directory."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:79
|
||||
msgid "Using a plain return when returning explicitly at the end of a function."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:79
|
||||
msgid "Not return null, return undefined, null, or undefined"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:81
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/contributing.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,75 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/flying.rst:2
|
||||
msgid "Flying tips"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:4
|
||||
msgid ""
|
||||
"The `Humanitarian OpenStreetMap team <https://www.hotosm.org/>`_ has "
|
||||
"guidelines on `flying for UAV mapping <https://uav-"
|
||||
"guidelines.openaerialmap.org/>`_:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:6
|
||||
msgid ""
|
||||
"`Choosing the right UAV <https://uav-"
|
||||
"guidelines.openaerialmap.org/pages/05-choosing-the-right-uav/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:8
|
||||
msgid ""
|
||||
"`Choosing the right sensor <https://uav-"
|
||||
"guidelines.openaerialmap.org/pages/06-choosing-the-sensor/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:10
|
||||
msgid ""
|
||||
"`Mission preparation <https://uav-guidelines.openaerialmap.org/pages/07"
|
||||
"-preparing-for-the-uav-mission/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:12
|
||||
msgid ""
|
||||
"The guidelines are intended for drone mapping projects on islands, but "
|
||||
"have general use for all drone mappers."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:14
|
||||
msgid ""
|
||||
"See also DroneDeploy's guide on `Making Successful Maps "
|
||||
"<https://support.dronedeploy.com/docs/making-successful-maps>`_, which "
|
||||
"provides great tips on mission planning."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:16
|
||||
msgid ""
|
||||
"Finally, lens distortion is a challenge in projects requiring accurate 3D"
|
||||
" data. See our section in these docs on `Camera Calibration "
|
||||
"<tutorials.html#calibrating-the-camera>`_."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:18
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/flying.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/index.rst:8
|
||||
msgid "Welcome to OpenDroneMap's documentation"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/index.rst:40
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/index.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,778 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/installation.rst:4
|
||||
msgid "Installation and Getting Started"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:6
|
||||
msgid ""
|
||||
"This section is excerpted and modified with permission from "
|
||||
"`OpenDroneMap: The Missing Guide <https://odmbook.com>`_, by Piero "
|
||||
"Toffanin."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:8
|
||||
msgid ""
|
||||
"Until recently OpenDroneMap was the term used to refer to a single "
|
||||
"command line application (what is now known as the ODM project). With "
|
||||
"the recent development of a web interface, an API and other tools, "
|
||||
"OpenDroneMap has become an ecosystem of various applications to process, "
|
||||
"analyze and display aerial data. This ecosystem is made of several "
|
||||
"components:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:14
|
||||
msgid ""
|
||||
"**ODM** is the processing engine, which can be used from the command "
|
||||
"line. It takes images as input and produces a variety of outputs, "
|
||||
"including point clouds, 3D models and orthophotos"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:20
|
||||
msgid ""
|
||||
"**NodeODM** is a light-weight API built on top of ODM. It allows users "
|
||||
"and applications to access the functions of ODM over a computer network"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:26
|
||||
msgid ""
|
||||
"**WebODM** is a friendly user interface that includes a map viewer, a 3D "
|
||||
"viewer, user logins, a plugin system and many other features that are "
|
||||
"expected of modern drone mapping platforms"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:32
|
||||
msgid ""
|
||||
"**CloudODM** is a small command line client to communicate with ODM via "
|
||||
"the NodeODM API"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:38
|
||||
msgid ""
|
||||
"**PyODM** is a Python SDK for creating tasks via the NodeODM API. We "
|
||||
"cover it in more detail in the “Automated Processing With Python” chapter"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:44
|
||||
msgid ""
|
||||
"**ClusterODM** is a load balancer for connecting together multiple "
|
||||
"NodeODM instances"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:46
|
||||
msgid ""
|
||||
"ODM, NodeODM and WebODM are available on all major platforms (Windows, "
|
||||
"macOS and Linux) via a program called docker, which is required to run "
|
||||
"the software. Docker offers a way to run “containers”. Containers are "
|
||||
"packaged copies of an entire system, its software and its dependencies. "
|
||||
"These containers run within a virtual environment. On Linux this virtual "
|
||||
"environment is available from the operating system and is very efficient."
|
||||
" On macOS and Windows the containers run within a VM, so there’s a bit of"
|
||||
" a overhead. but it’s still very suitable for running the software. Once "
|
||||
"installed users do not have to worry much about docker, as it operates "
|
||||
"(almost) transparently."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:48
|
||||
msgid ""
|
||||
"Without docker it would not be possible to run ODM on Windows or macOS. "
|
||||
"On these platforms ODM cannot run natively. Future development efforts "
|
||||
"are being focused on leveraging the new Windows Subsystem for Linux (WSL)"
|
||||
" and the possibility to make a native port of all dependencies to macOS, "
|
||||
"which is going to make the installation much easier."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:50
|
||||
msgid ""
|
||||
"On Ubuntu Linux 16.04 it’s feasible to run all OpenDroneMap software "
|
||||
"natively. However, because there’s very little performance penalty for "
|
||||
"running docker on Linux and docker is straightforward to setup on this "
|
||||
"platform, we don’t recommend it. On Linux the advantages of "
|
||||
"containerization far outweigh a tiny performance penalty. With docker "
|
||||
"users also get easy one-step updates of the software, so that’s nice."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:54
|
||||
msgid "Hardware Recommendations"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:56
|
||||
msgid "The bare minimum requirements for running the software are:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:59
|
||||
msgid "64bit CPU manufactured on or after 2010"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:60
|
||||
msgid "20 GB of disk space"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:61
|
||||
msgid "4 GB RAM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:63
|
||||
msgid ""
|
||||
"No more than 100-200 images can be processed with the above "
|
||||
"specifications (the software will run out of memory). Recommended "
|
||||
"requirements are:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:65
|
||||
msgid "Latest Generation CPU"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:66
|
||||
msgid "100 GB of disk space"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:67
|
||||
msgid "16 GB RAM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:69
|
||||
msgid ""
|
||||
"The above will allow for a few hundred images to be processed without too"
|
||||
" many issues. A CPU with more cores will allow for faster processing, "
|
||||
"while a graphics card (GPU) currently has no impact on performance. For "
|
||||
"processing more images, add more disk space and RAM linearly to the "
|
||||
"number of images you need to process."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:75
|
||||
msgid "Installation"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:77
|
||||
msgid ""
|
||||
"We recommend people use `docker <https://www.docker.com>`_ for running "
|
||||
"ODM, whether you are on Windows, macOS or Linux."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:80
|
||||
msgid "Windows"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:82
|
||||
msgid ""
|
||||
"To run OpenDroneMap you need at least Windows 7. Previous versions of "
|
||||
"Windows are not supported."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:86 ../../source/installation.rst:237
|
||||
msgid "Step 1. Check Virtualization Support"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:88
|
||||
msgid ""
|
||||
"Docker requires a feature from your CPU called virtualization, which "
|
||||
"allows it to run virtual machines (VMs). Make sure you have it enabled! "
|
||||
"Sometimes this is disabled. To check, on Windows 8 or higher you can open"
|
||||
" the **Task Manager** (press CTRL+SHIFT+ESC) and switch to the "
|
||||
"**Performance** tab."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:94
|
||||
msgid "*Virtualization should be enabled*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:96
|
||||
msgid ""
|
||||
"On Windows 7 to see if you have virtualization enabled you can use the "
|
||||
"`Microsoft® Hardware-Assisted Virtualization Detection Tool <http:// "
|
||||
"www.microsoft.com/en-us/download/details.aspx?id=592>`_ instead."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:99
|
||||
msgid ""
|
||||
"If virtualization is disabled, you’ll need to enable it. The procedure "
|
||||
"unfortunately is a bit different for each computer model, so the best way"
|
||||
" to do this is to look up on a search engine “how to enable vtx for <type"
|
||||
" your computer model here>”. Often times it’s a matter of restarting the "
|
||||
"computer, immediately pressing F2 or F12 during startup, navigating the "
|
||||
"boot menu and changing the settings to enable virtualization (often "
|
||||
"called “VT-X”)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:105
|
||||
msgid ""
|
||||
"*Common keys to press at computer startup to access the boot menu for "
|
||||
"various PC vendors*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:108 ../../source/installation.rst:256
|
||||
msgid "Step 2. Install Requirements"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:110
|
||||
msgid "First, you’ll need to install:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:112
|
||||
msgid "Git: https://git-scm.com/downloads"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:113
|
||||
msgid "Python (latest version 3): https://www.python.org/downloads/windows/"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:115
|
||||
msgid ""
|
||||
"For Python 3, make sure you check **Add Python 3.x to PATH** during the "
|
||||
"installation."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:121
|
||||
msgid ""
|
||||
"*Don’t forget to add the Python executable to your PATH (so that you can "
|
||||
"run commands with it)*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:123
|
||||
msgid ""
|
||||
"Then, only if you are on Windows 10 Home, Windows 8 (any version) or "
|
||||
"Windows 7 (any version), install:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:125
|
||||
msgid ""
|
||||
"Docker Toolbox: "
|
||||
"https://github.com/docker/toolbox/releases/download/v18.09.3/DockerToolbox-18.09.3.exe"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:127
|
||||
msgid ""
|
||||
"If you are on Windows 10 Professional or a newer version, you should "
|
||||
"install instead:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:129
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Docker for Windows: "
|
||||
"https://download.docker.com/win/stable/Docker%20for%20Windows%20Installer.exe"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:131
|
||||
msgid ""
|
||||
"Please do **NOT** install both docker programs. They are different and "
|
||||
"will create a mess if they are both installed."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:133
|
||||
msgid ""
|
||||
"After installing docker, launch it from the Desktop icon that is created "
|
||||
"from the installation (**Docker Quickstart** in the case of Docker "
|
||||
"Toolbox, **Docker for Windows** for Docker for Windows). This is "
|
||||
"important, do not skip this step. If there are errors, follow the prompts"
|
||||
" on screen to fix them."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:136 ../../source/installation.rst:298
|
||||
msgid "Step 3. Check Memory and CPU Allocation"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:138
|
||||
msgid ""
|
||||
"Docker on Windows works by running a VM in the background (think of a VM "
|
||||
"as a “computer emulator”). This VM has a certain amount of memory "
|
||||
"allocated and WebODM can only use as much memory as it’s allocated."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:140
|
||||
msgid ""
|
||||
"If you installed Docker Toolbox (see below if you installed Docker for "
|
||||
"Windows instead):"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:142
|
||||
msgid "Open the **VirtualBox Manager** application"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:143
|
||||
msgid ""
|
||||
"Right click the **default** VM and press **Close (ACPI Shutdown)** to "
|
||||
"stop the machine"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:144
|
||||
msgid "Right click the **default** VM and press **Settings...**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:145
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Move the **Base Memory** slider from the **System** paneland allocate "
|
||||
"60-70% of all available memory, optionally adding 50% of the available "
|
||||
"processors from the **Processor** tab also"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:151
|
||||
msgid "*VirtualBox default VM settings*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:153
|
||||
msgid "Then press **OK**, right click the **default** VM and press **Start**."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:155
|
||||
msgid "If you installed Docker for Windows instead:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:157
|
||||
msgid "Look in the system tray and right click the “white whale” icon."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:158
|
||||
msgid "From the menu, press **Settings...**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:159
|
||||
#, python-format
|
||||
msgid ""
|
||||
"From the panel, click **Advanced** and use the sliders to allocate 60-70%"
|
||||
" of available memory and use half of all available CPUs."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:160
|
||||
msgid "Press **Apply**."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:166
|
||||
msgid "*Step 1 Docker icon*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:172
|
||||
msgid "*Step 3 & 4 Docker settings*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:175
|
||||
msgid "Step 4. Download WebODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:177
|
||||
msgid "Open the **Git Gui** program that comes installed with Git. From there:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:179
|
||||
msgid "In **Source Location** type: https://github.com/Open-DroneMap/WebODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:180
|
||||
msgid ""
|
||||
"In **Target Directory** click browse and navigate to a folder of your "
|
||||
"choosing (create one if necessary)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:181
|
||||
msgid "Press **Clone**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:187
|
||||
msgid "*Git Gui*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:189
|
||||
msgid "If the download succeeded, you should now see this window:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:195
|
||||
msgid "*Git Gui after successful download (clone)*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:197
|
||||
msgid ""
|
||||
"Go to the **Repository** menu, then click **Create Desktop Icon**. This "
|
||||
"will allow you to come back to this application easily in the future."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:200
|
||||
msgid "Step 4. Launch WebODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:202
|
||||
msgid ""
|
||||
"From Git Gui, go to the **Repository** menu, then click **Git Bash**. "
|
||||
"From the command line terminal type:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:208
|
||||
msgid ""
|
||||
"Several components will download to your machine at this point, including"
|
||||
" WebODM, NodeODM and ODM. After the download you should be greeted by the"
|
||||
" following screen:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:214
|
||||
msgid "*Console output after starting WebODM for the first time*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:216
|
||||
msgid ""
|
||||
"If you are using Docker for Windows, open a web browser to "
|
||||
"http://localhost:8000"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:217
|
||||
msgid ""
|
||||
"If you are using Docker Toolbox, find the IP address to connect to by "
|
||||
"typing:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:223
|
||||
msgid "You should get a result like the following:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:229
|
||||
msgid ""
|
||||
"Then connect to http://192.168.1.100:8000 (replacing the IP address with "
|
||||
"the proper one)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:232
|
||||
msgid "macOS"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:234
|
||||
msgid ""
|
||||
"Most modern (post 2010) Mac computers running macOS Sierra 10.12 or "
|
||||
"higher can run OpenDroneMap using docker, as long as hardware "
|
||||
"virtualization is supported (see below)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:239
|
||||
msgid "Open a Terminal window and type:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:245
|
||||
msgid "You will get a response similar to the following:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:251
|
||||
msgid ""
|
||||
"If the result is *kern.hv_support: 1*, then your Mac is supported! "
|
||||
"Continue with Step 2."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:253
|
||||
msgid ""
|
||||
"If the result is *kern.hv_support: 0*, unfortunately it means your Mac is"
|
||||
" too old to run OpenDroneMap. :("
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:258
|
||||
msgid "There are only two programs to install:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:260
|
||||
msgid "Docker: https://download.docker.com/mac/stable/Docker.dmg"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:261
|
||||
msgid "Git: https://sourceforge.net/projects/git-osx-installer/files/"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:263
|
||||
msgid ""
|
||||
"After installing docker you should find an icon that looks like a whale "
|
||||
"in the task bar."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:269
|
||||
msgid "*Docker app running*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:271
|
||||
msgid ""
|
||||
"You can verify that docker is running properly by opening the "
|
||||
"**Terminal** app and typing:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:277
|
||||
msgid "Which should return"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:283
|
||||
msgid "To verify that git is installed, simply type:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:289
|
||||
msgid "Which should return something similar to the following:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:295
|
||||
msgid ""
|
||||
"If you get a “bash: git: command not found”, try to restart your "
|
||||
"**Terminal** app and double-check for any errors during the install "
|
||||
"process."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:300
|
||||
msgid ""
|
||||
"Docker on macOS works by running a VM in the background (think of it as a"
|
||||
" “computer emulator”). This VM has a certain amount of memory allocated "
|
||||
"and WebODM can only use as much memory as it’s allocated."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:302
|
||||
msgid "Right click the whale icon from the task bar and click **Preferences**..."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:303
|
||||
msgid "Select the **Advanced** tab"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:304
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Adjust the CPUs slider to use half of all available CPUs and the memory "
|
||||
"to use 60-70% of all available memory"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:305
|
||||
msgid "Press **Apply & Restart**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:311
|
||||
msgid "*Docker advanced settings*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:314
|
||||
msgid "Step 4. Download and Launch WebODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:316
|
||||
msgid "From a **Terminal** type:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:324 ../../source/installation.rst:425
|
||||
msgid "Then open a web browser to http://localhost:8000."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:327
|
||||
msgid "Linux"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:329
|
||||
msgid ""
|
||||
"OpenDroneMap can run on any Linux distribution that supports docker. "
|
||||
"According to `docker’s documentation website "
|
||||
"<https://docs.docker.com/install/>`_ the officially supported "
|
||||
"distributions are CentOS, Debian, Ubuntu and Fedora, with static binaries"
|
||||
" available for others. If you have to pick a distribution solely for "
|
||||
"running OpenDroneMap, Ubuntu is the recommended way to go."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:332
|
||||
msgid "Step 1. Install Requirements"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:334
|
||||
msgid "There are four programs that need to be installed:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:336
|
||||
msgid "Docker"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:337
|
||||
msgid "Git"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:338
|
||||
msgid "Python (2 or 3)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:339
|
||||
msgid "Pip"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:341
|
||||
msgid ""
|
||||
"We cannot possibly cover the installation process for every Linux "
|
||||
"distribution out there, so we’ll limit the instructions to those that are"
|
||||
" distributions officially supported by docker. In all cases it’s just a "
|
||||
"matter of opening a terminal prompt and typing a few commands."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:344
|
||||
msgid "Install on Ubuntu / Debian"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:346 ../../source/installation.rst:358
|
||||
#: ../../source/installation.rst:369 ../../source/installation.rst:380
|
||||
msgid "Commands to type:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:356
|
||||
msgid "Install on CentOS / RHEL"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:367
|
||||
msgid "Install on Fedora"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:378
|
||||
msgid "Install on Arch"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:387
|
||||
msgid "Step 2. Check Additional Requirements"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:389
|
||||
msgid ""
|
||||
"In addition to the three programs above, the dockercompose script is also"
|
||||
" needed. Sometimes it’s already installed with docker, but sometimes it "
|
||||
"isn’t. To verify if it’s installed try to type:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:395
|
||||
msgid "You should see somethings similar to the following:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:401
|
||||
msgid "If instead you get something similar to the following:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:407
|
||||
msgid "you can install it by using pip:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:415
|
||||
msgid "Step 3. Download and Launch WebODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:417
|
||||
msgid "From a terminal type:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:428
|
||||
msgid "Basic Commands and Troubleshooting"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:430
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The cool thing about using docker is that 99% of the tasks you’ll ever "
|
||||
"need to perform while using WebODM can be done via the ./webodm.sh "
|
||||
"script. You have already encountered one of them:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:436
|
||||
msgid ""
|
||||
"which takes care of starting WebODM and setting up a default processing "
|
||||
"node (node-odm-1). If you want to stop WebODM, you can already guess what"
|
||||
" the command is:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:442
|
||||
msgid ""
|
||||
"There are several other commands you can use, along with different flags."
|
||||
" Flags are parameters passed to the ./webodm.sh command and are typically"
|
||||
" prefixed with “–”. The **port** flag for example instructs WebODM to use"
|
||||
" a different network port:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:448
|
||||
msgid "Other useful commands are listed below:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:467
|
||||
msgid ""
|
||||
"`The community forum <https://community.opendronemap.org>`_ is a great "
|
||||
"place to ask for help if you get stuck during any of the installation"
|
||||
" steps and for general questions on using the ./webodm.sh script."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:470
|
||||
msgid "Hello, WebODM!"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:472
|
||||
msgid ""
|
||||
"After running ./webodm.sh start and opening WebODM in the browser, you "
|
||||
"will be greeted with a welcome message and will be asked to create the "
|
||||
"first user. Take some time to familiarize yourself with the web interface"
|
||||
" and explore its various menus."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:478
|
||||
msgid "*WebODM Dashboard*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:480
|
||||
msgid ""
|
||||
"Notice that under the **Processing Nodes** menu there’s a \"node-odm-1\" "
|
||||
"node already configured for you to use. This is a NodeODM node and has "
|
||||
"been created automatically by WebODM. This node is running on the same "
|
||||
"machine as WebODM."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:482
|
||||
msgid ""
|
||||
"If you’ve made it this far, congratulations! Now it’s time to start "
|
||||
"processing some data."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:489
|
||||
msgid "Running on more than one machine"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:491
|
||||
msgid ""
|
||||
"**Optionally:** If you have another computer, you can repeat the "
|
||||
"installation process (install docker, git, python, etc.) and launch a new"
|
||||
" NodeODM node by typing from a Terminal/Git Bash window:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:497
|
||||
msgid ""
|
||||
"The above command asks docker to launch a new container using the "
|
||||
"opendronemap/nodeodm image from Docker Hub (the latest version of "
|
||||
"NodeODM), using port 3000, setting a maximum number of concurrent tasks "
|
||||
"to 1 and to protect the node from unauthorized access using the password "
|
||||
"\"secret\"."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:499
|
||||
msgid ""
|
||||
"From WebODM you can then press the **Add New** button under **Processing "
|
||||
"Nodes**. For the **hostname/IP** field type the IP of the second "
|
||||
"computer. For the **port** field type “3000”. For the **token** field "
|
||||
"type “secret”. You can also add an optional **label** for your node, such"
|
||||
" as “second computer”. Then press **Save**."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:501
|
||||
msgid ""
|
||||
"If everything went well, you should now have two processing nodes! You "
|
||||
"will be able to process multiple tasks in parallel using two different "
|
||||
"machines."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:503
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/installation.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,275 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/large.rst:4
|
||||
msgid "Splitting Large Datasets"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:6
|
||||
msgid ""
|
||||
"Starting with ODM version ``0.6.0`` you can split up very large datasets "
|
||||
"into manageable chunks (called submodels), running the pipeline on each "
|
||||
"chunk, and then producing merged DEMs, orthophotos and point clouds. The "
|
||||
"process is referred to as \"split-merge\"."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:8
|
||||
msgid ""
|
||||
"Why might you use the split-merge pipeline? If you have a very large "
|
||||
"number of images in your dataset, split-merge will help make the "
|
||||
"processing more manageable on a large machine (it will require less "
|
||||
"memory). If you have many machines all connected to the same network you "
|
||||
"can also process the submodels in parallel, thus allowing for horizontal "
|
||||
"scaling and processing thousands of images more quickly."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:10
|
||||
msgid ""
|
||||
"Split-merge works in WebODM out of the box as long as the processing "
|
||||
"nodes support split-merge, by enabling the ``--split`` option when "
|
||||
"creating a new task."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:13
|
||||
msgid "Calibrate images"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:15
|
||||
msgid ""
|
||||
"Image calibration is recommended (but not required) for large datasets "
|
||||
"because error propagation due to image distortion could cause a bowl "
|
||||
"effect on the models. Calibration instructions can be found at "
|
||||
"`Calibrate Images <tutorials.html#calibrating-the-camera>`_."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:21
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:24
|
||||
msgid "Local Split-Merge"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:26
|
||||
msgid ""
|
||||
"Splitting a dataset into more manageable submodels and sequentially "
|
||||
"processing all submodels on the same machine is easy! Just use "
|
||||
"``--split`` and ``--split-overlap`` to decide the the average number of "
|
||||
"images per submodels and the overlap (in meters) between submodels "
|
||||
"respectively"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:32
|
||||
msgid ""
|
||||
"If you already know how you want to split the dataset, you can provide "
|
||||
"that information and it will be used instead of the clustering algorithm."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:34
|
||||
msgid ""
|
||||
"The grouping can be provided by adding a file named image_groups.txt in "
|
||||
"the main dataset folder. The file should have one line per image. Each "
|
||||
"line should have two words: first the name of the image and second the "
|
||||
"name of the group it belongs to. For example::"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:42
|
||||
msgid ""
|
||||
"will create 3 submodels. Make sure to pass ``--split-overlap 0`` if you "
|
||||
"manually provide a ``image_groups.txt`` file."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:46
|
||||
msgid "Distributed Split-Merge"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:48
|
||||
msgid ""
|
||||
"ODM can also automatically distribute the processing of each submodel to "
|
||||
"multiple machines via `NodeODM "
|
||||
"<https://github.com/OpenDroneMap/NodeODM>`_ nodes, orchestrated via "
|
||||
"`ClusterODM <https://github.com/OpenDroneMap/ClusterODM>`_."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:55
|
||||
msgid "Getting Started with Distributed Split-Merge"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:57
|
||||
msgid "The first step is start ClusterODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:63
|
||||
msgid ""
|
||||
"Then on each machine you want to use for processing, launch a NodeODM "
|
||||
"instance via"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:69
|
||||
msgid ""
|
||||
"Connect via telnet to ClusterODM and add the IP addresses/port of the "
|
||||
"machines running NodeODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:84
|
||||
msgid "Make sure you are running version ``1.5.1`` or higher of the NodeODM API."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:86
|
||||
msgid ""
|
||||
"At this point, simply use the ``--sm-cluster`` option to enable "
|
||||
"distributed split-merge"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:93
|
||||
msgid "Understanding the Cluster"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:95
|
||||
msgid ""
|
||||
"When connected via telnet, it is possible to interrogate what is "
|
||||
"happening on the cluster. For example, we can use the command HELP to "
|
||||
"find out available commands"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:118
|
||||
msgid ""
|
||||
"If, for example, the NodeODM instance wasn't active when ClusterODM "
|
||||
"started, we might list nodes and see something as follows"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:125
|
||||
msgid ""
|
||||
"To address this, we can start up our local node (if not already started),"
|
||||
" and then perform a ``NODE UPDATE``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:135
|
||||
msgid "Accessing the Logs"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:137
|
||||
msgid ""
|
||||
"While a process is running, it is also possible to list the tasks, and "
|
||||
"view the task output"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:145
|
||||
msgid "Autoscaling ClusterODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:147
|
||||
msgid ""
|
||||
"ClusterODM also includes the option to autoscale on multiple platforms, "
|
||||
"including, to date, Amazon and Digital Ocean. This allows users to reduce"
|
||||
" costs associated with always-on instances as well as being able to scale"
|
||||
" processing based on demand."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:149
|
||||
msgid "To setup autoscaling you must:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:151
|
||||
msgid "Have a functioning version of NodeJS installed and then install ClusterODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:159
|
||||
msgid "Make sure docker-machine is installed."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:160
|
||||
msgid "Setup a S3-compatible bucket for storing results."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:161
|
||||
msgid ""
|
||||
"Create a configuration file for `DigitalOcean "
|
||||
"<https://github.com/OpenDroneMap/ClusterODM/blob/master/docs/digitalocean.md>`_"
|
||||
" or `Amazon Web Services "
|
||||
"<https://github.com/OpenDroneMap/ClusterODM/blob/master/docs/aws.md>`_."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:163
|
||||
msgid "You can then launch ClusterODM with"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:169
|
||||
msgid "You should see something similar to following messages in the console"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:177
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You should always have at least one static NodeODM node attached to "
|
||||
"ClusterODM, even if you plan to use the autoscaler for all processing. If"
|
||||
" you setup auto scaling, you can't have zero nodes and rely 100% on the "
|
||||
"autoscaler. You need to attach a NodeODM node to act as the \"reference "
|
||||
"node\" otherwise ClusterODM will not know how to handle certain requests "
|
||||
"(for the forwarding the UI, for validating options prior to spinning up "
|
||||
"an instance, etc.). For this purpose, you should add a \"dummy\" NodeODM "
|
||||
"node and lock it"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:187
|
||||
msgid "This way all tasks will be automatically forwarded to the autoscaler."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:190
|
||||
msgid "Limitations"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:192
|
||||
msgid ""
|
||||
"The 3D textured meshes are currently not being merged as part of the "
|
||||
"workflow (only point clouds, DEMs and orthophotos are)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:194
|
||||
msgid ""
|
||||
"GCPs are fully supported, however, there needs to be at least 3 GCP "
|
||||
"points on each submodel for the georeferencing to take place. If a "
|
||||
"submodel has fewer than 3 GCPs, a combination of the remaining GCPs + "
|
||||
"EXIF data will be used instead (which is going to be less accurate). We "
|
||||
"recommend using the ``image_groups.txt`` file to accurately control the "
|
||||
"submodel split when using GCPs."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:197
|
||||
msgid "Acknowledgments"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:198
|
||||
msgid ""
|
||||
"Huge props to Pau and the folks at Mapillary for their amazing "
|
||||
"contributions to OpenDroneMap through their OpenSfM code, which is a key "
|
||||
"component of the split-merge pipeline. We look forward to further pushing"
|
||||
" the limits of OpenDroneMap and seeing how big a dataset we can process."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:200
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/large.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,135 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/outputs.rst:2
|
||||
msgid "OpenDroneMap Outputs"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:4
|
||||
msgid "Listed below are some of the useful outputs ODM produces."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:7
|
||||
msgid "Point Cloud"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:9
|
||||
msgid ""
|
||||
"``odm_georeferencing/odm_georeferenced_model.ply/laz/csv`` -- The "
|
||||
"georeferenced point cloud in different file formats"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:15
|
||||
msgid ""
|
||||
"*Point cloud over State University Zanzibar, courtesy of* `Khadija "
|
||||
"Abdullah Ali <https://www.linkedin.com/in/khadija-abdulla-ali-"
|
||||
"56b4044a/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:19
|
||||
msgid "3D Textured Model"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:21
|
||||
msgid ""
|
||||
"``odm_texturing/odm_textured_model.obj`` -- The textured surface mesh "
|
||||
"``odm_texturing/odm_textured_model_geo.obj`` -- The georeferenced and "
|
||||
"textured surface mesh"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:24
|
||||
msgid ""
|
||||
"You can access the point cloud and textured meshes using MeshLab. Open "
|
||||
"MeshLab, and choose File:Import Mesh and choose your textured mesh from a"
|
||||
" location similar to the following: "
|
||||
"``odm_texturing\\odm_textured_model.obj``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:30
|
||||
msgid ""
|
||||
"*Textured mesh over State University Zanzibar, courtesy of* `Khadija "
|
||||
"Abdullah Ali <https://www.linkedin.com/in/khadija-abdulla-ali-"
|
||||
"56b4044a/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:33
|
||||
msgid "Orthophoto"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:35
|
||||
msgid ""
|
||||
"``odm_orthophoto/odm_orthphoto.png`` -- The orthophoto, but this is a "
|
||||
"simple png, which doesn't have any georeferencing information"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:37
|
||||
msgid ""
|
||||
"``odm_orthophoto/odm_orthphoto.tif`` -- GeoTIFF Orthophoto. You can use "
|
||||
"it in QGIS as a raster layer."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:43
|
||||
msgid ""
|
||||
"*Orthophoto over State University Zanzibar, courtesy of* `Khadija "
|
||||
"Abdullah Ali <https://www.linkedin.com/in/khadija-abdulla-ali-"
|
||||
"56b4044a/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:46
|
||||
msgid "DTM/DSM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:48
|
||||
msgid ""
|
||||
"DTM/DSM will only be created if the ``--dtm`` or ``--dsm`` options are "
|
||||
"used. See `tutorial on elevation models "
|
||||
"<https://docs.opendronemap.org/tutorials.html#creating-digital-elevation-"
|
||||
"models>`_ for more options in creating."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:50
|
||||
msgid "Data will be stored in:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:52
|
||||
msgid "``odm_dem/dtm.tif``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:53
|
||||
msgid "``odm_dem/dsm.tif``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:59
|
||||
msgid ""
|
||||
"*Digital surface model over State University Zanzibar, courtesy of* "
|
||||
"`Khadija Abdullah Ali <https://www.linkedin.com/in/khadija-abdulla-ali-"
|
||||
"56b4044a/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:62
|
||||
msgid "List of all outputs"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:109
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/outputs.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,95 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/resources.rst:2
|
||||
msgid "Additional References"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:5
|
||||
msgid "For Users"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:7
|
||||
msgid "The following resources are a good place to start:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:9
|
||||
msgid "`README page for ODM <https://github.com/OpenDroneMap/OpenDroneMap>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:10
|
||||
msgid "`README page for WebODM <https://github.com/OpenDroneMap/WebODM>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:11
|
||||
msgid ""
|
||||
"`README page for NodeODM <https://github.com/OpenDroneMap/node-"
|
||||
"OpenDroneMap>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:12
|
||||
msgid ""
|
||||
"`Ground Control Points Format Specification "
|
||||
"<https://github.com/mapillary/OpenSfM/blob/master/doc/source/gcp.rst>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:13
|
||||
msgid "`OpenDroneMap: The Missing Guide <https://odmbook.com/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:16
|
||||
msgid "For Developers"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:18
|
||||
msgid "In addition to user resources, we recommend to also read the following:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:20
|
||||
msgid "WebODM documentation: https://docs.webodm.org"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:21
|
||||
msgid ""
|
||||
"NodeODM API specification: "
|
||||
"https://github.com/OpenDroneMap/NodeODM/blob/master/docs/index.adoc"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:22
|
||||
msgid ""
|
||||
"Overview of the ODM pipeline: http://community.opendronemap.org/t/where-"
|
||||
"can-i-find-background-information-on-the-concepts-of-odm/665/2"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:23
|
||||
msgid ""
|
||||
"We keep a `section in our forum dedicated to research papers "
|
||||
"<http://community.opendronemap.org/c/ideas-proposals/research-papers>`_. "
|
||||
"This is a valuable place where to read more about state of the art "
|
||||
"research related to structure from motion, multi-view stereo, meshing, "
|
||||
"texturing, etc. which can be used to improve the software."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:26
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/api.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,440 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/tutorials.rst:4
|
||||
msgid "Tutorials"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:6
|
||||
msgid "Below you will find instructions for some common use cases."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:9
|
||||
msgid "Creating High Quality Orthophotos"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:15
|
||||
msgid ""
|
||||
"Without any parameter tweaks, ODM chooses a good compromise between "
|
||||
"quality, speed and memory usage. If you want to get higher quality "
|
||||
"results, you need to tweak some parameters:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:17
|
||||
msgid ""
|
||||
"``--orthophoto-resolution`` is the resolution of the orthophoto in "
|
||||
"cm/pixel. Decrease this value for a higher resolution result."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:18
|
||||
msgid ""
|
||||
"``--ignore-gsd`` 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 will produce sharper results."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:19
|
||||
msgid ""
|
||||
"``--texturing-nadir-weight`` should be increased to ``29-32`` in urban "
|
||||
"areas to reconstruct better edges of roofs. It should be decreased to "
|
||||
"``0-6`` in grassy / flat areas."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:20
|
||||
msgid "``--texturing-data-term`` should be set to `area` in forest areas."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:21
|
||||
msgid ""
|
||||
"``--mesh-size`` should be increased to `300000-600000` and `--mesh-"
|
||||
"octree-depth`` should be increased to `10-11` in urban areas to recreate "
|
||||
"better buildings / roofs."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:24
|
||||
msgid "Calibrating the Camera"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:26
|
||||
msgid ""
|
||||
"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 `Mitigating systematic error in topographic models derived from "
|
||||
"UAV and ground‐based image networks "
|
||||
"<https://onlinelibrary.wiley.com/doi/full/10.1002/esp.3609>`_ address how"
|
||||
" to minimize the distortion from self-calibration."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:32
|
||||
msgid ""
|
||||
"*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.*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:34
|
||||
msgid ""
|
||||
"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°."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:42
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:44
|
||||
msgid ""
|
||||
"Alternatively, the following experimental method can be applied: fly with"
|
||||
" much lower overlap, but two *crossgrid* flights (sometimes called "
|
||||
"crosshatch) separated by 20° with a 5° forward facing camera."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:46
|
||||
#, python-format
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:47
|
||||
#, python-format
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:53
|
||||
msgid ""
|
||||
"Vertically separated flight lines also improve accuracy, but less so than"
|
||||
" a camera that is forward facing by 5°."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:59
|
||||
msgid ""
|
||||
"From James and Robson (2014), `CC BY 4.0 "
|
||||
"<https://creativecommons.org/licenses/by/4.0>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:62
|
||||
msgid "Creating Digital Elevation Models"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:64
|
||||
msgid ""
|
||||
"By default ODM does not create DEMs. To create a digital terrain model, "
|
||||
"make sure to pass the ``--dtm`` flag. To create a digital surface model, "
|
||||
"be sure to pass the ``--dsm`` flag."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:70
|
||||
msgid ""
|
||||
"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 ``smrf`` filter can be controlled via several parameters:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:72
|
||||
msgid ""
|
||||
"``--smrf-scalar`` scaling value. Increase this parameter for terrains "
|
||||
"with lots of height variation."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:73
|
||||
msgid ""
|
||||
"``--smrf-slope`` 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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:74
|
||||
msgid ""
|
||||
"``--smrf-threshold`` elevation threshold. Set this parameter to the "
|
||||
"minimum height (in meters) that you expect non-ground objects to be."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:75
|
||||
msgid ""
|
||||
"``--smrf-window`` 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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:77
|
||||
msgid ""
|
||||
"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 `An improved simple morphological filter for "
|
||||
"the terrain classification of airborne LIDAR data "
|
||||
"<https://www.researchgate.net/publication/258333806_An_Improved_Simple_Morphological_Filter_for_the_Terrain_Classification_of_Airborne_LIDAR_Data>`_"
|
||||
" (PDF freely available)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:79
|
||||
msgid "Overall the ``--smrf-threshold`` option has the biggest impact on results."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:81
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:87
|
||||
msgid "Two other important parameters affect DEM generation:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:89
|
||||
msgid ""
|
||||
"``--dem-resolution`` which sets the output resolution of the DEM raster "
|
||||
"(cm/pixel)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:90
|
||||
msgid ""
|
||||
"``--dem-gapfill-steps`` which determines the number of progressive DEM "
|
||||
"layers to use. For urban scenes increasing this value to `4-5` can help "
|
||||
"produce better interpolation results in the areas that are left empty by "
|
||||
"the SMRF filter."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:92
|
||||
msgid "Example of how to generate a DTM::"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:99
|
||||
msgid "Ground Control Points"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:101
|
||||
msgid ""
|
||||
"Ground control points are useful for correcting distortions in the data "
|
||||
"and referencing the data to know coordinate systems."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:103
|
||||
msgid "The format of the GCP file is simple."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:105
|
||||
msgid ""
|
||||
"The header line is a description of a UTM coordinate system, which must "
|
||||
"be written as a proj4 string. http://spatialreference.org/ is a good "
|
||||
"resource for finding that information. Please note that currently angular"
|
||||
" coordinates (like lat/lon) DO NOT work."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:106
|
||||
msgid ""
|
||||
"Subsequent lines are the X, Y & Z coordinates, your associated pixels and"
|
||||
" the image filename:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:108
|
||||
msgid "GCP file format::"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:114
|
||||
msgid "e.g. for the Langley dataset::"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:121
|
||||
msgid ""
|
||||
"If you supply a GCP file called gcp_list.txt then ODM will automatically "
|
||||
"detect it. If it has another name you can specify using ``--gcp <path>``."
|
||||
" If you have a gcp file and want to do georeferencing with exif instead, "
|
||||
"then you can specify ``--use-exif``."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:123
|
||||
msgid ""
|
||||
"`This post has some information about placing Ground Control Targets "
|
||||
"before a flight <http://diydrones.com/profiles/blogs/ground-control-"
|
||||
"points-gcps-for-aerial-photography>`_, but if you already have images, "
|
||||
"you can find your own points in the images post facto. It's important "
|
||||
"that you find high-contrast objects that are found in **at least** 3 "
|
||||
"photos, and that you find a minimum of 5 objects."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:125
|
||||
msgid ""
|
||||
"Sharp corners are good picks for GCPs. You should also place/find the "
|
||||
"GCPs evenly around your survey area."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:127
|
||||
msgid ""
|
||||
"The ``gcp_list.txt`` file must be created in the base of your project "
|
||||
"folder."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:129
|
||||
msgid ""
|
||||
"For good results your file should have a minimum of 15 lines after the "
|
||||
"header (5 points with 3 images to each point)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:132
|
||||
msgid "Ground Control Points Interface"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:134
|
||||
msgid ""
|
||||
"WebODM has a GCP interface, and example of which can be seen on `the "
|
||||
"WebODM Demo <http://demo.webodm.org/plugins/posm-gcpi/>`_. To use this "
|
||||
"with known ground control XYZ values, one would do the following:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:136
|
||||
msgid ""
|
||||
"Create a GCP list that only includes gcp name (this is the label that "
|
||||
"will be seen in the GCP interface), x, y, and z, with a header with a "
|
||||
"proj4 string of your GCPs (make sure they are in a planar coordinate "
|
||||
"system, such as UTM. It should look something like this:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:147
|
||||
msgid ""
|
||||
"Then one can load this GCP list into the interface, load the images, and "
|
||||
"place each of the GCPs in the image."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:149
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/using.rst>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:152
|
||||
msgid "Using Docker"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:154
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:156
|
||||
msgid "A few simple commands can make our docker experience much better."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:159
|
||||
msgid "Listing Docker Machines"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:161
|
||||
msgid ""
|
||||
"We can start by listing available docker machines on the current machine "
|
||||
"we are running as follows:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:170
|
||||
msgid ""
|
||||
"If we want to see machines that may not be running but still exist, we "
|
||||
"can add the `-a` flag:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:183
|
||||
msgid "Accessing logs on the instance"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:185
|
||||
msgid ""
|
||||
"Using either the `CONTAINER ID` or the name, we can access any logs "
|
||||
"available on the machine as follows:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:191
|
||||
msgid ""
|
||||
"This is likely to be unwieldy large, but we can use a pipe `|` character "
|
||||
"and other tools to extract just what we need from the logs. For example "
|
||||
"we can move through the log slowly using the `more` command:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:207
|
||||
msgid ""
|
||||
"Pressing `Enter` or `Space`, arrow keys or `Page Up` or `Page Down` keys "
|
||||
"will now help us navigate through the logs. The lower case letter `Q` "
|
||||
"will let us escape back to the command line."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:209
|
||||
msgid ""
|
||||
"We can also extract just the end of the logs using the `tail` commmand as"
|
||||
" follows:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:220
|
||||
msgid ""
|
||||
"The value `-5` tells the tail command to give us just the last 5 lines of"
|
||||
" the logs."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:223
|
||||
msgid "Command line access to instances"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:225
|
||||
msgid ""
|
||||
"Sometimes we need to go a little deeper in our exploration of the process"
|
||||
" for OpenDroneMap. For this, we can get direct command line access to the"
|
||||
" machines. For this, we can use `docker exec` to execute a `bash` command"
|
||||
" line shell in the machine of interest as follows:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:232
|
||||
msgid "Now we are logged into our docker instance and can explore the machine."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:235
|
||||
msgid "Cleaning up after Docker"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:237
|
||||
msgid ""
|
||||
"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 `excellent overview of how to manage excess disk "
|
||||
"usage in docker <https://lebkowski.name/docker-volumes/>`_."
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/arguments.rst:4
|
||||
msgid "Options and Flags"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/arguments.rst:6
|
||||
msgid "Arguments::"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/arguments.rst:289
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/using.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,193 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/contributing.rst:4
|
||||
msgid "How to contribute"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:6
|
||||
msgid ""
|
||||
"OpenDroneMap relies on community contributions. You can contribute in "
|
||||
"many ways, even if you are not a programmer."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:9
|
||||
msgid "Community Forum"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:11
|
||||
msgid ""
|
||||
"If you are looking to get involved, are stuck on a problem, or want to "
|
||||
"reach out, `the forum <https://community.opendronemap.org/>`_ is a great "
|
||||
"place to start. You may find your questions already answered or else you "
|
||||
"can find other useful tips and resources. You can also contribute your "
|
||||
"open access datasets for others to explore. It is a good place go before "
|
||||
"submitting bug reports or getting in touch with developers before writing"
|
||||
" a new feature."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:14
|
||||
msgid "Reporting Bugs"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:16
|
||||
msgid ""
|
||||
"Bugs are tracked as Github issues. Please create an issue in the "
|
||||
"repository and tag it with the Bug tag."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:18
|
||||
msgid ""
|
||||
"Explain the problem and include additional details to help maintainers "
|
||||
"reproduce the problem:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:20
|
||||
msgid ""
|
||||
"**Use a clear and descriptive title** for the issue to identify the "
|
||||
"problem."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:21
|
||||
msgid ""
|
||||
"**Describe the exact steps which reproduce the problem** in as many "
|
||||
"details as possible. For example, start by explaining how you run ODM "
|
||||
"(Docker, Vagrant, etc), e.g. which command exactly you used in the "
|
||||
"terminal. When listing steps, **don't just say what you did, but explain "
|
||||
"how you did it.**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:22
|
||||
msgid ""
|
||||
"**Provide specific examples to demonstrate the steps.** Include links to "
|
||||
"files or GitHub projects, or copy/pasteable snippets, which you use in "
|
||||
"those examples. If you're providing snippets in the issue, use `Markdown "
|
||||
"code blocks <https://help.github.com/articles/markdown-basics/#multiple-"
|
||||
"lines>`_."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:23
|
||||
msgid ""
|
||||
"**Describe the behavior you observed after following the steps** and "
|
||||
"point out what exactly is the problem with that behavior."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:24
|
||||
msgid "**Explain which behavior you expected to see instead and why.**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:25
|
||||
msgid ""
|
||||
"**Include screenshots and animated GIFs** which show you following the "
|
||||
"described steps and clearly demonstrate the problem. You can use `this "
|
||||
"tool to record GIFs on macOS and Windows "
|
||||
"<http://www.cockos.com/licecap/>`_, and `this tool "
|
||||
"<https://github.com/colinkeenan/silentcast>`_ or `this one "
|
||||
"<https://github.com/GNOME/byzanz>`_ on Linux."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:26
|
||||
msgid ""
|
||||
"**If the problem is related to performance,** please post your machine's "
|
||||
"specs (host and guest machine)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:27
|
||||
msgid ""
|
||||
"**If the problem wasn't triggered by a specific action,** describe what "
|
||||
"you were doing before the problem happened and share more information "
|
||||
"using the guidelines below."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:29
|
||||
msgid "Include details about your configuration and environment:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:31
|
||||
msgid ""
|
||||
"**Which version of ODM are you using?** A stable release? a clone of "
|
||||
"master?"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:32
|
||||
msgid "**What's the name and version of the OS you're using?**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:33
|
||||
msgid ""
|
||||
"**Are you running ODM in a virtual machine or Docker?** If so, which VM "
|
||||
"software are you using and which operating systems and versions are used "
|
||||
"for the host and the guest?"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:36
|
||||
msgid "Template For Submitting Bug Reports"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:69
|
||||
msgid "Pull Requests"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:71
|
||||
msgid ""
|
||||
"Include screenshots and animated GIFs in your pull request whenever "
|
||||
"possible."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:72
|
||||
msgid "Follow the PEP8 Python Style Guide."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:73
|
||||
msgid "End files with a newline."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:76
|
||||
msgid "Avoid platform-dependent code:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:75
|
||||
msgid "Use require('fs-plus').getHomeDirectory() to get the home directory."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:76
|
||||
msgid "Use path.join() to concatenate filenames."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:77
|
||||
msgid ""
|
||||
"Use os.tmpdir() rather than /tmp when you need to reference the temporary"
|
||||
" directory."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:79
|
||||
msgid "Using a plain return when returning explicitly at the end of a function."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:79
|
||||
msgid "Not return null, return undefined, null, or undefined"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:81
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/contributing.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,75 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/flying.rst:2
|
||||
msgid "Flying tips"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:4
|
||||
msgid ""
|
||||
"The `Humanitarian OpenStreetMap team <https://www.hotosm.org/>`_ has "
|
||||
"guidelines on `flying for UAV mapping <https://uav-"
|
||||
"guidelines.openaerialmap.org/>`_:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:6
|
||||
msgid ""
|
||||
"`Choosing the right UAV <https://uav-"
|
||||
"guidelines.openaerialmap.org/pages/05-choosing-the-right-uav/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:8
|
||||
msgid ""
|
||||
"`Choosing the right sensor <https://uav-"
|
||||
"guidelines.openaerialmap.org/pages/06-choosing-the-sensor/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:10
|
||||
msgid ""
|
||||
"`Mission preparation <https://uav-guidelines.openaerialmap.org/pages/07"
|
||||
"-preparing-for-the-uav-mission/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:12
|
||||
msgid ""
|
||||
"The guidelines are intended for drone mapping projects on islands, but "
|
||||
"have general use for all drone mappers."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:14
|
||||
msgid ""
|
||||
"See also DroneDeploy's guide on `Making Successful Maps "
|
||||
"<https://support.dronedeploy.com/docs/making-successful-maps>`_, which "
|
||||
"provides great tips on mission planning."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:16
|
||||
msgid ""
|
||||
"Finally, lens distortion is a challenge in projects requiring accurate 3D"
|
||||
" data. See our section in these docs on `Camera Calibration "
|
||||
"<tutorials.html#calibrating-the-camera>`_."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:18
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/flying.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/index.rst:8
|
||||
msgid "Welcome to OpenDroneMap's documentation"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/index.rst:40
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/index.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,778 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/installation.rst:4
|
||||
msgid "Installation and Getting Started"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:6
|
||||
msgid ""
|
||||
"This section is excerpted and modified with permission from "
|
||||
"`OpenDroneMap: The Missing Guide <https://odmbook.com>`_, by Piero "
|
||||
"Toffanin."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:8
|
||||
msgid ""
|
||||
"Until recently OpenDroneMap was the term used to refer to a single "
|
||||
"command line application (what is now known as the ODM project). With "
|
||||
"the recent development of a web interface, an API and other tools, "
|
||||
"OpenDroneMap has become an ecosystem of various applications to process, "
|
||||
"analyze and display aerial data. This ecosystem is made of several "
|
||||
"components:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:14
|
||||
msgid ""
|
||||
"**ODM** is the processing engine, which can be used from the command "
|
||||
"line. It takes images as input and produces a variety of outputs, "
|
||||
"including point clouds, 3D models and orthophotos"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:20
|
||||
msgid ""
|
||||
"**NodeODM** is a light-weight API built on top of ODM. It allows users "
|
||||
"and applications to access the functions of ODM over a computer network"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:26
|
||||
msgid ""
|
||||
"**WebODM** is a friendly user interface that includes a map viewer, a 3D "
|
||||
"viewer, user logins, a plugin system and many other features that are "
|
||||
"expected of modern drone mapping platforms"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:32
|
||||
msgid ""
|
||||
"**CloudODM** is a small command line client to communicate with ODM via "
|
||||
"the NodeODM API"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:38
|
||||
msgid ""
|
||||
"**PyODM** is a Python SDK for creating tasks via the NodeODM API. We "
|
||||
"cover it in more detail in the “Automated Processing With Python” chapter"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:44
|
||||
msgid ""
|
||||
"**ClusterODM** is a load balancer for connecting together multiple "
|
||||
"NodeODM instances"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:46
|
||||
msgid ""
|
||||
"ODM, NodeODM and WebODM are available on all major platforms (Windows, "
|
||||
"macOS and Linux) via a program called docker, which is required to run "
|
||||
"the software. Docker offers a way to run “containers”. Containers are "
|
||||
"packaged copies of an entire system, its software and its dependencies. "
|
||||
"These containers run within a virtual environment. On Linux this virtual "
|
||||
"environment is available from the operating system and is very efficient."
|
||||
" On macOS and Windows the containers run within a VM, so there’s a bit of"
|
||||
" a overhead. but it’s still very suitable for running the software. Once "
|
||||
"installed users do not have to worry much about docker, as it operates "
|
||||
"(almost) transparently."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:48
|
||||
msgid ""
|
||||
"Without docker it would not be possible to run ODM on Windows or macOS. "
|
||||
"On these platforms ODM cannot run natively. Future development efforts "
|
||||
"are being focused on leveraging the new Windows Subsystem for Linux (WSL)"
|
||||
" and the possibility to make a native port of all dependencies to macOS, "
|
||||
"which is going to make the installation much easier."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:50
|
||||
msgid ""
|
||||
"On Ubuntu Linux 16.04 it’s feasible to run all OpenDroneMap software "
|
||||
"natively. However, because there’s very little performance penalty for "
|
||||
"running docker on Linux and docker is straightforward to setup on this "
|
||||
"platform, we don’t recommend it. On Linux the advantages of "
|
||||
"containerization far outweigh a tiny performance penalty. With docker "
|
||||
"users also get easy one-step updates of the software, so that’s nice."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:54
|
||||
msgid "Hardware Recommendations"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:56
|
||||
msgid "The bare minimum requirements for running the software are:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:59
|
||||
msgid "64bit CPU manufactured on or after 2010"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:60
|
||||
msgid "20 GB of disk space"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:61
|
||||
msgid "4 GB RAM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:63
|
||||
msgid ""
|
||||
"No more than 100-200 images can be processed with the above "
|
||||
"specifications (the software will run out of memory). Recommended "
|
||||
"requirements are:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:65
|
||||
msgid "Latest Generation CPU"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:66
|
||||
msgid "100 GB of disk space"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:67
|
||||
msgid "16 GB RAM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:69
|
||||
msgid ""
|
||||
"The above will allow for a few hundred images to be processed without too"
|
||||
" many issues. A CPU with more cores will allow for faster processing, "
|
||||
"while a graphics card (GPU) currently has no impact on performance. For "
|
||||
"processing more images, add more disk space and RAM linearly to the "
|
||||
"number of images you need to process."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:75
|
||||
msgid "Installation"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:77
|
||||
msgid ""
|
||||
"We recommend people use `docker <https://www.docker.com>`_ for running "
|
||||
"ODM, whether you are on Windows, macOS or Linux."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:80
|
||||
msgid "Windows"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:82
|
||||
msgid ""
|
||||
"To run OpenDroneMap you need at least Windows 7. Previous versions of "
|
||||
"Windows are not supported."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:86 ../../source/installation.rst:237
|
||||
msgid "Step 1. Check Virtualization Support"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:88
|
||||
msgid ""
|
||||
"Docker requires a feature from your CPU called virtualization, which "
|
||||
"allows it to run virtual machines (VMs). Make sure you have it enabled! "
|
||||
"Sometimes this is disabled. To check, on Windows 8 or higher you can open"
|
||||
" the **Task Manager** (press CTRL+SHIFT+ESC) and switch to the "
|
||||
"**Performance** tab."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:94
|
||||
msgid "*Virtualization should be enabled*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:96
|
||||
msgid ""
|
||||
"On Windows 7 to see if you have virtualization enabled you can use the "
|
||||
"`Microsoft® Hardware-Assisted Virtualization Detection Tool <http:// "
|
||||
"www.microsoft.com/en-us/download/details.aspx?id=592>`_ instead."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:99
|
||||
msgid ""
|
||||
"If virtualization is disabled, you’ll need to enable it. The procedure "
|
||||
"unfortunately is a bit different for each computer model, so the best way"
|
||||
" to do this is to look up on a search engine “how to enable vtx for <type"
|
||||
" your computer model here>”. Often times it’s a matter of restarting the "
|
||||
"computer, immediately pressing F2 or F12 during startup, navigating the "
|
||||
"boot menu and changing the settings to enable virtualization (often "
|
||||
"called “VT-X”)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:105
|
||||
msgid ""
|
||||
"*Common keys to press at computer startup to access the boot menu for "
|
||||
"various PC vendors*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:108 ../../source/installation.rst:256
|
||||
msgid "Step 2. Install Requirements"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:110
|
||||
msgid "First, you’ll need to install:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:112
|
||||
msgid "Git: https://git-scm.com/downloads"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:113
|
||||
msgid "Python (latest version 3): https://www.python.org/downloads/windows/"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:115
|
||||
msgid ""
|
||||
"For Python 3, make sure you check **Add Python 3.x to PATH** during the "
|
||||
"installation."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:121
|
||||
msgid ""
|
||||
"*Don’t forget to add the Python executable to your PATH (so that you can "
|
||||
"run commands with it)*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:123
|
||||
msgid ""
|
||||
"Then, only if you are on Windows 10 Home, Windows 8 (any version) or "
|
||||
"Windows 7 (any version), install:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:125
|
||||
msgid ""
|
||||
"Docker Toolbox: "
|
||||
"https://github.com/docker/toolbox/releases/download/v18.09.3/DockerToolbox-18.09.3.exe"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:127
|
||||
msgid ""
|
||||
"If you are on Windows 10 Professional or a newer version, you should "
|
||||
"install instead:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:129
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Docker for Windows: "
|
||||
"https://download.docker.com/win/stable/Docker%20for%20Windows%20Installer.exe"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:131
|
||||
msgid ""
|
||||
"Please do **NOT** install both docker programs. They are different and "
|
||||
"will create a mess if they are both installed."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:133
|
||||
msgid ""
|
||||
"After installing docker, launch it from the Desktop icon that is created "
|
||||
"from the installation (**Docker Quickstart** in the case of Docker "
|
||||
"Toolbox, **Docker for Windows** for Docker for Windows). This is "
|
||||
"important, do not skip this step. If there are errors, follow the prompts"
|
||||
" on screen to fix them."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:136 ../../source/installation.rst:298
|
||||
msgid "Step 3. Check Memory and CPU Allocation"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:138
|
||||
msgid ""
|
||||
"Docker on Windows works by running a VM in the background (think of a VM "
|
||||
"as a “computer emulator”). This VM has a certain amount of memory "
|
||||
"allocated and WebODM can only use as much memory as it’s allocated."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:140
|
||||
msgid ""
|
||||
"If you installed Docker Toolbox (see below if you installed Docker for "
|
||||
"Windows instead):"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:142
|
||||
msgid "Open the **VirtualBox Manager** application"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:143
|
||||
msgid ""
|
||||
"Right click the **default** VM and press **Close (ACPI Shutdown)** to "
|
||||
"stop the machine"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:144
|
||||
msgid "Right click the **default** VM and press **Settings...**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:145
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Move the **Base Memory** slider from the **System** paneland allocate "
|
||||
"60-70% of all available memory, optionally adding 50% of the available "
|
||||
"processors from the **Processor** tab also"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:151
|
||||
msgid "*VirtualBox default VM settings*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:153
|
||||
msgid "Then press **OK**, right click the **default** VM and press **Start**."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:155
|
||||
msgid "If you installed Docker for Windows instead:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:157
|
||||
msgid "Look in the system tray and right click the “white whale” icon."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:158
|
||||
msgid "From the menu, press **Settings...**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:159
|
||||
#, python-format
|
||||
msgid ""
|
||||
"From the panel, click **Advanced** and use the sliders to allocate 60-70%"
|
||||
" of available memory and use half of all available CPUs."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:160
|
||||
msgid "Press **Apply**."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:166
|
||||
msgid "*Step 1 Docker icon*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:172
|
||||
msgid "*Step 3 & 4 Docker settings*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:175
|
||||
msgid "Step 4. Download WebODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:177
|
||||
msgid "Open the **Git Gui** program that comes installed with Git. From there:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:179
|
||||
msgid "In **Source Location** type: https://github.com/Open-DroneMap/WebODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:180
|
||||
msgid ""
|
||||
"In **Target Directory** click browse and navigate to a folder of your "
|
||||
"choosing (create one if necessary)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:181
|
||||
msgid "Press **Clone**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:187
|
||||
msgid "*Git Gui*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:189
|
||||
msgid "If the download succeeded, you should now see this window:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:195
|
||||
msgid "*Git Gui after successful download (clone)*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:197
|
||||
msgid ""
|
||||
"Go to the **Repository** menu, then click **Create Desktop Icon**. This "
|
||||
"will allow you to come back to this application easily in the future."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:200
|
||||
msgid "Step 4. Launch WebODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:202
|
||||
msgid ""
|
||||
"From Git Gui, go to the **Repository** menu, then click **Git Bash**. "
|
||||
"From the command line terminal type:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:208
|
||||
msgid ""
|
||||
"Several components will download to your machine at this point, including"
|
||||
" WebODM, NodeODM and ODM. After the download you should be greeted by the"
|
||||
" following screen:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:214
|
||||
msgid "*Console output after starting WebODM for the first time*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:216
|
||||
msgid ""
|
||||
"If you are using Docker for Windows, open a web browser to "
|
||||
"http://localhost:8000"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:217
|
||||
msgid ""
|
||||
"If you are using Docker Toolbox, find the IP address to connect to by "
|
||||
"typing:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:223
|
||||
msgid "You should get a result like the following:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:229
|
||||
msgid ""
|
||||
"Then connect to http://192.168.1.100:8000 (replacing the IP address with "
|
||||
"the proper one)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:232
|
||||
msgid "macOS"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:234
|
||||
msgid ""
|
||||
"Most modern (post 2010) Mac computers running macOS Sierra 10.12 or "
|
||||
"higher can run OpenDroneMap using docker, as long as hardware "
|
||||
"virtualization is supported (see below)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:239
|
||||
msgid "Open a Terminal window and type:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:245
|
||||
msgid "You will get a response similar to the following:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:251
|
||||
msgid ""
|
||||
"If the result is *kern.hv_support: 1*, then your Mac is supported! "
|
||||
"Continue with Step 2."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:253
|
||||
msgid ""
|
||||
"If the result is *kern.hv_support: 0*, unfortunately it means your Mac is"
|
||||
" too old to run OpenDroneMap. :("
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:258
|
||||
msgid "There are only two programs to install:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:260
|
||||
msgid "Docker: https://download.docker.com/mac/stable/Docker.dmg"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:261
|
||||
msgid "Git: https://sourceforge.net/projects/git-osx-installer/files/"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:263
|
||||
msgid ""
|
||||
"After installing docker you should find an icon that looks like a whale "
|
||||
"in the task bar."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:269
|
||||
msgid "*Docker app running*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:271
|
||||
msgid ""
|
||||
"You can verify that docker is running properly by opening the "
|
||||
"**Terminal** app and typing:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:277
|
||||
msgid "Which should return"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:283
|
||||
msgid "To verify that git is installed, simply type:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:289
|
||||
msgid "Which should return something similar to the following:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:295
|
||||
msgid ""
|
||||
"If you get a “bash: git: command not found”, try to restart your "
|
||||
"**Terminal** app and double-check for any errors during the install "
|
||||
"process."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:300
|
||||
msgid ""
|
||||
"Docker on macOS works by running a VM in the background (think of it as a"
|
||||
" “computer emulator”). This VM has a certain amount of memory allocated "
|
||||
"and WebODM can only use as much memory as it’s allocated."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:302
|
||||
msgid "Right click the whale icon from the task bar and click **Preferences**..."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:303
|
||||
msgid "Select the **Advanced** tab"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:304
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Adjust the CPUs slider to use half of all available CPUs and the memory "
|
||||
"to use 60-70% of all available memory"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:305
|
||||
msgid "Press **Apply & Restart**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:311
|
||||
msgid "*Docker advanced settings*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:314
|
||||
msgid "Step 4. Download and Launch WebODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:316
|
||||
msgid "From a **Terminal** type:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:324 ../../source/installation.rst:425
|
||||
msgid "Then open a web browser to http://localhost:8000."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:327
|
||||
msgid "Linux"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:329
|
||||
msgid ""
|
||||
"OpenDroneMap can run on any Linux distribution that supports docker. "
|
||||
"According to `docker’s documentation website "
|
||||
"<https://docs.docker.com/install/>`_ the officially supported "
|
||||
"distributions are CentOS, Debian, Ubuntu and Fedora, with static binaries"
|
||||
" available for others. If you have to pick a distribution solely for "
|
||||
"running OpenDroneMap, Ubuntu is the recommended way to go."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:332
|
||||
msgid "Step 1. Install Requirements"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:334
|
||||
msgid "There are four programs that need to be installed:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:336
|
||||
msgid "Docker"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:337
|
||||
msgid "Git"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:338
|
||||
msgid "Python (2 or 3)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:339
|
||||
msgid "Pip"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:341
|
||||
msgid ""
|
||||
"We cannot possibly cover the installation process for every Linux "
|
||||
"distribution out there, so we’ll limit the instructions to those that are"
|
||||
" distributions officially supported by docker. In all cases it’s just a "
|
||||
"matter of opening a terminal prompt and typing a few commands."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:344
|
||||
msgid "Install on Ubuntu / Debian"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:346 ../../source/installation.rst:358
|
||||
#: ../../source/installation.rst:369 ../../source/installation.rst:380
|
||||
msgid "Commands to type:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:356
|
||||
msgid "Install on CentOS / RHEL"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:367
|
||||
msgid "Install on Fedora"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:378
|
||||
msgid "Install on Arch"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:387
|
||||
msgid "Step 2. Check Additional Requirements"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:389
|
||||
msgid ""
|
||||
"In addition to the three programs above, the dockercompose script is also"
|
||||
" needed. Sometimes it’s already installed with docker, but sometimes it "
|
||||
"isn’t. To verify if it’s installed try to type:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:395
|
||||
msgid "You should see somethings similar to the following:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:401
|
||||
msgid "If instead you get something similar to the following:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:407
|
||||
msgid "you can install it by using pip:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:415
|
||||
msgid "Step 3. Download and Launch WebODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:417
|
||||
msgid "From a terminal type:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:428
|
||||
msgid "Basic Commands and Troubleshooting"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:430
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The cool thing about using docker is that 99% of the tasks you’ll ever "
|
||||
"need to perform while using WebODM can be done via the ./webodm.sh "
|
||||
"script. You have already encountered one of them:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:436
|
||||
msgid ""
|
||||
"which takes care of starting WebODM and setting up a default processing "
|
||||
"node (node-odm-1). If you want to stop WebODM, you can already guess what"
|
||||
" the command is:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:442
|
||||
msgid ""
|
||||
"There are several other commands you can use, along with different flags."
|
||||
" Flags are parameters passed to the ./webodm.sh command and are typically"
|
||||
" prefixed with “–”. The **port** flag for example instructs WebODM to use"
|
||||
" a different network port:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:448
|
||||
msgid "Other useful commands are listed below:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:467
|
||||
msgid ""
|
||||
"`The community forum <https://community.opendronemap.org>`_ is a great "
|
||||
"place to ask for help if you get stuck during any of the installation"
|
||||
" steps and for general questions on using the ./webodm.sh script."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:470
|
||||
msgid "Hello, WebODM!"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:472
|
||||
msgid ""
|
||||
"After running ./webodm.sh start and opening WebODM in the browser, you "
|
||||
"will be greeted with a welcome message and will be asked to create the "
|
||||
"first user. Take some time to familiarize yourself with the web interface"
|
||||
" and explore its various menus."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:478
|
||||
msgid "*WebODM Dashboard*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:480
|
||||
msgid ""
|
||||
"Notice that under the **Processing Nodes** menu there’s a \"node-odm-1\" "
|
||||
"node already configured for you to use. This is a NodeODM node and has "
|
||||
"been created automatically by WebODM. This node is running on the same "
|
||||
"machine as WebODM."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:482
|
||||
msgid ""
|
||||
"If you’ve made it this far, congratulations! Now it’s time to start "
|
||||
"processing some data."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:489
|
||||
msgid "Running on more than one machine"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:491
|
||||
msgid ""
|
||||
"**Optionally:** If you have another computer, you can repeat the "
|
||||
"installation process (install docker, git, python, etc.) and launch a new"
|
||||
" NodeODM node by typing from a Terminal/Git Bash window:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:497
|
||||
msgid ""
|
||||
"The above command asks docker to launch a new container using the "
|
||||
"opendronemap/nodeodm image from Docker Hub (the latest version of "
|
||||
"NodeODM), using port 3000, setting a maximum number of concurrent tasks "
|
||||
"to 1 and to protect the node from unauthorized access using the password "
|
||||
"\"secret\"."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:499
|
||||
msgid ""
|
||||
"From WebODM you can then press the **Add New** button under **Processing "
|
||||
"Nodes**. For the **hostname/IP** field type the IP of the second "
|
||||
"computer. For the **port** field type “3000”. For the **token** field "
|
||||
"type “secret”. You can also add an optional **label** for your node, such"
|
||||
" as “second computer”. Then press **Save**."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:501
|
||||
msgid ""
|
||||
"If everything went well, you should now have two processing nodes! You "
|
||||
"will be able to process multiple tasks in parallel using two different "
|
||||
"machines."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:503
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/installation.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,275 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/large.rst:4
|
||||
msgid "Splitting Large Datasets"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:6
|
||||
msgid ""
|
||||
"Starting with ODM version ``0.6.0`` you can split up very large datasets "
|
||||
"into manageable chunks (called submodels), running the pipeline on each "
|
||||
"chunk, and then producing merged DEMs, orthophotos and point clouds. The "
|
||||
"process is referred to as \"split-merge\"."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:8
|
||||
msgid ""
|
||||
"Why might you use the split-merge pipeline? If you have a very large "
|
||||
"number of images in your dataset, split-merge will help make the "
|
||||
"processing more manageable on a large machine (it will require less "
|
||||
"memory). If you have many machines all connected to the same network you "
|
||||
"can also process the submodels in parallel, thus allowing for horizontal "
|
||||
"scaling and processing thousands of images more quickly."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:10
|
||||
msgid ""
|
||||
"Split-merge works in WebODM out of the box as long as the processing "
|
||||
"nodes support split-merge, by enabling the ``--split`` option when "
|
||||
"creating a new task."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:13
|
||||
msgid "Calibrate images"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:15
|
||||
msgid ""
|
||||
"Image calibration is recommended (but not required) for large datasets "
|
||||
"because error propagation due to image distortion could cause a bowl "
|
||||
"effect on the models. Calibration instructions can be found at "
|
||||
"`Calibrate Images <tutorials.html#calibrating-the-camera>`_."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:21
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:24
|
||||
msgid "Local Split-Merge"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:26
|
||||
msgid ""
|
||||
"Splitting a dataset into more manageable submodels and sequentially "
|
||||
"processing all submodels on the same machine is easy! Just use "
|
||||
"``--split`` and ``--split-overlap`` to decide the the average number of "
|
||||
"images per submodels and the overlap (in meters) between submodels "
|
||||
"respectively"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:32
|
||||
msgid ""
|
||||
"If you already know how you want to split the dataset, you can provide "
|
||||
"that information and it will be used instead of the clustering algorithm."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:34
|
||||
msgid ""
|
||||
"The grouping can be provided by adding a file named image_groups.txt in "
|
||||
"the main dataset folder. The file should have one line per image. Each "
|
||||
"line should have two words: first the name of the image and second the "
|
||||
"name of the group it belongs to. For example::"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:42
|
||||
msgid ""
|
||||
"will create 3 submodels. Make sure to pass ``--split-overlap 0`` if you "
|
||||
"manually provide a ``image_groups.txt`` file."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:46
|
||||
msgid "Distributed Split-Merge"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:48
|
||||
msgid ""
|
||||
"ODM can also automatically distribute the processing of each submodel to "
|
||||
"multiple machines via `NodeODM "
|
||||
"<https://github.com/OpenDroneMap/NodeODM>`_ nodes, orchestrated via "
|
||||
"`ClusterODM <https://github.com/OpenDroneMap/ClusterODM>`_."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:55
|
||||
msgid "Getting Started with Distributed Split-Merge"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:57
|
||||
msgid "The first step is start ClusterODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:63
|
||||
msgid ""
|
||||
"Then on each machine you want to use for processing, launch a NodeODM "
|
||||
"instance via"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:69
|
||||
msgid ""
|
||||
"Connect via telnet to ClusterODM and add the IP addresses/port of the "
|
||||
"machines running NodeODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:84
|
||||
msgid "Make sure you are running version ``1.5.1`` or higher of the NodeODM API."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:86
|
||||
msgid ""
|
||||
"At this point, simply use the ``--sm-cluster`` option to enable "
|
||||
"distributed split-merge"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:93
|
||||
msgid "Understanding the Cluster"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:95
|
||||
msgid ""
|
||||
"When connected via telnet, it is possible to interrogate what is "
|
||||
"happening on the cluster. For example, we can use the command HELP to "
|
||||
"find out available commands"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:118
|
||||
msgid ""
|
||||
"If, for example, the NodeODM instance wasn't active when ClusterODM "
|
||||
"started, we might list nodes and see something as follows"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:125
|
||||
msgid ""
|
||||
"To address this, we can start up our local node (if not already started),"
|
||||
" and then perform a ``NODE UPDATE``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:135
|
||||
msgid "Accessing the Logs"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:137
|
||||
msgid ""
|
||||
"While a process is running, it is also possible to list the tasks, and "
|
||||
"view the task output"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:145
|
||||
msgid "Autoscaling ClusterODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:147
|
||||
msgid ""
|
||||
"ClusterODM also includes the option to autoscale on multiple platforms, "
|
||||
"including, to date, Amazon and Digital Ocean. This allows users to reduce"
|
||||
" costs associated with always-on instances as well as being able to scale"
|
||||
" processing based on demand."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:149
|
||||
msgid "To setup autoscaling you must:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:151
|
||||
msgid "Have a functioning version of NodeJS installed and then install ClusterODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:159
|
||||
msgid "Make sure docker-machine is installed."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:160
|
||||
msgid "Setup a S3-compatible bucket for storing results."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:161
|
||||
msgid ""
|
||||
"Create a configuration file for `DigitalOcean "
|
||||
"<https://github.com/OpenDroneMap/ClusterODM/blob/master/docs/digitalocean.md>`_"
|
||||
" or `Amazon Web Services "
|
||||
"<https://github.com/OpenDroneMap/ClusterODM/blob/master/docs/aws.md>`_."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:163
|
||||
msgid "You can then launch ClusterODM with"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:169
|
||||
msgid "You should see something similar to following messages in the console"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:177
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You should always have at least one static NodeODM node attached to "
|
||||
"ClusterODM, even if you plan to use the autoscaler for all processing. If"
|
||||
" you setup auto scaling, you can't have zero nodes and rely 100% on the "
|
||||
"autoscaler. You need to attach a NodeODM node to act as the \"reference "
|
||||
"node\" otherwise ClusterODM will not know how to handle certain requests "
|
||||
"(for the forwarding the UI, for validating options prior to spinning up "
|
||||
"an instance, etc.). For this purpose, you should add a \"dummy\" NodeODM "
|
||||
"node and lock it"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:187
|
||||
msgid "This way all tasks will be automatically forwarded to the autoscaler."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:190
|
||||
msgid "Limitations"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:192
|
||||
msgid ""
|
||||
"The 3D textured meshes are currently not being merged as part of the "
|
||||
"workflow (only point clouds, DEMs and orthophotos are)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:194
|
||||
msgid ""
|
||||
"GCPs are fully supported, however, there needs to be at least 3 GCP "
|
||||
"points on each submodel for the georeferencing to take place. If a "
|
||||
"submodel has fewer than 3 GCPs, a combination of the remaining GCPs + "
|
||||
"EXIF data will be used instead (which is going to be less accurate). We "
|
||||
"recommend using the ``image_groups.txt`` file to accurately control the "
|
||||
"submodel split when using GCPs."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:197
|
||||
msgid "Acknowledgments"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:198
|
||||
msgid ""
|
||||
"Huge props to Pau and the folks at Mapillary for their amazing "
|
||||
"contributions to OpenDroneMap through their OpenSfM code, which is a key "
|
||||
"component of the split-merge pipeline. We look forward to further pushing"
|
||||
" the limits of OpenDroneMap and seeing how big a dataset we can process."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:200
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/large.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,135 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/outputs.rst:2
|
||||
msgid "OpenDroneMap Outputs"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:4
|
||||
msgid "Listed below are some of the useful outputs ODM produces."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:7
|
||||
msgid "Point Cloud"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:9
|
||||
msgid ""
|
||||
"``odm_georeferencing/odm_georeferenced_model.ply/laz/csv`` -- The "
|
||||
"georeferenced point cloud in different file formats"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:15
|
||||
msgid ""
|
||||
"*Point cloud over State University Zanzibar, courtesy of* `Khadija "
|
||||
"Abdullah Ali <https://www.linkedin.com/in/khadija-abdulla-ali-"
|
||||
"56b4044a/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:19
|
||||
msgid "3D Textured Model"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:21
|
||||
msgid ""
|
||||
"``odm_texturing/odm_textured_model.obj`` -- The textured surface mesh "
|
||||
"``odm_texturing/odm_textured_model_geo.obj`` -- The georeferenced and "
|
||||
"textured surface mesh"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:24
|
||||
msgid ""
|
||||
"You can access the point cloud and textured meshes using MeshLab. Open "
|
||||
"MeshLab, and choose File:Import Mesh and choose your textured mesh from a"
|
||||
" location similar to the following: "
|
||||
"``odm_texturing\\odm_textured_model.obj``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:30
|
||||
msgid ""
|
||||
"*Textured mesh over State University Zanzibar, courtesy of* `Khadija "
|
||||
"Abdullah Ali <https://www.linkedin.com/in/khadija-abdulla-ali-"
|
||||
"56b4044a/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:33
|
||||
msgid "Orthophoto"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:35
|
||||
msgid ""
|
||||
"``odm_orthophoto/odm_orthphoto.png`` -- The orthophoto, but this is a "
|
||||
"simple png, which doesn't have any georeferencing information"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:37
|
||||
msgid ""
|
||||
"``odm_orthophoto/odm_orthphoto.tif`` -- GeoTIFF Orthophoto. You can use "
|
||||
"it in QGIS as a raster layer."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:43
|
||||
msgid ""
|
||||
"*Orthophoto over State University Zanzibar, courtesy of* `Khadija "
|
||||
"Abdullah Ali <https://www.linkedin.com/in/khadija-abdulla-ali-"
|
||||
"56b4044a/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:46
|
||||
msgid "DTM/DSM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:48
|
||||
msgid ""
|
||||
"DTM/DSM will only be created if the ``--dtm`` or ``--dsm`` options are "
|
||||
"used. See `tutorial on elevation models "
|
||||
"<https://docs.opendronemap.org/tutorials.html#creating-digital-elevation-"
|
||||
"models>`_ for more options in creating."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:50
|
||||
msgid "Data will be stored in:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:52
|
||||
msgid "``odm_dem/dtm.tif``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:53
|
||||
msgid "``odm_dem/dsm.tif``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:59
|
||||
msgid ""
|
||||
"*Digital surface model over State University Zanzibar, courtesy of* "
|
||||
"`Khadija Abdullah Ali <https://www.linkedin.com/in/khadija-abdulla-ali-"
|
||||
"56b4044a/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:62
|
||||
msgid "List of all outputs"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:109
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/outputs.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,95 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/resources.rst:2
|
||||
msgid "Additional References"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:5
|
||||
msgid "For Users"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:7
|
||||
msgid "The following resources are a good place to start:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:9
|
||||
msgid "`README page for ODM <https://github.com/OpenDroneMap/OpenDroneMap>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:10
|
||||
msgid "`README page for WebODM <https://github.com/OpenDroneMap/WebODM>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:11
|
||||
msgid ""
|
||||
"`README page for NodeODM <https://github.com/OpenDroneMap/node-"
|
||||
"OpenDroneMap>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:12
|
||||
msgid ""
|
||||
"`Ground Control Points Format Specification "
|
||||
"<https://github.com/mapillary/OpenSfM/blob/master/doc/source/gcp.rst>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:13
|
||||
msgid "`OpenDroneMap: The Missing Guide <https://odmbook.com/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:16
|
||||
msgid "For Developers"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:18
|
||||
msgid "In addition to user resources, we recommend to also read the following:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:20
|
||||
msgid "WebODM documentation: https://docs.webodm.org"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:21
|
||||
msgid ""
|
||||
"NodeODM API specification: "
|
||||
"https://github.com/OpenDroneMap/NodeODM/blob/master/docs/index.adoc"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:22
|
||||
msgid ""
|
||||
"Overview of the ODM pipeline: http://community.opendronemap.org/t/where-"
|
||||
"can-i-find-background-information-on-the-concepts-of-odm/665/2"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:23
|
||||
msgid ""
|
||||
"We keep a `section in our forum dedicated to research papers "
|
||||
"<http://community.opendronemap.org/c/ideas-proposals/research-papers>`_. "
|
||||
"This is a valuable place where to read more about state of the art "
|
||||
"research related to structure from motion, multi-view stereo, meshing, "
|
||||
"texturing, etc. which can be used to improve the software."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:26
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/api.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,440 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/tutorials.rst:4
|
||||
msgid "Tutorials"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:6
|
||||
msgid "Below you will find instructions for some common use cases."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:9
|
||||
msgid "Creating High Quality Orthophotos"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:15
|
||||
msgid ""
|
||||
"Without any parameter tweaks, ODM chooses a good compromise between "
|
||||
"quality, speed and memory usage. If you want to get higher quality "
|
||||
"results, you need to tweak some parameters:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:17
|
||||
msgid ""
|
||||
"``--orthophoto-resolution`` is the resolution of the orthophoto in "
|
||||
"cm/pixel. Decrease this value for a higher resolution result."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:18
|
||||
msgid ""
|
||||
"``--ignore-gsd`` 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 will produce sharper results."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:19
|
||||
msgid ""
|
||||
"``--texturing-nadir-weight`` should be increased to ``29-32`` in urban "
|
||||
"areas to reconstruct better edges of roofs. It should be decreased to "
|
||||
"``0-6`` in grassy / flat areas."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:20
|
||||
msgid "``--texturing-data-term`` should be set to `area` in forest areas."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:21
|
||||
msgid ""
|
||||
"``--mesh-size`` should be increased to `300000-600000` and `--mesh-"
|
||||
"octree-depth`` should be increased to `10-11` in urban areas to recreate "
|
||||
"better buildings / roofs."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:24
|
||||
msgid "Calibrating the Camera"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:26
|
||||
msgid ""
|
||||
"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 `Mitigating systematic error in topographic models derived from "
|
||||
"UAV and ground‐based image networks "
|
||||
"<https://onlinelibrary.wiley.com/doi/full/10.1002/esp.3609>`_ address how"
|
||||
" to minimize the distortion from self-calibration."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:32
|
||||
msgid ""
|
||||
"*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.*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:34
|
||||
msgid ""
|
||||
"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°."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:42
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:44
|
||||
msgid ""
|
||||
"Alternatively, the following experimental method can be applied: fly with"
|
||||
" much lower overlap, but two *crossgrid* flights (sometimes called "
|
||||
"crosshatch) separated by 20° with a 5° forward facing camera."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:46
|
||||
#, python-format
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:47
|
||||
#, python-format
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:53
|
||||
msgid ""
|
||||
"Vertically separated flight lines also improve accuracy, but less so than"
|
||||
" a camera that is forward facing by 5°."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:59
|
||||
msgid ""
|
||||
"From James and Robson (2014), `CC BY 4.0 "
|
||||
"<https://creativecommons.org/licenses/by/4.0>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:62
|
||||
msgid "Creating Digital Elevation Models"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:64
|
||||
msgid ""
|
||||
"By default ODM does not create DEMs. To create a digital terrain model, "
|
||||
"make sure to pass the ``--dtm`` flag. To create a digital surface model, "
|
||||
"be sure to pass the ``--dsm`` flag."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:70
|
||||
msgid ""
|
||||
"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 ``smrf`` filter can be controlled via several parameters:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:72
|
||||
msgid ""
|
||||
"``--smrf-scalar`` scaling value. Increase this parameter for terrains "
|
||||
"with lots of height variation."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:73
|
||||
msgid ""
|
||||
"``--smrf-slope`` 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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:74
|
||||
msgid ""
|
||||
"``--smrf-threshold`` elevation threshold. Set this parameter to the "
|
||||
"minimum height (in meters) that you expect non-ground objects to be."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:75
|
||||
msgid ""
|
||||
"``--smrf-window`` 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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:77
|
||||
msgid ""
|
||||
"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 `An improved simple morphological filter for "
|
||||
"the terrain classification of airborne LIDAR data "
|
||||
"<https://www.researchgate.net/publication/258333806_An_Improved_Simple_Morphological_Filter_for_the_Terrain_Classification_of_Airborne_LIDAR_Data>`_"
|
||||
" (PDF freely available)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:79
|
||||
msgid "Overall the ``--smrf-threshold`` option has the biggest impact on results."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:81
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:87
|
||||
msgid "Two other important parameters affect DEM generation:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:89
|
||||
msgid ""
|
||||
"``--dem-resolution`` which sets the output resolution of the DEM raster "
|
||||
"(cm/pixel)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:90
|
||||
msgid ""
|
||||
"``--dem-gapfill-steps`` which determines the number of progressive DEM "
|
||||
"layers to use. For urban scenes increasing this value to `4-5` can help "
|
||||
"produce better interpolation results in the areas that are left empty by "
|
||||
"the SMRF filter."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:92
|
||||
msgid "Example of how to generate a DTM::"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:99
|
||||
msgid "Ground Control Points"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:101
|
||||
msgid ""
|
||||
"Ground control points are useful for correcting distortions in the data "
|
||||
"and referencing the data to know coordinate systems."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:103
|
||||
msgid "The format of the GCP file is simple."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:105
|
||||
msgid ""
|
||||
"The header line is a description of a UTM coordinate system, which must "
|
||||
"be written as a proj4 string. http://spatialreference.org/ is a good "
|
||||
"resource for finding that information. Please note that currently angular"
|
||||
" coordinates (like lat/lon) DO NOT work."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:106
|
||||
msgid ""
|
||||
"Subsequent lines are the X, Y & Z coordinates, your associated pixels and"
|
||||
" the image filename:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:108
|
||||
msgid "GCP file format::"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:114
|
||||
msgid "e.g. for the Langley dataset::"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:121
|
||||
msgid ""
|
||||
"If you supply a GCP file called gcp_list.txt then ODM will automatically "
|
||||
"detect it. If it has another name you can specify using ``--gcp <path>``."
|
||||
" If you have a gcp file and want to do georeferencing with exif instead, "
|
||||
"then you can specify ``--use-exif``."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:123
|
||||
msgid ""
|
||||
"`This post has some information about placing Ground Control Targets "
|
||||
"before a flight <http://diydrones.com/profiles/blogs/ground-control-"
|
||||
"points-gcps-for-aerial-photography>`_, but if you already have images, "
|
||||
"you can find your own points in the images post facto. It's important "
|
||||
"that you find high-contrast objects that are found in **at least** 3 "
|
||||
"photos, and that you find a minimum of 5 objects."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:125
|
||||
msgid ""
|
||||
"Sharp corners are good picks for GCPs. You should also place/find the "
|
||||
"GCPs evenly around your survey area."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:127
|
||||
msgid ""
|
||||
"The ``gcp_list.txt`` file must be created in the base of your project "
|
||||
"folder."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:129
|
||||
msgid ""
|
||||
"For good results your file should have a minimum of 15 lines after the "
|
||||
"header (5 points with 3 images to each point)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:132
|
||||
msgid "Ground Control Points Interface"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:134
|
||||
msgid ""
|
||||
"WebODM has a GCP interface, and example of which can be seen on `the "
|
||||
"WebODM Demo <http://demo.webodm.org/plugins/posm-gcpi/>`_. To use this "
|
||||
"with known ground control XYZ values, one would do the following:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:136
|
||||
msgid ""
|
||||
"Create a GCP list that only includes gcp name (this is the label that "
|
||||
"will be seen in the GCP interface), x, y, and z, with a header with a "
|
||||
"proj4 string of your GCPs (make sure they are in a planar coordinate "
|
||||
"system, such as UTM. It should look something like this:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:147
|
||||
msgid ""
|
||||
"Then one can load this GCP list into the interface, load the images, and "
|
||||
"place each of the GCPs in the image."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:149
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/using.rst>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:152
|
||||
msgid "Using Docker"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:154
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:156
|
||||
msgid "A few simple commands can make our docker experience much better."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:159
|
||||
msgid "Listing Docker Machines"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:161
|
||||
msgid ""
|
||||
"We can start by listing available docker machines on the current machine "
|
||||
"we are running as follows:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:170
|
||||
msgid ""
|
||||
"If we want to see machines that may not be running but still exist, we "
|
||||
"can add the `-a` flag:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:183
|
||||
msgid "Accessing logs on the instance"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:185
|
||||
msgid ""
|
||||
"Using either the `CONTAINER ID` or the name, we can access any logs "
|
||||
"available on the machine as follows:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:191
|
||||
msgid ""
|
||||
"This is likely to be unwieldy large, but we can use a pipe `|` character "
|
||||
"and other tools to extract just what we need from the logs. For example "
|
||||
"we can move through the log slowly using the `more` command:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:207
|
||||
msgid ""
|
||||
"Pressing `Enter` or `Space`, arrow keys or `Page Up` or `Page Down` keys "
|
||||
"will now help us navigate through the logs. The lower case letter `Q` "
|
||||
"will let us escape back to the command line."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:209
|
||||
msgid ""
|
||||
"We can also extract just the end of the logs using the `tail` commmand as"
|
||||
" follows:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:220
|
||||
msgid ""
|
||||
"The value `-5` tells the tail command to give us just the last 5 lines of"
|
||||
" the logs."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:223
|
||||
msgid "Command line access to instances"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:225
|
||||
msgid ""
|
||||
"Sometimes we need to go a little deeper in our exploration of the process"
|
||||
" for OpenDroneMap. For this, we can get direct command line access to the"
|
||||
" machines. For this, we can use `docker exec` to execute a `bash` command"
|
||||
" line shell in the machine of interest as follows:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:232
|
||||
msgid "Now we are logged into our docker instance and can explore the machine."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:235
|
||||
msgid "Cleaning up after Docker"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:237
|
||||
msgid ""
|
||||
"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 `excellent overview of how to manage excess disk "
|
||||
"usage in docker <https://lebkowski.name/docker-volumes/>`_."
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/arguments.rst:4
|
||||
msgid "Options and Flags"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/arguments.rst:6
|
||||
msgid "Arguments::"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/arguments.rst:289
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/using.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,193 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/contributing.rst:4
|
||||
msgid "How to contribute"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:6
|
||||
msgid ""
|
||||
"OpenDroneMap relies on community contributions. You can contribute in "
|
||||
"many ways, even if you are not a programmer."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:9
|
||||
msgid "Community Forum"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:11
|
||||
msgid ""
|
||||
"If you are looking to get involved, are stuck on a problem, or want to "
|
||||
"reach out, `the forum <https://community.opendronemap.org/>`_ is a great "
|
||||
"place to start. You may find your questions already answered or else you "
|
||||
"can find other useful tips and resources. You can also contribute your "
|
||||
"open access datasets for others to explore. It is a good place go before "
|
||||
"submitting bug reports or getting in touch with developers before writing"
|
||||
" a new feature."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:14
|
||||
msgid "Reporting Bugs"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:16
|
||||
msgid ""
|
||||
"Bugs are tracked as Github issues. Please create an issue in the "
|
||||
"repository and tag it with the Bug tag."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:18
|
||||
msgid ""
|
||||
"Explain the problem and include additional details to help maintainers "
|
||||
"reproduce the problem:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:20
|
||||
msgid ""
|
||||
"**Use a clear and descriptive title** for the issue to identify the "
|
||||
"problem."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:21
|
||||
msgid ""
|
||||
"**Describe the exact steps which reproduce the problem** in as many "
|
||||
"details as possible. For example, start by explaining how you run ODM "
|
||||
"(Docker, Vagrant, etc), e.g. which command exactly you used in the "
|
||||
"terminal. When listing steps, **don't just say what you did, but explain "
|
||||
"how you did it.**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:22
|
||||
msgid ""
|
||||
"**Provide specific examples to demonstrate the steps.** Include links to "
|
||||
"files or GitHub projects, or copy/pasteable snippets, which you use in "
|
||||
"those examples. If you're providing snippets in the issue, use `Markdown "
|
||||
"code blocks <https://help.github.com/articles/markdown-basics/#multiple-"
|
||||
"lines>`_."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:23
|
||||
msgid ""
|
||||
"**Describe the behavior you observed after following the steps** and "
|
||||
"point out what exactly is the problem with that behavior."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:24
|
||||
msgid "**Explain which behavior you expected to see instead and why.**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:25
|
||||
msgid ""
|
||||
"**Include screenshots and animated GIFs** which show you following the "
|
||||
"described steps and clearly demonstrate the problem. You can use `this "
|
||||
"tool to record GIFs on macOS and Windows "
|
||||
"<http://www.cockos.com/licecap/>`_, and `this tool "
|
||||
"<https://github.com/colinkeenan/silentcast>`_ or `this one "
|
||||
"<https://github.com/GNOME/byzanz>`_ on Linux."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:26
|
||||
msgid ""
|
||||
"**If the problem is related to performance,** please post your machine's "
|
||||
"specs (host and guest machine)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:27
|
||||
msgid ""
|
||||
"**If the problem wasn't triggered by a specific action,** describe what "
|
||||
"you were doing before the problem happened and share more information "
|
||||
"using the guidelines below."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:29
|
||||
msgid "Include details about your configuration and environment:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:31
|
||||
msgid ""
|
||||
"**Which version of ODM are you using?** A stable release? a clone of "
|
||||
"master?"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:32
|
||||
msgid "**What's the name and version of the OS you're using?**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:33
|
||||
msgid ""
|
||||
"**Are you running ODM in a virtual machine or Docker?** If so, which VM "
|
||||
"software are you using and which operating systems and versions are used "
|
||||
"for the host and the guest?"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:36
|
||||
msgid "Template For Submitting Bug Reports"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:69
|
||||
msgid "Pull Requests"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:71
|
||||
msgid ""
|
||||
"Include screenshots and animated GIFs in your pull request whenever "
|
||||
"possible."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:72
|
||||
msgid "Follow the PEP8 Python Style Guide."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:73
|
||||
msgid "End files with a newline."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:76
|
||||
msgid "Avoid platform-dependent code:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:75
|
||||
msgid "Use require('fs-plus').getHomeDirectory() to get the home directory."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:76
|
||||
msgid "Use path.join() to concatenate filenames."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:77
|
||||
msgid ""
|
||||
"Use os.tmpdir() rather than /tmp when you need to reference the temporary"
|
||||
" directory."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:79
|
||||
msgid "Using a plain return when returning explicitly at the end of a function."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:79
|
||||
msgid "Not return null, return undefined, null, or undefined"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/contributing.rst:81
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/contributing.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,75 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/flying.rst:2
|
||||
msgid "Flying tips"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:4
|
||||
msgid ""
|
||||
"The `Humanitarian OpenStreetMap team <https://www.hotosm.org/>`_ has "
|
||||
"guidelines on `flying for UAV mapping <https://uav-"
|
||||
"guidelines.openaerialmap.org/>`_:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:6
|
||||
msgid ""
|
||||
"`Choosing the right UAV <https://uav-"
|
||||
"guidelines.openaerialmap.org/pages/05-choosing-the-right-uav/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:8
|
||||
msgid ""
|
||||
"`Choosing the right sensor <https://uav-"
|
||||
"guidelines.openaerialmap.org/pages/06-choosing-the-sensor/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:10
|
||||
msgid ""
|
||||
"`Mission preparation <https://uav-guidelines.openaerialmap.org/pages/07"
|
||||
"-preparing-for-the-uav-mission/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:12
|
||||
msgid ""
|
||||
"The guidelines are intended for drone mapping projects on islands, but "
|
||||
"have general use for all drone mappers."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:14
|
||||
msgid ""
|
||||
"See also DroneDeploy's guide on `Making Successful Maps "
|
||||
"<https://support.dronedeploy.com/docs/making-successful-maps>`_, which "
|
||||
"provides great tips on mission planning."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:16
|
||||
msgid ""
|
||||
"Finally, lens distortion is a challenge in projects requiring accurate 3D"
|
||||
" data. See our section in these docs on `Camera Calibration "
|
||||
"<tutorials.html#calibrating-the-camera>`_."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/flying.rst:18
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/flying.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/index.rst:8
|
||||
msgid "Welcome to OpenDroneMap's documentation"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/index.rst:40
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/index.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,778 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/installation.rst:4
|
||||
msgid "Installation and Getting Started"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:6
|
||||
msgid ""
|
||||
"This section is excerpted and modified with permission from "
|
||||
"`OpenDroneMap: The Missing Guide <https://odmbook.com>`_, by Piero "
|
||||
"Toffanin."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:8
|
||||
msgid ""
|
||||
"Until recently OpenDroneMap was the term used to refer to a single "
|
||||
"command line application (what is now known as the ODM project). With "
|
||||
"the recent development of a web interface, an API and other tools, "
|
||||
"OpenDroneMap has become an ecosystem of various applications to process, "
|
||||
"analyze and display aerial data. This ecosystem is made of several "
|
||||
"components:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:14
|
||||
msgid ""
|
||||
"**ODM** is the processing engine, which can be used from the command "
|
||||
"line. It takes images as input and produces a variety of outputs, "
|
||||
"including point clouds, 3D models and orthophotos"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:20
|
||||
msgid ""
|
||||
"**NodeODM** is a light-weight API built on top of ODM. It allows users "
|
||||
"and applications to access the functions of ODM over a computer network"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:26
|
||||
msgid ""
|
||||
"**WebODM** is a friendly user interface that includes a map viewer, a 3D "
|
||||
"viewer, user logins, a plugin system and many other features that are "
|
||||
"expected of modern drone mapping platforms"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:32
|
||||
msgid ""
|
||||
"**CloudODM** is a small command line client to communicate with ODM via "
|
||||
"the NodeODM API"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:38
|
||||
msgid ""
|
||||
"**PyODM** is a Python SDK for creating tasks via the NodeODM API. We "
|
||||
"cover it in more detail in the “Automated Processing With Python” chapter"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:44
|
||||
msgid ""
|
||||
"**ClusterODM** is a load balancer for connecting together multiple "
|
||||
"NodeODM instances"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:46
|
||||
msgid ""
|
||||
"ODM, NodeODM and WebODM are available on all major platforms (Windows, "
|
||||
"macOS and Linux) via a program called docker, which is required to run "
|
||||
"the software. Docker offers a way to run “containers”. Containers are "
|
||||
"packaged copies of an entire system, its software and its dependencies. "
|
||||
"These containers run within a virtual environment. On Linux this virtual "
|
||||
"environment is available from the operating system and is very efficient."
|
||||
" On macOS and Windows the containers run within a VM, so there’s a bit of"
|
||||
" a overhead. but it’s still very suitable for running the software. Once "
|
||||
"installed users do not have to worry much about docker, as it operates "
|
||||
"(almost) transparently."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:48
|
||||
msgid ""
|
||||
"Without docker it would not be possible to run ODM on Windows or macOS. "
|
||||
"On these platforms ODM cannot run natively. Future development efforts "
|
||||
"are being focused on leveraging the new Windows Subsystem for Linux (WSL)"
|
||||
" and the possibility to make a native port of all dependencies to macOS, "
|
||||
"which is going to make the installation much easier."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:50
|
||||
msgid ""
|
||||
"On Ubuntu Linux 16.04 it’s feasible to run all OpenDroneMap software "
|
||||
"natively. However, because there’s very little performance penalty for "
|
||||
"running docker on Linux and docker is straightforward to setup on this "
|
||||
"platform, we don’t recommend it. On Linux the advantages of "
|
||||
"containerization far outweigh a tiny performance penalty. With docker "
|
||||
"users also get easy one-step updates of the software, so that’s nice."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:54
|
||||
msgid "Hardware Recommendations"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:56
|
||||
msgid "The bare minimum requirements for running the software are:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:59
|
||||
msgid "64bit CPU manufactured on or after 2010"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:60
|
||||
msgid "20 GB of disk space"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:61
|
||||
msgid "4 GB RAM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:63
|
||||
msgid ""
|
||||
"No more than 100-200 images can be processed with the above "
|
||||
"specifications (the software will run out of memory). Recommended "
|
||||
"requirements are:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:65
|
||||
msgid "Latest Generation CPU"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:66
|
||||
msgid "100 GB of disk space"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:67
|
||||
msgid "16 GB RAM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:69
|
||||
msgid ""
|
||||
"The above will allow for a few hundred images to be processed without too"
|
||||
" many issues. A CPU with more cores will allow for faster processing, "
|
||||
"while a graphics card (GPU) currently has no impact on performance. For "
|
||||
"processing more images, add more disk space and RAM linearly to the "
|
||||
"number of images you need to process."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:75
|
||||
msgid "Installation"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:77
|
||||
msgid ""
|
||||
"We recommend people use `docker <https://www.docker.com>`_ for running "
|
||||
"ODM, whether you are on Windows, macOS or Linux."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:80
|
||||
msgid "Windows"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:82
|
||||
msgid ""
|
||||
"To run OpenDroneMap you need at least Windows 7. Previous versions of "
|
||||
"Windows are not supported."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:86 ../../source/installation.rst:237
|
||||
msgid "Step 1. Check Virtualization Support"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:88
|
||||
msgid ""
|
||||
"Docker requires a feature from your CPU called virtualization, which "
|
||||
"allows it to run virtual machines (VMs). Make sure you have it enabled! "
|
||||
"Sometimes this is disabled. To check, on Windows 8 or higher you can open"
|
||||
" the **Task Manager** (press CTRL+SHIFT+ESC) and switch to the "
|
||||
"**Performance** tab."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:94
|
||||
msgid "*Virtualization should be enabled*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:96
|
||||
msgid ""
|
||||
"On Windows 7 to see if you have virtualization enabled you can use the "
|
||||
"`Microsoft® Hardware-Assisted Virtualization Detection Tool <http:// "
|
||||
"www.microsoft.com/en-us/download/details.aspx?id=592>`_ instead."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:99
|
||||
msgid ""
|
||||
"If virtualization is disabled, you’ll need to enable it. The procedure "
|
||||
"unfortunately is a bit different for each computer model, so the best way"
|
||||
" to do this is to look up on a search engine “how to enable vtx for <type"
|
||||
" your computer model here>”. Often times it’s a matter of restarting the "
|
||||
"computer, immediately pressing F2 or F12 during startup, navigating the "
|
||||
"boot menu and changing the settings to enable virtualization (often "
|
||||
"called “VT-X”)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:105
|
||||
msgid ""
|
||||
"*Common keys to press at computer startup to access the boot menu for "
|
||||
"various PC vendors*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:108 ../../source/installation.rst:256
|
||||
msgid "Step 2. Install Requirements"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:110
|
||||
msgid "First, you’ll need to install:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:112
|
||||
msgid "Git: https://git-scm.com/downloads"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:113
|
||||
msgid "Python (latest version 3): https://www.python.org/downloads/windows/"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:115
|
||||
msgid ""
|
||||
"For Python 3, make sure you check **Add Python 3.x to PATH** during the "
|
||||
"installation."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:121
|
||||
msgid ""
|
||||
"*Don’t forget to add the Python executable to your PATH (so that you can "
|
||||
"run commands with it)*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:123
|
||||
msgid ""
|
||||
"Then, only if you are on Windows 10 Home, Windows 8 (any version) or "
|
||||
"Windows 7 (any version), install:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:125
|
||||
msgid ""
|
||||
"Docker Toolbox: "
|
||||
"https://github.com/docker/toolbox/releases/download/v18.09.3/DockerToolbox-18.09.3.exe"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:127
|
||||
msgid ""
|
||||
"If you are on Windows 10 Professional or a newer version, you should "
|
||||
"install instead:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:129
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Docker for Windows: "
|
||||
"https://download.docker.com/win/stable/Docker%20for%20Windows%20Installer.exe"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:131
|
||||
msgid ""
|
||||
"Please do **NOT** install both docker programs. They are different and "
|
||||
"will create a mess if they are both installed."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:133
|
||||
msgid ""
|
||||
"After installing docker, launch it from the Desktop icon that is created "
|
||||
"from the installation (**Docker Quickstart** in the case of Docker "
|
||||
"Toolbox, **Docker for Windows** for Docker for Windows). This is "
|
||||
"important, do not skip this step. If there are errors, follow the prompts"
|
||||
" on screen to fix them."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:136 ../../source/installation.rst:298
|
||||
msgid "Step 3. Check Memory and CPU Allocation"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:138
|
||||
msgid ""
|
||||
"Docker on Windows works by running a VM in the background (think of a VM "
|
||||
"as a “computer emulator”). This VM has a certain amount of memory "
|
||||
"allocated and WebODM can only use as much memory as it’s allocated."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:140
|
||||
msgid ""
|
||||
"If you installed Docker Toolbox (see below if you installed Docker for "
|
||||
"Windows instead):"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:142
|
||||
msgid "Open the **VirtualBox Manager** application"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:143
|
||||
msgid ""
|
||||
"Right click the **default** VM and press **Close (ACPI Shutdown)** to "
|
||||
"stop the machine"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:144
|
||||
msgid "Right click the **default** VM and press **Settings...**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:145
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Move the **Base Memory** slider from the **System** paneland allocate "
|
||||
"60-70% of all available memory, optionally adding 50% of the available "
|
||||
"processors from the **Processor** tab also"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:151
|
||||
msgid "*VirtualBox default VM settings*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:153
|
||||
msgid "Then press **OK**, right click the **default** VM and press **Start**."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:155
|
||||
msgid "If you installed Docker for Windows instead:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:157
|
||||
msgid "Look in the system tray and right click the “white whale” icon."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:158
|
||||
msgid "From the menu, press **Settings...**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:159
|
||||
#, python-format
|
||||
msgid ""
|
||||
"From the panel, click **Advanced** and use the sliders to allocate 60-70%"
|
||||
" of available memory and use half of all available CPUs."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:160
|
||||
msgid "Press **Apply**."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:166
|
||||
msgid "*Step 1 Docker icon*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:172
|
||||
msgid "*Step 3 & 4 Docker settings*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:175
|
||||
msgid "Step 4. Download WebODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:177
|
||||
msgid "Open the **Git Gui** program that comes installed with Git. From there:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:179
|
||||
msgid "In **Source Location** type: https://github.com/Open-DroneMap/WebODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:180
|
||||
msgid ""
|
||||
"In **Target Directory** click browse and navigate to a folder of your "
|
||||
"choosing (create one if necessary)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:181
|
||||
msgid "Press **Clone**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:187
|
||||
msgid "*Git Gui*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:189
|
||||
msgid "If the download succeeded, you should now see this window:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:195
|
||||
msgid "*Git Gui after successful download (clone)*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:197
|
||||
msgid ""
|
||||
"Go to the **Repository** menu, then click **Create Desktop Icon**. This "
|
||||
"will allow you to come back to this application easily in the future."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:200
|
||||
msgid "Step 4. Launch WebODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:202
|
||||
msgid ""
|
||||
"From Git Gui, go to the **Repository** menu, then click **Git Bash**. "
|
||||
"From the command line terminal type:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:208
|
||||
msgid ""
|
||||
"Several components will download to your machine at this point, including"
|
||||
" WebODM, NodeODM and ODM. After the download you should be greeted by the"
|
||||
" following screen:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:214
|
||||
msgid "*Console output after starting WebODM for the first time*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:216
|
||||
msgid ""
|
||||
"If you are using Docker for Windows, open a web browser to "
|
||||
"http://localhost:8000"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:217
|
||||
msgid ""
|
||||
"If you are using Docker Toolbox, find the IP address to connect to by "
|
||||
"typing:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:223
|
||||
msgid "You should get a result like the following:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:229
|
||||
msgid ""
|
||||
"Then connect to http://192.168.1.100:8000 (replacing the IP address with "
|
||||
"the proper one)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:232
|
||||
msgid "macOS"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:234
|
||||
msgid ""
|
||||
"Most modern (post 2010) Mac computers running macOS Sierra 10.12 or "
|
||||
"higher can run OpenDroneMap using docker, as long as hardware "
|
||||
"virtualization is supported (see below)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:239
|
||||
msgid "Open a Terminal window and type:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:245
|
||||
msgid "You will get a response similar to the following:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:251
|
||||
msgid ""
|
||||
"If the result is *kern.hv_support: 1*, then your Mac is supported! "
|
||||
"Continue with Step 2."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:253
|
||||
msgid ""
|
||||
"If the result is *kern.hv_support: 0*, unfortunately it means your Mac is"
|
||||
" too old to run OpenDroneMap. :("
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:258
|
||||
msgid "There are only two programs to install:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:260
|
||||
msgid "Docker: https://download.docker.com/mac/stable/Docker.dmg"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:261
|
||||
msgid "Git: https://sourceforge.net/projects/git-osx-installer/files/"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:263
|
||||
msgid ""
|
||||
"After installing docker you should find an icon that looks like a whale "
|
||||
"in the task bar."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:269
|
||||
msgid "*Docker app running*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:271
|
||||
msgid ""
|
||||
"You can verify that docker is running properly by opening the "
|
||||
"**Terminal** app and typing:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:277
|
||||
msgid "Which should return"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:283
|
||||
msgid "To verify that git is installed, simply type:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:289
|
||||
msgid "Which should return something similar to the following:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:295
|
||||
msgid ""
|
||||
"If you get a “bash: git: command not found”, try to restart your "
|
||||
"**Terminal** app and double-check for any errors during the install "
|
||||
"process."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:300
|
||||
msgid ""
|
||||
"Docker on macOS works by running a VM in the background (think of it as a"
|
||||
" “computer emulator”). This VM has a certain amount of memory allocated "
|
||||
"and WebODM can only use as much memory as it’s allocated."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:302
|
||||
msgid "Right click the whale icon from the task bar and click **Preferences**..."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:303
|
||||
msgid "Select the **Advanced** tab"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:304
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Adjust the CPUs slider to use half of all available CPUs and the memory "
|
||||
"to use 60-70% of all available memory"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:305
|
||||
msgid "Press **Apply & Restart**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:311
|
||||
msgid "*Docker advanced settings*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:314
|
||||
msgid "Step 4. Download and Launch WebODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:316
|
||||
msgid "From a **Terminal** type:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:324 ../../source/installation.rst:425
|
||||
msgid "Then open a web browser to http://localhost:8000."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:327
|
||||
msgid "Linux"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:329
|
||||
msgid ""
|
||||
"OpenDroneMap can run on any Linux distribution that supports docker. "
|
||||
"According to `docker’s documentation website "
|
||||
"<https://docs.docker.com/install/>`_ the officially supported "
|
||||
"distributions are CentOS, Debian, Ubuntu and Fedora, with static binaries"
|
||||
" available for others. If you have to pick a distribution solely for "
|
||||
"running OpenDroneMap, Ubuntu is the recommended way to go."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:332
|
||||
msgid "Step 1. Install Requirements"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:334
|
||||
msgid "There are four programs that need to be installed:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:336
|
||||
msgid "Docker"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:337
|
||||
msgid "Git"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:338
|
||||
msgid "Python (2 or 3)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:339
|
||||
msgid "Pip"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:341
|
||||
msgid ""
|
||||
"We cannot possibly cover the installation process for every Linux "
|
||||
"distribution out there, so we’ll limit the instructions to those that are"
|
||||
" distributions officially supported by docker. In all cases it’s just a "
|
||||
"matter of opening a terminal prompt and typing a few commands."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:344
|
||||
msgid "Install on Ubuntu / Debian"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:346 ../../source/installation.rst:358
|
||||
#: ../../source/installation.rst:369 ../../source/installation.rst:380
|
||||
msgid "Commands to type:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:356
|
||||
msgid "Install on CentOS / RHEL"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:367
|
||||
msgid "Install on Fedora"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:378
|
||||
msgid "Install on Arch"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:387
|
||||
msgid "Step 2. Check Additional Requirements"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:389
|
||||
msgid ""
|
||||
"In addition to the three programs above, the dockercompose script is also"
|
||||
" needed. Sometimes it’s already installed with docker, but sometimes it "
|
||||
"isn’t. To verify if it’s installed try to type:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:395
|
||||
msgid "You should see somethings similar to the following:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:401
|
||||
msgid "If instead you get something similar to the following:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:407
|
||||
msgid "you can install it by using pip:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:415
|
||||
msgid "Step 3. Download and Launch WebODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:417
|
||||
msgid "From a terminal type:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:428
|
||||
msgid "Basic Commands and Troubleshooting"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:430
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The cool thing about using docker is that 99% of the tasks you’ll ever "
|
||||
"need to perform while using WebODM can be done via the ./webodm.sh "
|
||||
"script. You have already encountered one of them:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:436
|
||||
msgid ""
|
||||
"which takes care of starting WebODM and setting up a default processing "
|
||||
"node (node-odm-1). If you want to stop WebODM, you can already guess what"
|
||||
" the command is:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:442
|
||||
msgid ""
|
||||
"There are several other commands you can use, along with different flags."
|
||||
" Flags are parameters passed to the ./webodm.sh command and are typically"
|
||||
" prefixed with “–”. The **port** flag for example instructs WebODM to use"
|
||||
" a different network port:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:448
|
||||
msgid "Other useful commands are listed below:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:467
|
||||
msgid ""
|
||||
"`The community forum <https://community.opendronemap.org>`_ is a great "
|
||||
"place to ask for help if you get stuck during any of the installation"
|
||||
" steps and for general questions on using the ./webodm.sh script."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:470
|
||||
msgid "Hello, WebODM!"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:472
|
||||
msgid ""
|
||||
"After running ./webodm.sh start and opening WebODM in the browser, you "
|
||||
"will be greeted with a welcome message and will be asked to create the "
|
||||
"first user. Take some time to familiarize yourself with the web interface"
|
||||
" and explore its various menus."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:478
|
||||
msgid "*WebODM Dashboard*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:480
|
||||
msgid ""
|
||||
"Notice that under the **Processing Nodes** menu there’s a \"node-odm-1\" "
|
||||
"node already configured for you to use. This is a NodeODM node and has "
|
||||
"been created automatically by WebODM. This node is running on the same "
|
||||
"machine as WebODM."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:482
|
||||
msgid ""
|
||||
"If you’ve made it this far, congratulations! Now it’s time to start "
|
||||
"processing some data."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:489
|
||||
msgid "Running on more than one machine"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:491
|
||||
msgid ""
|
||||
"**Optionally:** If you have another computer, you can repeat the "
|
||||
"installation process (install docker, git, python, etc.) and launch a new"
|
||||
" NodeODM node by typing from a Terminal/Git Bash window:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:497
|
||||
msgid ""
|
||||
"The above command asks docker to launch a new container using the "
|
||||
"opendronemap/nodeodm image from Docker Hub (the latest version of "
|
||||
"NodeODM), using port 3000, setting a maximum number of concurrent tasks "
|
||||
"to 1 and to protect the node from unauthorized access using the password "
|
||||
"\"secret\"."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:499
|
||||
msgid ""
|
||||
"From WebODM you can then press the **Add New** button under **Processing "
|
||||
"Nodes**. For the **hostname/IP** field type the IP of the second "
|
||||
"computer. For the **port** field type “3000”. For the **token** field "
|
||||
"type “secret”. You can also add an optional **label** for your node, such"
|
||||
" as “second computer”. Then press **Save**."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:501
|
||||
msgid ""
|
||||
"If everything went well, you should now have two processing nodes! You "
|
||||
"will be able to process multiple tasks in parallel using two different "
|
||||
"machines."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/installation.rst:503
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/installation.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,275 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/large.rst:4
|
||||
msgid "Splitting Large Datasets"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:6
|
||||
msgid ""
|
||||
"Starting with ODM version ``0.6.0`` you can split up very large datasets "
|
||||
"into manageable chunks (called submodels), running the pipeline on each "
|
||||
"chunk, and then producing merged DEMs, orthophotos and point clouds. The "
|
||||
"process is referred to as \"split-merge\"."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:8
|
||||
msgid ""
|
||||
"Why might you use the split-merge pipeline? If you have a very large "
|
||||
"number of images in your dataset, split-merge will help make the "
|
||||
"processing more manageable on a large machine (it will require less "
|
||||
"memory). If you have many machines all connected to the same network you "
|
||||
"can also process the submodels in parallel, thus allowing for horizontal "
|
||||
"scaling and processing thousands of images more quickly."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:10
|
||||
msgid ""
|
||||
"Split-merge works in WebODM out of the box as long as the processing "
|
||||
"nodes support split-merge, by enabling the ``--split`` option when "
|
||||
"creating a new task."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:13
|
||||
msgid "Calibrate images"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:15
|
||||
msgid ""
|
||||
"Image calibration is recommended (but not required) for large datasets "
|
||||
"because error propagation due to image distortion could cause a bowl "
|
||||
"effect on the models. Calibration instructions can be found at "
|
||||
"`Calibrate Images <tutorials.html#calibrating-the-camera>`_."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:21
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:24
|
||||
msgid "Local Split-Merge"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:26
|
||||
msgid ""
|
||||
"Splitting a dataset into more manageable submodels and sequentially "
|
||||
"processing all submodels on the same machine is easy! Just use "
|
||||
"``--split`` and ``--split-overlap`` to decide the the average number of "
|
||||
"images per submodels and the overlap (in meters) between submodels "
|
||||
"respectively"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:32
|
||||
msgid ""
|
||||
"If you already know how you want to split the dataset, you can provide "
|
||||
"that information and it will be used instead of the clustering algorithm."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:34
|
||||
msgid ""
|
||||
"The grouping can be provided by adding a file named image_groups.txt in "
|
||||
"the main dataset folder. The file should have one line per image. Each "
|
||||
"line should have two words: first the name of the image and second the "
|
||||
"name of the group it belongs to. For example::"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:42
|
||||
msgid ""
|
||||
"will create 3 submodels. Make sure to pass ``--split-overlap 0`` if you "
|
||||
"manually provide a ``image_groups.txt`` file."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:46
|
||||
msgid "Distributed Split-Merge"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:48
|
||||
msgid ""
|
||||
"ODM can also automatically distribute the processing of each submodel to "
|
||||
"multiple machines via `NodeODM "
|
||||
"<https://github.com/OpenDroneMap/NodeODM>`_ nodes, orchestrated via "
|
||||
"`ClusterODM <https://github.com/OpenDroneMap/ClusterODM>`_."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:55
|
||||
msgid "Getting Started with Distributed Split-Merge"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:57
|
||||
msgid "The first step is start ClusterODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:63
|
||||
msgid ""
|
||||
"Then on each machine you want to use for processing, launch a NodeODM "
|
||||
"instance via"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:69
|
||||
msgid ""
|
||||
"Connect via telnet to ClusterODM and add the IP addresses/port of the "
|
||||
"machines running NodeODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:84
|
||||
msgid "Make sure you are running version ``1.5.1`` or higher of the NodeODM API."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:86
|
||||
msgid ""
|
||||
"At this point, simply use the ``--sm-cluster`` option to enable "
|
||||
"distributed split-merge"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:93
|
||||
msgid "Understanding the Cluster"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:95
|
||||
msgid ""
|
||||
"When connected via telnet, it is possible to interrogate what is "
|
||||
"happening on the cluster. For example, we can use the command HELP to "
|
||||
"find out available commands"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:118
|
||||
msgid ""
|
||||
"If, for example, the NodeODM instance wasn't active when ClusterODM "
|
||||
"started, we might list nodes and see something as follows"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:125
|
||||
msgid ""
|
||||
"To address this, we can start up our local node (if not already started),"
|
||||
" and then perform a ``NODE UPDATE``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:135
|
||||
msgid "Accessing the Logs"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:137
|
||||
msgid ""
|
||||
"While a process is running, it is also possible to list the tasks, and "
|
||||
"view the task output"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:145
|
||||
msgid "Autoscaling ClusterODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:147
|
||||
msgid ""
|
||||
"ClusterODM also includes the option to autoscale on multiple platforms, "
|
||||
"including, to date, Amazon and Digital Ocean. This allows users to reduce"
|
||||
" costs associated with always-on instances as well as being able to scale"
|
||||
" processing based on demand."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:149
|
||||
msgid "To setup autoscaling you must:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:151
|
||||
msgid "Have a functioning version of NodeJS installed and then install ClusterODM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:159
|
||||
msgid "Make sure docker-machine is installed."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:160
|
||||
msgid "Setup a S3-compatible bucket for storing results."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:161
|
||||
msgid ""
|
||||
"Create a configuration file for `DigitalOcean "
|
||||
"<https://github.com/OpenDroneMap/ClusterODM/blob/master/docs/digitalocean.md>`_"
|
||||
" or `Amazon Web Services "
|
||||
"<https://github.com/OpenDroneMap/ClusterODM/blob/master/docs/aws.md>`_."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:163
|
||||
msgid "You can then launch ClusterODM with"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:169
|
||||
msgid "You should see something similar to following messages in the console"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:177
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You should always have at least one static NodeODM node attached to "
|
||||
"ClusterODM, even if you plan to use the autoscaler for all processing. If"
|
||||
" you setup auto scaling, you can't have zero nodes and rely 100% on the "
|
||||
"autoscaler. You need to attach a NodeODM node to act as the \"reference "
|
||||
"node\" otherwise ClusterODM will not know how to handle certain requests "
|
||||
"(for the forwarding the UI, for validating options prior to spinning up "
|
||||
"an instance, etc.). For this purpose, you should add a \"dummy\" NodeODM "
|
||||
"node and lock it"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:187
|
||||
msgid "This way all tasks will be automatically forwarded to the autoscaler."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:190
|
||||
msgid "Limitations"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:192
|
||||
msgid ""
|
||||
"The 3D textured meshes are currently not being merged as part of the "
|
||||
"workflow (only point clouds, DEMs and orthophotos are)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:194
|
||||
msgid ""
|
||||
"GCPs are fully supported, however, there needs to be at least 3 GCP "
|
||||
"points on each submodel for the georeferencing to take place. If a "
|
||||
"submodel has fewer than 3 GCPs, a combination of the remaining GCPs + "
|
||||
"EXIF data will be used instead (which is going to be less accurate). We "
|
||||
"recommend using the ``image_groups.txt`` file to accurately control the "
|
||||
"submodel split when using GCPs."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:197
|
||||
msgid "Acknowledgments"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:198
|
||||
msgid ""
|
||||
"Huge props to Pau and the folks at Mapillary for their amazing "
|
||||
"contributions to OpenDroneMap through their OpenSfM code, which is a key "
|
||||
"component of the split-merge pipeline. We look forward to further pushing"
|
||||
" the limits of OpenDroneMap and seeing how big a dataset we can process."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/large.rst:200
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/large.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,135 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/outputs.rst:2
|
||||
msgid "OpenDroneMap Outputs"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:4
|
||||
msgid "Listed below are some of the useful outputs ODM produces."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:7
|
||||
msgid "Point Cloud"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:9
|
||||
msgid ""
|
||||
"``odm_georeferencing/odm_georeferenced_model.ply/laz/csv`` -- The "
|
||||
"georeferenced point cloud in different file formats"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:15
|
||||
msgid ""
|
||||
"*Point cloud over State University Zanzibar, courtesy of* `Khadija "
|
||||
"Abdullah Ali <https://www.linkedin.com/in/khadija-abdulla-ali-"
|
||||
"56b4044a/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:19
|
||||
msgid "3D Textured Model"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:21
|
||||
msgid ""
|
||||
"``odm_texturing/odm_textured_model.obj`` -- The textured surface mesh "
|
||||
"``odm_texturing/odm_textured_model_geo.obj`` -- The georeferenced and "
|
||||
"textured surface mesh"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:24
|
||||
msgid ""
|
||||
"You can access the point cloud and textured meshes using MeshLab. Open "
|
||||
"MeshLab, and choose File:Import Mesh and choose your textured mesh from a"
|
||||
" location similar to the following: "
|
||||
"``odm_texturing\\odm_textured_model.obj``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:30
|
||||
msgid ""
|
||||
"*Textured mesh over State University Zanzibar, courtesy of* `Khadija "
|
||||
"Abdullah Ali <https://www.linkedin.com/in/khadija-abdulla-ali-"
|
||||
"56b4044a/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:33
|
||||
msgid "Orthophoto"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:35
|
||||
msgid ""
|
||||
"``odm_orthophoto/odm_orthphoto.png`` -- The orthophoto, but this is a "
|
||||
"simple png, which doesn't have any georeferencing information"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:37
|
||||
msgid ""
|
||||
"``odm_orthophoto/odm_orthphoto.tif`` -- GeoTIFF Orthophoto. You can use "
|
||||
"it in QGIS as a raster layer."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:43
|
||||
msgid ""
|
||||
"*Orthophoto over State University Zanzibar, courtesy of* `Khadija "
|
||||
"Abdullah Ali <https://www.linkedin.com/in/khadija-abdulla-ali-"
|
||||
"56b4044a/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:46
|
||||
msgid "DTM/DSM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:48
|
||||
msgid ""
|
||||
"DTM/DSM will only be created if the ``--dtm`` or ``--dsm`` options are "
|
||||
"used. See `tutorial on elevation models "
|
||||
"<https://docs.opendronemap.org/tutorials.html#creating-digital-elevation-"
|
||||
"models>`_ for more options in creating."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:50
|
||||
msgid "Data will be stored in:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:52
|
||||
msgid "``odm_dem/dtm.tif``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:53
|
||||
msgid "``odm_dem/dsm.tif``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:59
|
||||
msgid ""
|
||||
"*Digital surface model over State University Zanzibar, courtesy of* "
|
||||
"`Khadija Abdullah Ali <https://www.linkedin.com/in/khadija-abdulla-ali-"
|
||||
"56b4044a/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:62
|
||||
msgid "List of all outputs"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/outputs.rst:109
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/outputs.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,95 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/resources.rst:2
|
||||
msgid "Additional References"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:5
|
||||
msgid "For Users"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:7
|
||||
msgid "The following resources are a good place to start:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:9
|
||||
msgid "`README page for ODM <https://github.com/OpenDroneMap/OpenDroneMap>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:10
|
||||
msgid "`README page for WebODM <https://github.com/OpenDroneMap/WebODM>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:11
|
||||
msgid ""
|
||||
"`README page for NodeODM <https://github.com/OpenDroneMap/node-"
|
||||
"OpenDroneMap>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:12
|
||||
msgid ""
|
||||
"`Ground Control Points Format Specification "
|
||||
"<https://github.com/mapillary/OpenSfM/blob/master/doc/source/gcp.rst>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:13
|
||||
msgid "`OpenDroneMap: The Missing Guide <https://odmbook.com/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:16
|
||||
msgid "For Developers"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:18
|
||||
msgid "In addition to user resources, we recommend to also read the following:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:20
|
||||
msgid "WebODM documentation: https://docs.webodm.org"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:21
|
||||
msgid ""
|
||||
"NodeODM API specification: "
|
||||
"https://github.com/OpenDroneMap/NodeODM/blob/master/docs/index.adoc"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:22
|
||||
msgid ""
|
||||
"Overview of the ODM pipeline: http://community.opendronemap.org/t/where-"
|
||||
"can-i-find-background-information-on-the-concepts-of-odm/665/2"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:23
|
||||
msgid ""
|
||||
"We keep a `section in our forum dedicated to research papers "
|
||||
"<http://community.opendronemap.org/c/ideas-proposals/research-papers>`_. "
|
||||
"This is a valuable place where to read more about state of the art "
|
||||
"research related to structure from motion, multi-view stereo, meshing, "
|
||||
"texturing, etc. which can be used to improve the software."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/resources.rst:26
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/api.rst>`_"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,440 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2018, OpenDroneMap
|
||||
# This file is distributed under the same license as the OpenDroneMap
|
||||
# package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenDroneMap 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-07-06 21:01+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.6.0\n"
|
||||
|
||||
#: ../../source/tutorials.rst:4
|
||||
msgid "Tutorials"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:6
|
||||
msgid "Below you will find instructions for some common use cases."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:9
|
||||
msgid "Creating High Quality Orthophotos"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:15
|
||||
msgid ""
|
||||
"Without any parameter tweaks, ODM chooses a good compromise between "
|
||||
"quality, speed and memory usage. If you want to get higher quality "
|
||||
"results, you need to tweak some parameters:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:17
|
||||
msgid ""
|
||||
"``--orthophoto-resolution`` is the resolution of the orthophoto in "
|
||||
"cm/pixel. Decrease this value for a higher resolution result."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:18
|
||||
msgid ""
|
||||
"``--ignore-gsd`` 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 will produce sharper results."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:19
|
||||
msgid ""
|
||||
"``--texturing-nadir-weight`` should be increased to ``29-32`` in urban "
|
||||
"areas to reconstruct better edges of roofs. It should be decreased to "
|
||||
"``0-6`` in grassy / flat areas."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:20
|
||||
msgid "``--texturing-data-term`` should be set to `area` in forest areas."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:21
|
||||
msgid ""
|
||||
"``--mesh-size`` should be increased to `300000-600000` and `--mesh-"
|
||||
"octree-depth`` should be increased to `10-11` in urban areas to recreate "
|
||||
"better buildings / roofs."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:24
|
||||
msgid "Calibrating the Camera"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:26
|
||||
msgid ""
|
||||
"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 `Mitigating systematic error in topographic models derived from "
|
||||
"UAV and ground‐based image networks "
|
||||
"<https://onlinelibrary.wiley.com/doi/full/10.1002/esp.3609>`_ address how"
|
||||
" to minimize the distortion from self-calibration."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:32
|
||||
msgid ""
|
||||
"*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.*"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:34
|
||||
msgid ""
|
||||
"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°."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:42
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:44
|
||||
msgid ""
|
||||
"Alternatively, the following experimental method can be applied: fly with"
|
||||
" much lower overlap, but two *crossgrid* flights (sometimes called "
|
||||
"crosshatch) separated by 20° with a 5° forward facing camera."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:46
|
||||
#, python-format
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:47
|
||||
#, python-format
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:53
|
||||
msgid ""
|
||||
"Vertically separated flight lines also improve accuracy, but less so than"
|
||||
" a camera that is forward facing by 5°."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:59
|
||||
msgid ""
|
||||
"From James and Robson (2014), `CC BY 4.0 "
|
||||
"<https://creativecommons.org/licenses/by/4.0>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:62
|
||||
msgid "Creating Digital Elevation Models"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:64
|
||||
msgid ""
|
||||
"By default ODM does not create DEMs. To create a digital terrain model, "
|
||||
"make sure to pass the ``--dtm`` flag. To create a digital surface model, "
|
||||
"be sure to pass the ``--dsm`` flag."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:70
|
||||
msgid ""
|
||||
"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 ``smrf`` filter can be controlled via several parameters:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:72
|
||||
msgid ""
|
||||
"``--smrf-scalar`` scaling value. Increase this parameter for terrains "
|
||||
"with lots of height variation."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:73
|
||||
msgid ""
|
||||
"``--smrf-slope`` 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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:74
|
||||
msgid ""
|
||||
"``--smrf-threshold`` elevation threshold. Set this parameter to the "
|
||||
"minimum height (in meters) that you expect non-ground objects to be."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:75
|
||||
msgid ""
|
||||
"``--smrf-window`` 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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:77
|
||||
msgid ""
|
||||
"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 `An improved simple morphological filter for "
|
||||
"the terrain classification of airborne LIDAR data "
|
||||
"<https://www.researchgate.net/publication/258333806_An_Improved_Simple_Morphological_Filter_for_the_Terrain_Classification_of_Airborne_LIDAR_Data>`_"
|
||||
" (PDF freely available)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:79
|
||||
msgid "Overall the ``--smrf-threshold`` option has the biggest impact on results."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:81
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:87
|
||||
msgid "Two other important parameters affect DEM generation:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:89
|
||||
msgid ""
|
||||
"``--dem-resolution`` which sets the output resolution of the DEM raster "
|
||||
"(cm/pixel)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:90
|
||||
msgid ""
|
||||
"``--dem-gapfill-steps`` which determines the number of progressive DEM "
|
||||
"layers to use. For urban scenes increasing this value to `4-5` can help "
|
||||
"produce better interpolation results in the areas that are left empty by "
|
||||
"the SMRF filter."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:92
|
||||
msgid "Example of how to generate a DTM::"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:99
|
||||
msgid "Ground Control Points"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:101
|
||||
msgid ""
|
||||
"Ground control points are useful for correcting distortions in the data "
|
||||
"and referencing the data to know coordinate systems."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:103
|
||||
msgid "The format of the GCP file is simple."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:105
|
||||
msgid ""
|
||||
"The header line is a description of a UTM coordinate system, which must "
|
||||
"be written as a proj4 string. http://spatialreference.org/ is a good "
|
||||
"resource for finding that information. Please note that currently angular"
|
||||
" coordinates (like lat/lon) DO NOT work."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:106
|
||||
msgid ""
|
||||
"Subsequent lines are the X, Y & Z coordinates, your associated pixels and"
|
||||
" the image filename:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:108
|
||||
msgid "GCP file format::"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:114
|
||||
msgid "e.g. for the Langley dataset::"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:121
|
||||
msgid ""
|
||||
"If you supply a GCP file called gcp_list.txt then ODM will automatically "
|
||||
"detect it. If it has another name you can specify using ``--gcp <path>``."
|
||||
" If you have a gcp file and want to do georeferencing with exif instead, "
|
||||
"then you can specify ``--use-exif``."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:123
|
||||
msgid ""
|
||||
"`This post has some information about placing Ground Control Targets "
|
||||
"before a flight <http://diydrones.com/profiles/blogs/ground-control-"
|
||||
"points-gcps-for-aerial-photography>`_, but if you already have images, "
|
||||
"you can find your own points in the images post facto. It's important "
|
||||
"that you find high-contrast objects that are found in **at least** 3 "
|
||||
"photos, and that you find a minimum of 5 objects."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:125
|
||||
msgid ""
|
||||
"Sharp corners are good picks for GCPs. You should also place/find the "
|
||||
"GCPs evenly around your survey area."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:127
|
||||
msgid ""
|
||||
"The ``gcp_list.txt`` file must be created in the base of your project "
|
||||
"folder."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:129
|
||||
msgid ""
|
||||
"For good results your file should have a minimum of 15 lines after the "
|
||||
"header (5 points with 3 images to each point)."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:132
|
||||
msgid "Ground Control Points Interface"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:134
|
||||
msgid ""
|
||||
"WebODM has a GCP interface, and example of which can be seen on `the "
|
||||
"WebODM Demo <http://demo.webodm.org/plugins/posm-gcpi/>`_. To use this "
|
||||
"with known ground control XYZ values, one would do the following:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:136
|
||||
msgid ""
|
||||
"Create a GCP list that only includes gcp name (this is the label that "
|
||||
"will be seen in the GCP interface), x, y, and z, with a header with a "
|
||||
"proj4 string of your GCPs (make sure they are in a planar coordinate "
|
||||
"system, such as UTM. It should look something like this:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:147
|
||||
msgid ""
|
||||
"Then one can load this GCP list into the interface, load the images, and "
|
||||
"place each of the GCPs in the image."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:149
|
||||
msgid ""
|
||||
"`Help edit these docs! "
|
||||
"<https://github.com/OpenDroneMap/docs/blob/publish/source/using.rst>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:152
|
||||
msgid "Using Docker"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:154
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:156
|
||||
msgid "A few simple commands can make our docker experience much better."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:159
|
||||
msgid "Listing Docker Machines"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:161
|
||||
msgid ""
|
||||
"We can start by listing available docker machines on the current machine "
|
||||
"we are running as follows:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:170
|
||||
msgid ""
|
||||
"If we want to see machines that may not be running but still exist, we "
|
||||
"can add the `-a` flag:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:183
|
||||
msgid "Accessing logs on the instance"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:185
|
||||
msgid ""
|
||||
"Using either the `CONTAINER ID` or the name, we can access any logs "
|
||||
"available on the machine as follows:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:191
|
||||
msgid ""
|
||||
"This is likely to be unwieldy large, but we can use a pipe `|` character "
|
||||
"and other tools to extract just what we need from the logs. For example "
|
||||
"we can move through the log slowly using the `more` command:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:207
|
||||
msgid ""
|
||||
"Pressing `Enter` or `Space`, arrow keys or `Page Up` or `Page Down` keys "
|
||||
"will now help us navigate through the logs. The lower case letter `Q` "
|
||||
"will let us escape back to the command line."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:209
|
||||
msgid ""
|
||||
"We can also extract just the end of the logs using the `tail` commmand as"
|
||||
" follows:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:220
|
||||
msgid ""
|
||||
"The value `-5` tells the tail command to give us just the last 5 lines of"
|
||||
" the logs."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:223
|
||||
msgid "Command line access to instances"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:225
|
||||
msgid ""
|
||||
"Sometimes we need to go a little deeper in our exploration of the process"
|
||||
" for OpenDroneMap. For this, we can get direct command line access to the"
|
||||
" machines. For this, we can use `docker exec` to execute a `bash` command"
|
||||
" line shell in the machine of interest as follows:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:232
|
||||
msgid "Now we are logged into our docker instance and can explore the machine."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:235
|
||||
msgid "Cleaning up after Docker"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/tutorials.rst:237
|
||||
msgid ""
|
||||
"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 `excellent overview of how to manage excess disk "
|
||||
"usage in docker <https://lebkowski.name/docker-volumes/>`_."
|
||||
msgstr ""
|
||||
|
Ładowanie…
Reference in New Issue