From 4ad996fee1318b831aac0b2e3943292414771023 Mon Sep 17 00:00:00 2001 From: danbjoseph Date: Tue, 21 Jul 2020 15:23:03 -0400 Subject: [PATCH] set gettext_uuid to True --- source/conf.py | 1 + source/locale/en/.doctrees/arguments.doctree | Bin 0 -> 38151 bytes .../locale/en/.doctrees/contributing.doctree | Bin 0 -> 23372 bytes source/locale/en/.doctrees/environment.pickle | Bin 0 -> 49346 bytes source/locale/en/.doctrees/flying.doctree | Bin 0 -> 9073 bytes source/locale/en/.doctrees/gcp.doctree | Bin 0 -> 21472 bytes source/locale/en/.doctrees/index.doctree | Bin 0 -> 5277 bytes .../locale/en/.doctrees/installation.doctree | Bin 0 -> 93327 bytes source/locale/en/.doctrees/large.doctree | Bin 0 -> 46017 bytes .../locale/en/.doctrees/multispectral.doctree | Bin 0 -> 8034 bytes source/locale/en/.doctrees/outputs.doctree | Bin 0 -> 20501 bytes .../en/.doctrees/requesting-features.doctree | Bin 0 -> 9288 bytes source/locale/en/.doctrees/resources.doctree | Bin 0 -> 11171 bytes source/locale/en/.doctrees/tutorials.doctree | Bin 0 -> 110883 bytes source/locale/en/arguments.pot | 5 +- source/locale/en/contributing.pot | 33 +++- source/locale/en/flying.pot | 11 +- source/locale/en/gcp.pot | 30 +++- source/locale/en/index.pot | 4 +- source/locale/en/installation.pot | 150 +++++++++++++++++- source/locale/en/large.pot | 45 +++++- source/locale/en/multispectral.pot | 12 +- source/locale/en/outputs.pot | 23 ++- source/locale/en/requesting-features.pot | 12 +- source/locale/en/resources.pot | 17 +- source/locale/en/tutorials.pot | 99 +++++++++++- 26 files changed, 430 insertions(+), 12 deletions(-) create mode 100644 source/locale/en/.doctrees/arguments.doctree create mode 100644 source/locale/en/.doctrees/contributing.doctree create mode 100644 source/locale/en/.doctrees/environment.pickle create mode 100644 source/locale/en/.doctrees/flying.doctree create mode 100644 source/locale/en/.doctrees/gcp.doctree create mode 100644 source/locale/en/.doctrees/index.doctree create mode 100644 source/locale/en/.doctrees/installation.doctree create mode 100644 source/locale/en/.doctrees/large.doctree create mode 100644 source/locale/en/.doctrees/multispectral.doctree create mode 100644 source/locale/en/.doctrees/outputs.doctree create mode 100644 source/locale/en/.doctrees/requesting-features.doctree create mode 100644 source/locale/en/.doctrees/resources.doctree create mode 100644 source/locale/en/.doctrees/tutorials.doctree diff --git a/source/conf.py b/source/conf.py index 8790499a8..0c8dc8890 100644 --- a/source/conf.py +++ b/source/conf.py @@ -35,6 +35,7 @@ extensions = [ #For internationalization: locale_dirs = ['locale/'] gettext_compact = False +gettext_uuid = True # Add any paths that contain templates here, relative to this directory. templates_path = ['_templates'] diff --git a/source/locale/en/.doctrees/arguments.doctree b/source/locale/en/.doctrees/arguments.doctree new file mode 100644 index 0000000000000000000000000000000000000000..308f02bf0003ebe2e22f484ece4ce4efcedb9c3f GIT binary patch literal 38151 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 QN0atAF=~oF1zg?#1A=AIFaQ7m literal 0 HcmV?d00001 diff --git a/source/locale/en/.doctrees/contributing.doctree b/source/locale/en/.doctrees/contributing.doctree new file mode 100644 index 0000000000000000000000000000000000000000..cf7d0ab4302eb6c14f9b4be03212502d7be5f4e1 GIT binary patch literal 23372 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 literal 0 HcmV?d00001 diff --git a/source/locale/en/.doctrees/environment.pickle b/source/locale/en/.doctrees/environment.pickle new file mode 100644 index 0000000000000000000000000000000000000000..b93233cf81500591e224a74da06217c39f148d20 GIT binary patch literal 49346 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 literal 0 HcmV?d00001 diff --git a/source/locale/en/.doctrees/flying.doctree b/source/locale/en/.doctrees/flying.doctree new file mode 100644 index 0000000000000000000000000000000000000000..f90697ba7369b4f52b3baa5c21b1e9eedcfe12bd GIT binary patch literal 9073 zcmc&)-ESOM6_1nHvE#%|ojO(1M43`mO-t6h-W_|_p%kHnkdnqAC2c{djPK0c@tw`= z%w#?iTUDj0opbKJ^UmS-oo5fIe{#+atTb`Gc+n4R9%piz8hYGMvY%!zd_Q|TJ1=J< zb~g^v$l{qifDx8(Jv-ul_GTsy$Rjbg5;yS6@nTX;i6d`j=g~QtxQWLHy5#H?Z_D*J zw3}`iXEY3>4&UUP#BaFs2bp3Ia`SR3WMG(N;)IwGhvZa$IcxH;=lVQbOHC$^vLuOI zGff}{E&Gsb$5^5~VtFi%(TLxZKI`SbrtLJWUQA})inv2#Qh6j{8`PDFIdNLd5=Zg0 zyi$KH=22X?nQwN3n1`Z%xv#3Y{&hFGnws@*hTOj#1wOyd!a5Wg*Ykze9VPT)6hnkF z*AB`|y)mEeJm}W!gON~y4nVg$#r`c+=#&&d24KiIczYOG(7mY4dR{ERu2^DL z+Ohu*oz`=mu8A|S97zb>a~K#NR(PG5lrKGqbh&RW$a8yWs9GMp_O!SNPZDS0KH?l) z^BMd-i@)da_dML^uyTvNY04=GltykQpWH?NSt?!-9a4o-z!WUF!7I!``qP!xM{SqO zR;*H<69Z0ABb&s^31E{NIYGt>L57EFLqnCnU}zz0A%eI@OMO)yEp23H*CzTaUyvuq zxKX9k@!dN-U^S04kos#6#RUuFpBnGa)%ujp*?w%k8!7P(`9fjiJ<%~__3Ne37b;Wl zN#f-ZC z#5;^>c_96w)T}l$^-jxSW}~4yW^=XEX*O0mP44Jsqs7fU>dl&|=kdhwTm;Q3Dpa{; zhI$M);k|)w>8xK8K@d~aN)UY_cS9s9mhC@=g=~Yz^~Q3|>QkzLQcY1J6;tdynpeHT)2^jG%n=zFQK1j5e{{wg56dLKa8 zi^UG0jJM_>P>K-)o&$T21IkB(K!FVVLjfh2p9mmesqNUh)oR-fb6H>Mv{u>D(kf#s z%iL5P0ZpcR=9J zeF!`?#&2`(BPjUGy_8#|_RmQB@+8 zg9cDg4%$&1{CyAz5MzHpn1=iQk$_;Ytnj5~r`=?hrLS5|rnl|ol_h3(mK&_$Pyze^ zKm#96CVo(_mQ#Q0f_(f0daDS@FP(8 z@4eJpKw&H$fZ$vA3xd7$Si<4oLvXn9Iaq827$&s7f54c5~I{Ps5H}bNz(-Hn-J|(WaemQC>n?*FH^-^Df+`3oNLUB15KSJT;`z{ zY(3xKtE+ALb#{vi+#9K7@i=x;PrJ^-xWY-ChG7sTi%O%mn!jiTz5Ga`rzY3pax(21 zVidI(w7bH!1X=D5P6fa);w;e;oYWB4K1Q?=%LBeij( z2gSo4qx+Q+rB^ktd}ICd5x;P_Q{%~35>PGOy-HZWM{+8n=Wf&xK)+N3(9dA5B33Fz z4TZ~>AIuF#BIBv?-ZBsz`y;fywJ*rVeY;+X($6q=jC<`K zBx$_`rmN#XU>dts$6U2mSf|1DmSuKy%jVW zY+V6RDo5N{W11z<$^8wAs8!^Q`0dn<264^ji{rX@Q6xR@S*z$nWkXesrKTVhRM@`#$QND#P5vL4 z!#SeeW6zh@A4ID~gqhz-q!L<1m$&vAUB*#DWO;61b}nNG2|N@-&TB92i^Aw0dp>s{ z_)+O|1CgTNs}1*#ZYjF&jYNt5>K5e0Vx=W|8Dpyb;rPU0ZeD6KoJF;)Wvip>t)&&y zZer_UH=AwSX{<1H24CU$d+S%Z7i!#gkr+$7JyXTp4L1>~sj@8{$EysE6>*BuhOZV3Zmeg~C|OYZL?rJa2*ecNlG4iu&z{^W_5U&#mSM-Ac##j%~KM&H0Mn z;f+H2beWvS7$^`%vglCPpFXY+&V8r50@>+UzJ60BM+rKB0~I#eA1T|0QsTBNuy z6ED)-2|0&sLicG#d5?CiXvy!>`&-l z3$DpyI2}MXHavcZd)c*v@+i`A`8p{d=bJ8cm9Qj@i$Rle(&lEm0d{kDSwsafMxbEs zp=BnC7)k&Lm2Jy8*ALUg!0lFGV^k(*(!{BCYO#yoXNEfs9z{W92<(Q<+p$GI@5SXM{xeU+`!-m(#7*F!|ceE42>z4|j}AmM2ICY~Er46?u>;lgCm1 zZ=^UPhsJHZAH+qlJQ;B-h-?FU4cZU-mJ8=tlT%jUI}j5Zacu*qD2}_Ci77e9P=^>* zlRQY*p~vmC7aFDGL9wcV_LvchCnETmYJqnBn9N@_g)vXKy?{LYSlna4)9n=SjWP42de2`C zFF*m1Yw#@UULXbb&0z(LQT#D5`&JraG4y$Y`h=hl_jlnWf#v!ROkLoAo+3h=n#1Ex z@Se$SKynMb1g^wEZNc&acFW*B=6VLR@ePCeE?`?8;{F}_h(J!~kpR$x7rDOe!mkq} zznoPc5Ihb>@CsB%q#K()8F(A9YN$2;tN_iR=9DjVpGsdOp#2Cn=D*K({|0<^|B8or zL);W^iB0jb_>K5feA0cAdY+(%Ne_b_@6+Qa^!Nikevd~gXNX?16+)@FxmFa{#2ee< zt!?q~w)k{gQQB5iwiShKHG4Z1=V-iQJ`3h+U>)TYK2er%)l!hR5d;^(pZk38KO8-a8;A$ zhv*}CM+s$%g;84lo&$0k@u(a&hvQx-)?1V Jl%P=z{tsJw5pw_l literal 0 HcmV?d00001 diff --git a/source/locale/en/.doctrees/gcp.doctree b/source/locale/en/.doctrees/gcp.doctree new file mode 100644 index 0000000000000000000000000000000000000000..3d5313c7e49d4c7285e5c70e18a60e422661bf2f GIT binary patch literal 21472 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 ALI3~& literal 0 HcmV?d00001 diff --git a/source/locale/en/.doctrees/installation.doctree b/source/locale/en/.doctrees/installation.doctree new file mode 100644 index 0000000000000000000000000000000000000000..494e54f4d22748f3b0706d26dd56b542bcc1ad90 GIT binary patch literal 93327 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

La_-ZXyws^3$u0 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 X}8RK{er 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 R{I@3{okocN1TXY^|9}2#2GRfk literal 0 HcmV?d00001 diff --git a/source/locale/en/.doctrees/large.doctree b/source/locale/en/.doctrees/large.doctree new file mode 100644 index 0000000000000000000000000000000000000000..863ea7c2c8be173fb7e1608059ce24cf5acab7ba GIT binary patch literal 46017 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 literal 0 HcmV?d00001 diff --git a/source/locale/en/.doctrees/outputs.doctree b/source/locale/en/.doctrees/outputs.doctree new file mode 100644 index 0000000000000000000000000000000000000000..10b2906a7c3dce01a48d8961b6ed53e44a522912 GIT binary patch literal 20501 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 O+Tx?#kStF)SN{XDL>jaJ literal 0 HcmV?d00001 diff --git a/source/locale/en/.doctrees/requesting-features.doctree b/source/locale/en/.doctrees/requesting-features.doctree new file mode 100644 index 0000000000000000000000000000000000000000..99a396b3ccbdde4958a02ea0ce61aaa1a047e9b3 GIT binary patch literal 9288 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 literal 0 HcmV?d00001 diff --git a/source/locale/en/.doctrees/resources.doctree b/source/locale/en/.doctrees/resources.doctree new file mode 100644 index 0000000000000000000000000000000000000000..df1eb0ea400cb1d89617f1e5b9bf21260aa7b010 GIT binary patch literal 11171 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 RU@4b`vRHnh4eZ-<|33qLScd=r literal 0 HcmV?d00001 diff --git a/source/locale/en/arguments.pot b/source/locale/en/arguments.pot index 2cfaf667b..742bb057d 100644 --- a/source/locale/en/arguments.pot +++ b/source/locale/en/arguments.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: OpenDroneMap 0.9.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-21 15:08-0400\n" +"POT-Creation-Date: 2020-07-21 15:22-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,14 +17,17 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" #: ../../arguments.rst:4 +# 04c6d6dc9b894dedb3e1b980450f80b3 msgid "Options and Flags" msgstr "" #: ../../arguments.rst:6 +# b522a5b704b9437f94f84f215e23d5a0 msgid "Arguments::" msgstr "" #: ../../arguments.rst:382 +# 5241b36abd754c918b628d501edfcbf0 msgid "`Help edit these docs! `_" msgstr "" diff --git a/source/locale/en/contributing.pot b/source/locale/en/contributing.pot index cce9c66f9..8e53976df 100644 --- a/source/locale/en/contributing.pot +++ b/source/locale/en/contributing.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: OpenDroneMap 0.9.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-21 15:08-0400\n" +"POT-Creation-Date: 2020-07-21 15:22-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,126 +17,157 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" #: ../../contributing.rst:4 +# abebf50b4b2f43079a6ff005a42e0e01 msgid "How To Contribute" msgstr "" #: ../../contributing.rst:6 +# e478a362081948799c206088963718cd msgid "OpenDroneMap relies on community contributions. You can contribute in many ways, even if you are not a programmer." msgstr "" #: ../../contributing.rst:9 +# 9351c52c8a59427f9b82829183d173e4 msgid "Community Forum" msgstr "" #: ../../contributing.rst:11 +# 771f2b21f3ea4017bea3a8f7a2e05ca0 msgid "If you are looking to get involved, are stuck on a problem, or want to reach out, `the forum `_ 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 "" #: ../../contributing.rst:14 +# e4fc8b7329c84cefa00c8fb0de73ae21 msgid "Reporting Bugs" msgstr "" #: ../../contributing.rst:16 +# 97da7067daf34e00bad3e3764a2ef4b8 msgid "Bugs are tracked as Github issues. Please create an issue in the repository and tag it with the Bug tag." msgstr "" #: ../../contributing.rst:18 +# 8d48512f65f24970afc9f07571294503 msgid "Explain the problem and include additional details to help maintainers reproduce the problem:" msgstr "" #: ../../contributing.rst:20 +# 0956852b944f42ecbf8e726836af389b msgid "**Use a clear and descriptive title** for the issue to identify the problem." msgstr "" #: ../../contributing.rst:21 +# e830c539abdf4c4bbabd99ba3fbbe90b 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 "" #: ../../contributing.rst:22 +# a55fc221b6ff4230b3f4f9975a4a27c3 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 `_." msgstr "" #: ../../contributing.rst:23 +# ffb3cfdeb8fb47eab6745e9b800151fa msgid "**Describe the behavior you observed after following the steps** and point out what exactly is the problem with that behavior." msgstr "" #: ../../contributing.rst:24 +# 485e80b31c7b44ae83f399b16daa61ea msgid "**Explain which behavior you expected to see instead and why.**" msgstr "" #: ../../contributing.rst:25 +# 8bd56569b4f34f21b75069d362f9121d 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 `_, and `this tool `_ or `this one `_ on Linux." msgstr "" #: ../../contributing.rst:26 +# bd77afd00ed94c6a9d9e5c117ce5224a msgid "**If the problem is related to performance,** please post your machine's specs (host and guest machine)." msgstr "" #: ../../contributing.rst:27 +# d97cdd597ba747b998802d1e7e2d6ae1 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 "" #: ../../contributing.rst:29 +# eed205f61a0c45d8bdccb15cb2aa49a3 msgid "Include details about your configuration and environment:" msgstr "" #: ../../contributing.rst:31 +# 88224865d7aa44b199288038d4bef4d2 msgid "**Which version of ODM are you using?** A stable release? a clone of master?" msgstr "" #: ../../contributing.rst:32 +# 0ad3a0457f984dd8a27f4aebcc1c217f msgid "**What's the name and version of the OS you're using?**" msgstr "" #: ../../contributing.rst:33 +# a33f92aa42484ab79f427f27109a8274 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 "" #: ../../contributing.rst:36 +# 3c2b7a9e8c194b01b361e5fbaa3db69a msgid "Template For Submitting Bug Reports" msgstr "" #: ../../contributing.rst:69 +# 588639f8ba99432ab3afff1d9fd6d46e msgid "Pull Requests" msgstr "" #: ../../contributing.rst:71 +# 423b83dab82c4066b48c44afd5cb0176 msgid "Include screenshots and animated GIFs in your pull request whenever possible." msgstr "" #: ../../contributing.rst:72 +# 3d7d31ed7d634b23ad79dff762167df1 msgid "Follow the PEP8 Python Style Guide." msgstr "" #: ../../contributing.rst:73 +# ee79b44bcce545879ed044837ea4fc58 msgid "End files with a newline." msgstr "" #: ../../contributing.rst:76 +# 59164110b96046cea7db93eae89fc6f1 msgid "Avoid platform-dependent code:" msgstr "" #: ../../contributing.rst:75 +# a1b8a1a4839a4a14a2181593031b21c5 msgid "Use require('fs-plus').getHomeDirectory() to get the home directory." msgstr "" #: ../../contributing.rst:76 +# 25a2fd37570446bbb6b2d9b55e48e70e msgid "Use path.join() to concatenate filenames." msgstr "" #: ../../contributing.rst:77 +# aaf9693f60fc47ddbf4452c393edde3f msgid "Use os.tmpdir() rather than /tmp when you need to reference the temporary directory." msgstr "" #: ../../contributing.rst:79 +# 3b4e48f5efdd4da5a0b8a7f031b2425c msgid "Using a plain return when returning explicitly at the end of a function." msgstr "" #: ../../contributing.rst:79 +# 759c801b854f4fe9ac41da5a580fe939 msgid "Not return null, return undefined, null, or undefined" msgstr "" #: ../../contributing.rst:81 +# ad44507e8eba447db93956e2c0471f68 msgid "`Help edit these docs! `_" msgstr "" diff --git a/source/locale/en/flying.pot b/source/locale/en/flying.pot index 483fcf161..f742492eb 100644 --- a/source/locale/en/flying.pot +++ b/source/locale/en/flying.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: OpenDroneMap 0.9.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-21 15:08-0400\n" +"POT-Creation-Date: 2020-07-21 15:22-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,38 +17,47 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" #: ../../flying.rst:2 +# 053d9307fbb04e1088abeeb7f237a05f msgid "Flying Tips" msgstr "" #: ../../flying.rst:4 +# c7ab483fab004fb298820682ef4b03eb msgid "The `Humanitarian OpenStreetMap team `_ has guidelines on `flying for UAV mapping `_:" msgstr "" #: ../../flying.rst:6 +# 17fd4c37d0b546839a119aa65ec29544 msgid "`Choosing the right UAV `_" msgstr "" #: ../../flying.rst:8 +# d66e12872acc49c2a47d561ad850a0ff msgid "`Choosing the right sensor `_" msgstr "" #: ../../flying.rst:10 +# 442753340b194f24b1bce3de7aef0c39 msgid "`Mission preparation `_" msgstr "" #: ../../flying.rst:12 +# f78f5d7e53834734bb37a3741ca1ac45 msgid "The guidelines are intended for drone mapping projects on islands, but have general use for all drone mappers." msgstr "" #: ../../flying.rst:14 +# ef4fb9c6a80e43cb84cdec9028326ceb msgid "See also DroneDeploy's guide on `Making Successful Maps `_, which provides great tips on mission planning." msgstr "" #: ../../flying.rst:16 +# 12a83f3c5c844316bd20a0d227df06af msgid "Finally, lens distortion is a challenge in projects requiring accurate 3D data. See our section in these docs on `Camera Calibration `_." msgstr "" #: ../../flying.rst:18 +# 44c3db3edee648e094a44576102d419e msgid "`Help edit these docs! `_" msgstr "" diff --git a/source/locale/en/gcp.pot b/source/locale/en/gcp.pot index 68186e3f5..c7d9676b3 100644 --- a/source/locale/en/gcp.pot +++ b/source/locale/en/gcp.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: OpenDroneMap 0.9.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-21 15:08-0400\n" +"POT-Creation-Date: 2020-07-21 15:22-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,114 +17,142 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" #: ../../gcp.rst:3 +# 4ec278497b594b2a990fae33b0f046b2 msgid "Ground Control Points" msgstr "" #: ../../gcp.rst:5 +# b1b1407c9e3148958a5cd971543d027e msgid "Ground control points are useful for correcting distortions in the data and referencing the data to know coordinate systems." msgstr "" #: ../../gcp.rst:7 +# 09120b430c144c35a2d6267a9ddeef8a msgid "The format of the GCP file is simple." msgstr "" #: ../../gcp.rst:9 +# 5635447e1c0a4f2f86ce9f0f0f7d7936 msgid "The first line should contain the name of the projection used for the geo coordinates. This can be specified either as a PROJ string (e.g. ``+proj=utm +zone=10 +ellps=WGS84 +datum=WGS84 +units=m +no_defs``), EPSG code (e.g. ``EPSG:4326``) or as a ``WGS84 UTM [N|S]`` value (eg. ``WGS84 UTM 16N``)" msgstr "" #: ../../gcp.rst:10 +# 86416c53bf914451815acba1c5c5f635 msgid "Subsequent lines are the X, Y & Z coordinates, your associated pixels, the image filename and optional extra fields, separated by tabs or spaces:" msgstr "" #: ../../gcp.rst:11 +# 18d30e16bf574a399c7bd9c51e8e8f9a msgid "Elevation values can be set to \"NaN\" to indicate no value" msgstr "" #: ../../gcp.rst:12 +# 94ae15c645f54faeaadc0a82ee72c766 msgid "The 7th column (optional) typically contains the label of the GCP." msgstr "" #: ../../gcp.rst:14 +# 76f6b22062874706a625ef7762fd5467 msgid "GCP file format::" msgstr "" #: ../../gcp.rst:20 +# bf74657a3f05487797a8df52202664cf msgid "Example::" msgstr "" #: ../../gcp.rst:27 +# 8bc5f96a1f334135bbde46f60a2b19a3 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 ``. If you have a gcp file and want to do georeferencing with exif instead, then you can specify ``--use-exif``. If you have high precision GPS measurements in your images (RTK) and want to use that information along with a gcp file, you can specify ``--force-gps``." msgstr "" #: ../../gcp.rst:29 +# 9577f0afb356405f88a81d18c060e9a1 msgid "`This post has some information about placing Ground Control Targets before a flight `_, 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 "" #: ../../gcp.rst:31 +# abfd7244b1c54b51b75cf1b069cf2df2 msgid "Sharp corners are good picks for GCPs. You should also place/find the GCPs evenly around your survey area." msgstr "" #: ../../gcp.rst:33 +# 1e9ab5ad237e4550b7b710cb037a53da msgid "The ``gcp_list.txt`` file must be created in the base of your project folder." msgstr "" #: ../../gcp.rst:35 +# f9ce86784ef54a7f960f1d89358089eb 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 "" #: ../../gcp.rst:39 +# eede63dccd094839a245301db3abddb2 msgid "User Interfaces" msgstr "" #: ../../gcp.rst:41 +# f8b77f6511f84dc69f28fb938a929bdc msgid "You can use one of two user interfaces for creating GCP files:" msgstr "" #: ../../gcp.rst:43 +# c625124fef5c442c84a7eae519f07730 msgid "`POSM GCPi `_" msgstr "" #: ../../gcp.rst:44 +# b5ad7a10b6fb4fdebc6076613b296528 msgid "`GCP Editor Pro `_" msgstr "" #: ../../gcp.rst:48 +# d172d10aff474dd3aa93214b5605f40c msgid "POSM GCPi" msgstr "" #: ../../gcp.rst:50 +# 3f776087d222444896eb031ab30bad9f msgid "The POSM GCPi is loaded by default on WebODM. An example is available at `the WebODM Demo `_. To use this with known ground control XYZ values, one would do the following:" msgstr "" #: ../../gcp.rst:52 +# c14943f7a9a64b54875cfb84eafadb3e 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 "" #: ../../gcp.rst:63 +# 0ec34d6fb2304591b22da90c06813f6d msgid "Then one can load this GCP list into the interface, load the images, and place each of the GCPs in the image." msgstr "" #: ../../gcp.rst:67 +# cff2e7e480c64d78a0795a0e704b0919 msgid "GCP Editor Pro" msgstr "" #: ../../gcp.rst:69 +# 3f7848d8ed3f49d7b8d049ef0ed7ce41 msgid "This app needs to be installed separately or can be loaded as a WebODM plugin from `https://github.com/uav4geo/GCPEditorPro `_" msgstr "" #: ../../gcp.rst:71 +# 7db66609fde0467d97109e2c00429a77 msgid "Create a CSV file that includes the gcp name, northing, easting and elevation." msgstr "" #: ../../gcp.rst:80 +# 5d0dc071f220441e8832148de6c1c1df msgid "Then import the CSV from the main screen and type ``+proj=utm +zone=37 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs`` in the ``EPSG/PROJ`` box." msgstr "" #: ../../gcp.rst:82 +# 4b3674e838094b2399f8ee653ab8fb50 msgid "The following screen will display a map from where to select the GCPs to tag and import the respective images." msgstr "" #: ../../gcp.rst:85 +# 90d82949053041e6ad343dc0c285291d msgid "`Help edit these docs! `_" msgstr "" diff --git a/source/locale/en/index.pot b/source/locale/en/index.pot index de7c46aac..9b6c8898a 100644 --- a/source/locale/en/index.pot +++ b/source/locale/en/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: OpenDroneMap 0.9.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-21 15:08-0400\n" +"POT-Creation-Date: 2020-07-21 15:22-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,10 +17,12 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" #: ../../index.rst:8 +# 071b106be3fd4632a8e6b7031cb2e83e msgid "Welcome to OpenDroneMap's documentation" msgstr "" #: ../../index.rst:43 +# 4e4a9a5c29fe4919a25b4ef0c61bec96 msgid "`Help edit these docs! `_" msgstr "" diff --git a/source/locale/en/installation.pot b/source/locale/en/installation.pot index 6653bc9eb..70608ab34 100644 --- a/source/locale/en/installation.pot +++ b/source/locale/en/installation.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: OpenDroneMap 0.9.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-21 15:08-0400\n" +"POT-Creation-Date: 2020-07-21 15:22-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,458 +17,575 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" #: ../../installation.rst:4 +# 0b311a003b2a44159306310c8fe257de msgid "Installation and Getting Started" msgstr "" #: ../../installation.rst:6 +# e21d2618e4b74469810544c7826ad2f1 msgid "This section is excerpted and modified with permission from `OpenDroneMap: The Missing Guide `_, by Piero Toffanin." msgstr "" #: ../../installation.rst:8 +# 99811a7a66614484a09367f2298c9348 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 "" #: ../../installation.rst:14 +# 76dc6246e65f402a837b35a3193bb0d8 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 "" #: ../../installation.rst:20 +# 5f61909af35d442cb82030949f87d0dc 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 "" #: ../../installation.rst:26 +# 4f9446fc532745c28ddff093c5e52599 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 "" #: ../../installation.rst:32 +# e83d4c524a134ae0b6a7626c690b4106 msgid "**CloudODM** is a small command line client to communicate with ODM via the NodeODM API" msgstr "" #: ../../installation.rst:38 +# eb68f158291c41109595b4f93522b8ec 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 "" #: ../../installation.rst:44 +# e81cab866c814fadaf64fde9a17e8375 msgid "**ClusterODM** is a load balancer for connecting together multiple NodeODM instances" msgstr "" #: ../../installation.rst:46 +# 22f992cd519e4ebb8195baab405144c7 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 "" #: ../../installation.rst:48 +# edfb6b94c0664917b1696d55d3668c08 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 "" #: ../../installation.rst:50 +# 64822e07eea2435e80818d550a396366 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 "" #: ../../installation.rst:54 +# 9a61e1e6702c4ec39efff5d17df4f0a1 msgid "Hardware Recommendations" msgstr "" #: ../../installation.rst:56 +# e1e4b368fdf24b00ab1ca9ab28d6b4b4 msgid "The bare minimum requirements for running the software are:" msgstr "" #: ../../installation.rst:59 +# 8c5baaf686814cd7abfd442299474a09 msgid "64bit CPU manufactured on or after 2010" msgstr "" #: ../../installation.rst:60 +# b54abfc896ca4f38a4f8994e234b803d msgid "20 GB of disk space" msgstr "" #: ../../installation.rst:61 +# ffe8c20382f04490a002b92b3426eb25 msgid "4 GB RAM" msgstr "" #: ../../installation.rst:63 +# 10f2db02427347dfab778016e622a767 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 "" #: ../../installation.rst:65 +# e6ac6580fcfc4f7abbb2c216fe934dbb msgid "Latest Generation CPU" msgstr "" #: ../../installation.rst:66 +# 24da574fa2bb4be68c52c44ac5703b8a msgid "100 GB of disk space" msgstr "" #: ../../installation.rst:67 +# d91ea85fd89f4eefb66aecc9f8e836c5 msgid "16 GB RAM" msgstr "" #: ../../installation.rst:69 +# 378516f96db1444a967a9860ddb32068 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 "" #: ../../installation.rst:75 +# c5e0f99a0f574a4cac74d034b44eb94b msgid "Installation" msgstr "" #: ../../installation.rst:77 +# 597f99a16cef4ce39e76fa1c31b62c1a msgid "We recommend people use `docker `_ for running ODM, whether you are on Windows, macOS or Linux." msgstr "" #: ../../installation.rst:80 +# 37415c6c62c240ac8531dae40e0a0be3 msgid "Windows" msgstr "" #: ../../installation.rst:82 +# d6882a0c3ab84e02ae5ea169342f253f msgid "To run OpenDroneMap you need at least Windows 7. Previous versions of Windows are not supported." msgstr "" #: ../../installation.rst:86 #: ../../installation.rst:238 +# 0145ac12f149476486ee40868c3d028f +# 89259618fefc49029f813c6e9b860cf2 msgid "Step 1. Check Virtualization Support" msgstr "" #: ../../installation.rst:88 +# 6b15a206e9ee468ea23ff5e5b70838af 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 "" #: ../../installation.rst:94 +# 02bb88cd9f0c4eaca5b3edbace5a70b3 msgid "*Virtualization should be enabled*" msgstr "" #: ../../installation.rst:96 +# 064ccea4975b4d888871c8ec1226ae4d msgid "On Windows 7 to see if you have virtualization enabled you can use the `Microsoft® Hardware-Assisted Virtualization Detection Tool `_ instead." msgstr "" #: ../../installation.rst:99 +# e0a25d75429e43eebeddc854690eebe3 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 ”. 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 "" #: ../../installation.rst:105 +# e3c922211fe043d9999f02c6ef07af34 msgid "*Common keys to press at computer startup to access the boot menu for various PC vendors*" msgstr "" #: ../../installation.rst:108 #: ../../installation.rst:257 +# 25a69a0e494e4bd088a39a585a5d6837 +# fd1ecfad74f545128afcda1a9f41c221 msgid "Step 2. Install Requirements" msgstr "" #: ../../installation.rst:110 +# b5430e76cb3f41ca918d3804a599b875 msgid "First, you’ll need to install:" msgstr "" #: ../../installation.rst:112 +# 2a30622d17624b1ab25b30f7d803c310 msgid "Git: https://git-scm.com/downloads" msgstr "" #: ../../installation.rst:113 +# 27973f4c87aa4781b0ba9375ca3f4447 msgid "Python (latest version 3): https://www.python.org/downloads/windows/" msgstr "" #: ../../installation.rst:115 +# 3946202c4cd44eb3a83041dfe9e9767d msgid "For Python 3, make sure you check **Add Python 3.x to PATH** during the installation." msgstr "" #: ../../installation.rst:121 +# c2f128ff3df24e98b55bb7bafbc69ce0 msgid "*Don’t forget to add the Python executable to your PATH (so that you can run commands with it)*" msgstr "" #: ../../installation.rst:123 +# 9885b29e0c0841a2aee1e71eefd6cacf msgid "Then, only if you are on Windows 10 Home, Windows 8 (any version) or Windows 7 (any version), install:" msgstr "" #: ../../installation.rst:125 +# cc26f58dc9dc418e8f29710b2fa0dcb6 msgid "Docker Toolbox: https://github.com/docker/toolbox/releases/download/v18.09.3/DockerToolbox-18.09.3.exe" msgstr "" #: ../../installation.rst:127 +# 031b16fd5b9a40d2a4343d369d6573b0 msgid "If you are on Windows 10 Professional or a newer version, you should install instead:" msgstr "" #: ../../installation.rst:129 +# 63dc9dbf1bd24e3fa81a186eaefcf45f msgid "Docker for Windows: https://download.docker.com/win/stable/Docker%20for%20Windows%20Installer.exe" msgstr "" #: ../../installation.rst:131 +# 24282e6e7fdf42c385b834f80733e106 msgid "Please do **NOT** install both docker programs. They are different and will create a mess if they are both installed." msgstr "" #: ../../installation.rst:133 +# ab9bd187e6c443979517fe17c95c29f6 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 "" #: ../../installation.rst:136 #: ../../installation.rst:299 +# 8df7419175104adb9be9c90358331019 +# c5167b911c3145dc9eb60efc037c9a4b msgid "Step 3. Check Memory and CPU Allocation" msgstr "" #: ../../installation.rst:138 +# a09c922899034bceab0867d3c8e80d49 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 "" #: ../../installation.rst:140 +# d6c866777ea04b78804c7c8b9888fe73 msgid "If you installed Docker Toolbox (see below if you installed Docker for Windows instead):" msgstr "" #: ../../installation.rst:142 +# 1d420596417441829a187b825672fbcd msgid "Open the **VirtualBox Manager** application" msgstr "" #: ../../installation.rst:143 +# b459b86265424c64b85e647cc98e30d0 msgid "Right click the **default** VM and press **Close (ACPI Shutdown)** to stop the machine" msgstr "" #: ../../installation.rst:144 +# 1eb2304c301349b59a9f1b87b1e2ef38 msgid "Right click the **default** VM and press **Settings...**" msgstr "" #: ../../installation.rst:145 +# c9033804ad254a359dd5e4a0a52c0e89 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 "" #: ../../installation.rst:151 +# 2b5a10d68ba949459d2126d65ca8818f msgid "*VirtualBox default VM settings*" msgstr "" #: ../../installation.rst:153 +# 3e8a88a344164b4eb2608800db568d70 msgid "Then press **OK**, right click the **default** VM and press **Start**." msgstr "" #: ../../installation.rst:155 +# 1b3a819a320f4b6aa09d0971a1a82681 msgid "If you installed Docker for Windows instead:" msgstr "" #: ../../installation.rst:157 +# d529ebba4d1d4bb3be75973b68c212f5 msgid "Look in the system tray and right click the “white whale” icon." msgstr "" #: ../../installation.rst:158 +# 25a99898d96d4b65a1cadabd0fcfcf6d msgid "From the menu, press **Settings...**" msgstr "" #: ../../installation.rst:159 +# 0a614f0f992e406ab701fa5b4288b131 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 "" #: ../../installation.rst:160 +# 0d361b002c29465d90cf176942a45fda msgid "Press **Apply**." msgstr "" #: ../../installation.rst:166 +# 7e1679d4d4ef4c8498bdd1ac119bba04 msgid "*Step 1 Docker icon*" msgstr "" #: ../../installation.rst:172 +# 9c57f6c1a17c4d0baa6b321735548417 msgid "*Step 3 & 4 Docker settings*" msgstr "" #: ../../installation.rst:175 +# ebe7bd9e88af41afbaf2ada7e67bb83a msgid "Step 4. Download WebODM" msgstr "" #: ../../installation.rst:177 +# bb9d0f40c4404cffbf723d74a7faa09d msgid "Open the **Git Gui** program that comes installed with Git. From there:" msgstr "" #: ../../installation.rst:179 +# 5d8a85cf34ae4fc68b7782544a350b0e msgid "When Git Gui opens, click 'Clone Existing Repository' option" msgstr "" #: ../../installation.rst:180 +# 843b32b86a8640de87b9acae858f8aef msgid "In **Source Location** type: https://github.com/OpenDroneMap/WebODM" msgstr "" #: ../../installation.rst:181 +# a98a0d9ac1e749ec82fd161593cf0656 msgid "In **Target Directory** click browse and navigate to a folder of your choosing (create one if necessary)" msgstr "" #: ../../installation.rst:182 +# 629ebf0cc96549db8ce90299631254fb msgid "Press **Clone**" msgstr "" #: ../../installation.rst:188 +# f99ade3ffd41436480d1f9cc820b27f9 msgid "*Git Gui*" msgstr "" #: ../../installation.rst:190 +# 9f012c9b4fbe4d149969246cbf47e1d4 msgid "If the download succeeded, you should now see this window:" msgstr "" #: ../../installation.rst:196 +# 8ee43ad3382b477f86f0aa3a98f4d3f9 msgid "*Git Gui after successful download (clone)*" msgstr "" #: ../../installation.rst:198 +# 64fdc628416b4f0381a5df32bd376f54 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 "" #: ../../installation.rst:201 +# 930fc89735ac4c91b26dc0c39e8e83ac msgid "Step 4. Launch WebODM" msgstr "" #: ../../installation.rst:203 +# 60b6bf387b9f4692bf6ef3472812f3bd msgid "From Git Gui, go to the **Repository** menu, then click **Git Bash**. From the command line terminal type:" msgstr "" #: ../../installation.rst:209 +# e128452201d74e75ae42e26161229d67 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 "" #: ../../installation.rst:215 +# 04167e9cbe6543e18d1e21f521afa753 msgid "*Console output after starting WebODM for the first time*" msgstr "" #: ../../installation.rst:217 +# 5fe11bcda1284792a34941bc2f5a229f msgid "If you are using Docker for Windows, open a web browser to http://localhost:8000" msgstr "" #: ../../installation.rst:218 +# ad6c17cc46c743e4a94cadd96eee8ee5 msgid "If you are using Docker Toolbox, find the IP address to connect to by typing:" msgstr "" #: ../../installation.rst:224 +# 1fa6cc77bb3f4ed5b145e7939b80c837 msgid "You should get a result like the following:" msgstr "" #: ../../installation.rst:230 +# 678de8a5a6be4d00a5794e7ea612f074 msgid "Then connect to http://192.168.1.100:8000 (replacing the IP address with the proper one)." msgstr "" #: ../../installation.rst:233 +# b174ce4267d745268dc12ec34d7155a3 msgid "macOS" msgstr "" #: ../../installation.rst:235 +# 76dd1887c7fc48729e197e53efbfeb90 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 "" #: ../../installation.rst:240 +# 35359aeb2d4a412a8c07b4af1d0953c6 msgid "Open a Terminal window and type:" msgstr "" #: ../../installation.rst:246 +# bfa4ae47bf144de2a958c7a1efde1b8e msgid "You will get a response similar to the following:" msgstr "" #: ../../installation.rst:252 +# fe9de21082284feebed7825e8a6cf1d4 msgid "If the result is *kern.hv_support: 1*, then your Mac is supported! Continue with Step 2." msgstr "" #: ../../installation.rst:254 +# c1dfb4e96f274c7ba2067bf88e38957d msgid "If the result is *kern.hv_support: 0*, unfortunately it means your Mac is too old to run OpenDroneMap. :(" msgstr "" #: ../../installation.rst:259 +# 483569df3d2a47a39befaf7ebec6061d msgid "There are only two programs to install:" msgstr "" #: ../../installation.rst:261 +# 0e6421bd132c49749072ba247c327d61 msgid "Docker: https://download.docker.com/mac/stable/Docker.dmg" msgstr "" #: ../../installation.rst:262 +# efc75ce37c384422accdf4b00017aec3 msgid "Git: https://sourceforge.net/projects/git-osx-installer/files/" msgstr "" #: ../../installation.rst:264 +# ab18bb01270140378bf6c05b168f31e6 msgid "After installing docker you should find an icon that looks like a whale in the task bar." msgstr "" #: ../../installation.rst:270 +# d8c3c043507d47b7b27d09468c8812c4 msgid "*Docker app running*" msgstr "" #: ../../installation.rst:272 +# 6895523139c84c50a02b30f73bb7d32a msgid "You can verify that docker is running properly by opening the **Terminal** app and typing:" msgstr "" #: ../../installation.rst:278 +# 8dbf1a7aa0134bebb9d5ebdb1868758f msgid "Which should return" msgstr "" #: ../../installation.rst:284 +# 7edb24391b9e491c975aa4bd78ae6e26 msgid "To verify that git is installed, simply type:" msgstr "" #: ../../installation.rst:290 +# a960521594e841df90dfea1ea87519b6 msgid "Which should return something similar to the following:" msgstr "" #: ../../installation.rst:296 +# b5368b0b0c304c009f251cc2cb2a0dc0 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 "" #: ../../installation.rst:301 +# 777b3193cf2c481bb5473255c9ed545f 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 "" #: ../../installation.rst:303 +# 4186dfa0b3e843e8876126b6f98431b0 msgid "Right click the whale icon from the task bar and click **Preferences**..." msgstr "" #: ../../installation.rst:304 +# 9e57943e47d74077adc137ab1f9e7ba9 msgid "Select the **Advanced** tab" msgstr "" #: ../../installation.rst:305 +# 77493fc0f8124028a46a46e83781f393 msgid "Adjust the CPUs slider to use half of all available CPUs and the memory to use 60-70% of all available memory" msgstr "" #: ../../installation.rst:306 +# b34746ad04bb4409a1f264bc79f26e72 msgid "Press **Apply & Restart**" msgstr "" #: ../../installation.rst:312 +# 8826f71caa2e4ec098063e55abd95bc7 msgid "*Docker advanced settings*" msgstr "" #: ../../installation.rst:315 +# 9f33f48c0d9b491c86f740b4a0d1e55b msgid "Step 4. Download and Launch WebODM" msgstr "" #: ../../installation.rst:317 +# 6c8dedb630a143d690c3a7735210d611 msgid "From a **Terminal** type:" msgstr "" #: ../../installation.rst:325 #: ../../installation.rst:426 +# cbfccdbbd27f47298d7fc3b73382201c +# 571475348c694fc5a0951ba38e24a95a msgid "Then open a web browser to http://localhost:8000." msgstr "" #: ../../installation.rst:328 +# 810777d3b4a24f4aa5e18111eab07975 msgid "Linux" msgstr "" #: ../../installation.rst:330 +# 7144a1206971439dbac5d30140da5625 msgid "OpenDroneMap can run on any Linux distribution that supports docker. According to `docker’s documentation website `_ 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 "" #: ../../installation.rst:333 +# 23c6ae93ca4248c985f76d8daa0fb2b3 msgid "Step 1. Install Requirements" msgstr "" #: ../../installation.rst:335 +# 7604dbe50eb0440dbbbccb61ca920bbc msgid "There are four programs that need to be installed:" msgstr "" #: ../../installation.rst:337 +# 8ff2d0a6982a4512ae199db7a2b03dd1 msgid "Docker" msgstr "" #: ../../installation.rst:338 +# 5dbc90221bc54a538a876ad69633f077 msgid "Git" msgstr "" #: ../../installation.rst:339 +# 216dda71b31147f7a022098081c8d49d msgid "Python (2 or 3)" msgstr "" #: ../../installation.rst:340 +# af1acc9b2df646839934264073239d33 msgid "Pip" msgstr "" #: ../../installation.rst:342 +# 0e3e1d1a6d4140b3bed58c998f4e576c 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 "" #: ../../installation.rst:345 +# fba853636b0148458111079237ce81f0 msgid "Install on Ubuntu / Debian" msgstr "" @@ -476,114 +593,145 @@ msgstr "" #: ../../installation.rst:359 #: ../../installation.rst:370 #: ../../installation.rst:381 +# 6d63b8cf2f4e4998bc99fcbf2f77c999 +# 87fb142c7b5e44469eca8863f78cfb85 +# ba8f3bbe4a6c49b6b095f7d5e3e0f534 +# 2677c8b97b6f4c16b86a700751d1412f msgid "Commands to type:" msgstr "" #: ../../installation.rst:357 +# 764c98370eb84b4eb50e1ac51c6b7ea6 msgid "Install on CentOS / RHEL" msgstr "" #: ../../installation.rst:368 +# a09961f7e45b4e3aae5ed8d1f52c4946 msgid "Install on Fedora" msgstr "" #: ../../installation.rst:379 +# 999fd3139c0e408cb52ec6ceb0a83ce2 msgid "Install on Arch" msgstr "" #: ../../installation.rst:388 +# be82cce8e0be41d88504cd14e3a259dd msgid "Step 2. Check Additional Requirements" msgstr "" #: ../../installation.rst:390 +# c7d4e7c0fcf04ff0a979841d7308e721 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 "" #: ../../installation.rst:396 +# f2ed7faae3c84fc19328c75c85a636dc msgid "You should see somethings similar to the following:" msgstr "" #: ../../installation.rst:402 +# 4de0c838c6614997a1b95431774ed71f msgid "If instead you get something similar to the following:" msgstr "" #: ../../installation.rst:408 +# 0cd0383339e243ada6335b3f9ebd15e9 msgid "you can install it by using pip:" msgstr "" #: ../../installation.rst:416 +# fd8f00e3f0d248a4b65c8ab8e1a61ebf msgid "Step 3. Download and Launch WebODM" msgstr "" #: ../../installation.rst:418 +# b05b14f2131940248450467595081d3e msgid "From a terminal type:" msgstr "" #: ../../installation.rst:429 +# 6e986db2a82d4a26a593dffcb5c8b848 msgid "Basic Commands and Troubleshooting" msgstr "" #: ../../installation.rst:431 +# abcb40134c574261815508e020ddbd86 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 "" #: ../../installation.rst:437 +# b20c71cb3bf34941890f2dbabe3e17ba 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 "" #: ../../installation.rst:443 +# 22bf73072ed347b3bd9fdb034c018e2f 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 "" #: ../../installation.rst:449 +# 488fa868324f4590a9c5f95adfc31b19 msgid "Other useful commands are listed below:" msgstr "" #: ../../installation.rst:468 +# 44c6a42dcf3b4fb1afecc9874beb985c msgid "`The community forum `_ 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 "" #: ../../installation.rst:471 +# ed38477739a6496cbf29381f9c57557f msgid "Hello, WebODM!" msgstr "" #: ../../installation.rst:473 +# 26f2be238a7e4643b8084fa7cc2555fc 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 "" #: ../../installation.rst:479 +# a475be23e9bd4867baf8cad77270caef msgid "*WebODM Dashboard*" msgstr "" #: ../../installation.rst:481 +# dcbc79df021d4d1d8aaa1f474b84cae3 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 "" #: ../../installation.rst:483 +# e979881d3cb64d32a362d3360bcf432a msgid "If you’ve made it this far, congratulations! Now it’s time to start processing some data." msgstr "" #: ../../installation.rst:490 +# d902de7445204e45b379df38fd5fc862 msgid "Running on more than one machine" msgstr "" #: ../../installation.rst:492 +# f904cfd3005f409c8e04b9dfcf554971 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 "" #: ../../installation.rst:498 +# 47cdf34852f44d4099aa820f1a4f2975 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 "" #: ../../installation.rst:500 +# 45cef12959f74b05b26e257b2ae329fc 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 "" #: ../../installation.rst:502 +# 2a4ea96eede54e819f6b4b007212846c 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 "" #: ../../installation.rst:504 +# 72cb998a11d2498aa1d223f19ff099bc msgid "`Help edit these docs! `_" msgstr "" diff --git a/source/locale/en/large.pot b/source/locale/en/large.pot index 5d35808e6..c4a063f38 100644 --- a/source/locale/en/large.pot +++ b/source/locale/en/large.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: OpenDroneMap 0.9.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-21 15:08-0400\n" +"POT-Creation-Date: 2020-07-21 15:22-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,174 +17,217 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" #: ../../large.rst:4 +# 9bfdf0f58d66484790aafd3503b2d01c msgid "Splitting Large Datasets" msgstr "" #: ../../large.rst:6 +# 7ffac7e1969c459c8e59544bd3c9d98e 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 "" #: ../../large.rst:8 +# d9c8c75065dd42609d41913e7a033206 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 "" #: ../../large.rst:10 +# 6d1a869731da4aa1953c76ac12445e90 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 "" #: ../../large.rst:13 +# ea65ddac58cc4eaa982cb6f08352b789 msgid "Calibrate images" msgstr "" #: ../../large.rst:15 +# 6826f2d5b93a4b29ad8daa40ec2db1a7 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 `_." msgstr "" #: ../../large.rst:21 +# 0a59eebf1a6d48f495991fef4e78948f 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 "" #: ../../large.rst:24 +# eed0cd0fcc6f4eb9a9c3350d9c3086e9 msgid "Local Split-Merge" msgstr "" #: ../../large.rst:26 +# 6437fb453ba84328986c28b28f30a20d 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 "" #: ../../large.rst:32 +# 9cb748f918284a50af12348251f96b5f 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 "" #: ../../large.rst:34 +# 911b102908614b0d9200a92911bae6d6 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 "" #: ../../large.rst:42 +# ddb1539f95974084b090ab84013a7e2d msgid "will create 3 submodels. Make sure to pass ``--split-overlap 0`` if you manually provide a ``image_groups.txt`` file." msgstr "" #: ../../large.rst:46 +# d860e02c8c1246f58a98031bb378c563 msgid "Distributed Split-Merge" msgstr "" #: ../../large.rst:48 +# d8f0cc0dbc5f48ad8c87f859f6c1ad27 msgid "ODM can also automatically distribute the processing of each submodel to multiple machines via `NodeODM `_ nodes, orchestrated via `ClusterODM `_." msgstr "" #: ../../large.rst:55 +# a039fc049e864c65b667972b7ef3c274 msgid "Getting Started with Distributed Split-Merge" msgstr "" #: ../../large.rst:57 +# ba8d28cb059f446bb03e0e277572c134 msgid "The first step is start ClusterODM" msgstr "" #: ../../large.rst:63 +# 08ddadbe3bb8497285e3d2718654dabe msgid "Then on each machine you want to use for processing, launch a NodeODM instance via" msgstr "" #: ../../large.rst:69 +# 98f8b234a5f34a31a178debd46dcb6ce msgid "Connect via telnet to ClusterODM and add the IP addresses/port of the machines running NodeODM" msgstr "" #: ../../large.rst:84 +# 6f02cd45e22c4980beec4d0edaf26c7d msgid "Make sure you are running version ``1.5.1`` or higher of the NodeODM API." msgstr "" #: ../../large.rst:86 +# a47666f962ac4900b5c108214b5e9061 msgid "At this point, simply use the ``--sm-cluster`` option to enable distributed split-merge" msgstr "" #: ../../large.rst:93 +# 9eabc0a6b0754ca2b721b528ad19f94a msgid "Understanding the Cluster" msgstr "" #: ../../large.rst:95 +# 3d0de6109bac4dfa9fb2fe84acc6b2e9 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 "" #: ../../large.rst:118 +# 90beaae91c7d457eaf2a385e8780bc6e msgid "If, for example, the NodeODM instance wasn't active when ClusterODM started, we might list nodes and see something as follows" msgstr "" #: ../../large.rst:125 +# 31c3bb7b468740b09ad5ac89b3fded88 msgid "To address this, we can start up our local node (if not already started), and then perform a ``NODE UPDATE``" msgstr "" #: ../../large.rst:135 +# 7ef61b7fad3e42d591e3a5a824a6cf25 msgid "Accessing the Logs" msgstr "" #: ../../large.rst:137 +# 3b24188812ed48a6aa6d46d799829a8b msgid "While a process is running, it is also possible to list the tasks, and view the task output" msgstr "" #: ../../large.rst:145 +# 5b1c3e7c6edc470180151e89b6a952ad msgid "Autoscaling ClusterODM" msgstr "" #: ../../large.rst:147 +# 285049aef199423988ca4a4a38a425d4 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 "" #: ../../large.rst:149 +# f55ea76c77174488abe15f0a1b5e0147 msgid "To setup autoscaling you must:" msgstr "" #: ../../large.rst:151 +# 8dcdc19a8adc4da3b63bf195004e8da9 msgid "Have a functioning version of NodeJS installed and then install ClusterODM" msgstr "" #: ../../large.rst:159 +# 24f90e88ec3d476da27f732dfe5a00ba msgid "Make sure docker-machine is installed." msgstr "" #: ../../large.rst:160 +# e5d2b4d1ede644149d483fe35ecc790a msgid "Setup a S3-compatible bucket for storing results." msgstr "" #: ../../large.rst:161 +# efda26765e1b4b1699b660f61f780782 msgid "Create a configuration file for `DigitalOcean `_ or `Amazon Web Services `_." msgstr "" #: ../../large.rst:163 +# e4a9d0926c1843ab823649aaed9d3a5e msgid "You can then launch ClusterODM with" msgstr "" #: ../../large.rst:169 +# 32af1377b9c3405a9cdbdbc12422bfda msgid "You should see something similar to following messages in the console" msgstr "" #: ../../large.rst:177 +# b21f064d7d1044f2b4a892538e73bc59 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 "" #: ../../large.rst:187 +# 0ed8b1079d904c0a896001b786eb4e23 msgid "This way all tasks will be automatically forwarded to the autoscaler." msgstr "" #: ../../large.rst:190 +# 00373d3452f049b5b90654e07d6546dc msgid "Limitations" msgstr "" #: ../../large.rst:192 +# 188045ef87cc4ac298b2ce9890101336 msgid "The 3D textured meshes are currently not being merged as part of the workflow (only point clouds, DEMs and orthophotos are)." msgstr "" #: ../../large.rst:194 +# 314715973fa84a9ba1c31330edb47f76 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 "" #: ../../large.rst:197 +# f634116f08f241508a92acae1f39bbfb msgid "Acknowledgments" msgstr "" #: ../../large.rst:198 +# ca07c826259244199b85779904f0e46a 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 "" #: ../../large.rst:200 +# 56798013851d422591fbc302db40e55a msgid "`Help edit these docs! `_" msgstr "" diff --git a/source/locale/en/multispectral.pot b/source/locale/en/multispectral.pot index d284846db..ec4fb3006 100644 --- a/source/locale/en/multispectral.pot +++ b/source/locale/en/multispectral.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: OpenDroneMap 0.9.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-21 15:09-0400\n" +"POT-Creation-Date: 2020-07-21 15:22-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,42 +17,52 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" #: ../../multispectral.rst:2 +# 86cb73af54b2469a90f69d0472305ed0 msgid "Multispectral Support" msgstr "" #: ../../multispectral.rst:4 +# 4df2d1aef3cd4669aa37fe97614edafa msgid "Since version 0.9.9 ODM has basic support for radiometric normalization, which is able to generate reflectance orthophotos from multispectral cameras. Multispectral cameras capture multiple shots of the scene using different band sensors." msgstr "" #: ../../multispectral.rst:7 +# 732772b0e38d49b4850a3c49e4432f5c msgid "Hardware" msgstr "" #: ../../multispectral.rst:9 +# ba795e3eec95421a94d8e41d0fb9951f msgid "While we aim to support as many cameras as possible, multispectral support has been developed using the following cameras, so they will work better:" msgstr "" #: ../../multispectral.rst:11 +# 35716902bf1a435cb7dc2869f1723dc0 msgid "`MicaSense RedEdge-MX and Altum `_" msgstr "" #: ../../multispectral.rst:12 +# 828730caa0bb4b3fa73257ffe2f75fbf msgid "`Sentera 6X `_" msgstr "" #: ../../multispectral.rst:14 +# 088bf9b5410a4c8a940ba698e3c3eff8 msgid "Other cameras might also work. You can help us expand this list by `sharing datasets `_ captured with other cameras." msgstr "" #: ../../multispectral.rst:17 +# bc35e483d9c74c13b0bcc1f522c736bb msgid "Usage" msgstr "" #: ../../multispectral.rst:19 +# 625cb4e64e5b4685bd625a44cb1b2cd0 msgid "Process all the images from all bands at once (do not separate the bands into multiple folders) and pass the `--radiometric-calibration` parameter to enable radiometric normalization. If the images are part of a multi-camera setup, the resulting orthophoto will have N bands, one for each camera (+ alpha)." msgstr "" #: ../../multispectral.rst:25 +# 652e66a6f651483b9462e88ba97442da msgid "`Help edit these docs! `_" msgstr "" diff --git a/source/locale/en/outputs.pot b/source/locale/en/outputs.pot index 78f340cdb..dfdd308fb 100644 --- a/source/locale/en/outputs.pot +++ b/source/locale/en/outputs.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: OpenDroneMap 0.9.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-21 15:08-0400\n" +"POT-Creation-Date: 2020-07-21 15:22-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,86 +17,107 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" #: ../../outputs.rst:2 +# 9ddc16491a2d4c1fbe13518d06c18317 msgid "OpenDroneMap Outputs" msgstr "" #: ../../outputs.rst:4 +# 83f417e71d4540aba27765d651f7f8b0 msgid "Listed below are some of the useful outputs ODM produces." msgstr "" #: ../../outputs.rst:7 +# 49e791a419554b098106c1cf70512356 msgid "Point Cloud" msgstr "" #: ../../outputs.rst:9 +# e3563ab58d424d6eadd080b0eccc86f9 msgid "``odm_georeferencing/odm_georeferenced_model.ply/laz/csv`` -- The georeferenced point cloud in different file formats" msgstr "" #: ../../outputs.rst:15 +# 04c86a0281154663804b9a096c7a064b msgid "*Point cloud over State University Zanzibar, courtesy of* `Khadija Abdullah Ali `_" msgstr "" #: ../../outputs.rst:19 +# da38160cfe064ee7a976cff10ad6b4cc msgid "3D Textured Model" msgstr "" #: ../../outputs.rst:21 +# b4e6920f2af0421b95c8800fd57282ca 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 "" #: ../../outputs.rst:24 +# 599b5ccdb3794e8385a10f7de94c979a 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 "" #: ../../outputs.rst:30 +# df7ddfe474ba4da5bf8993a3135b6a9d msgid "*Textured mesh courtesy of* `OpenDroneMap `_" msgstr "" #: ../../outputs.rst:33 +# 311af044850c4a2ca03f186e2d677a73 msgid "Orthophoto" msgstr "" #: ../../outputs.rst:35 +# a4308a69201f4f99b38e01466c9f89d0 msgid "``odm_orthophoto/odm_orthphoto.png`` -- The orthophoto, but this is a simple png, which doesn't have any georeferencing information" msgstr "" #: ../../outputs.rst:37 +# dbbb6c23988f4af8b3b7cb48cc17a680 msgid "``odm_orthophoto/odm_orthphoto.tif`` -- GeoTIFF Orthophoto. You can use it in QGIS as a raster layer." msgstr "" #: ../../outputs.rst:43 +# 484c4076cc5e467384b894275ad6e4f5 msgid "*Orthophoto over State University Zanzibar, courtesy of* `Khadija Abdullah Ali `_" msgstr "" #: ../../outputs.rst:46 +# cf5004343a34477db84e16bdb95997cf msgid "DTM/DSM" msgstr "" #: ../../outputs.rst:48 +# 346294dd8a0249ef8a0043db8847f567 msgid "DTM/DSM will only be created if the ``--dtm`` or ``--dsm`` options are used. See `tutorial on elevation models `_ for more options in creating." msgstr "" #: ../../outputs.rst:50 +# 05afe066c98345acaf466451a4e6dbab msgid "Data will be stored in:" msgstr "" #: ../../outputs.rst:52 +# afd408ec01744753a062d6f8b22f3b8d msgid "``odm_dem/dtm.tif``" msgstr "" #: ../../outputs.rst:53 +# c2b221c1a87c4fe08cddeaddb1df326b msgid "``odm_dem/dsm.tif``" msgstr "" #: ../../outputs.rst:59 +# 45a2df1b97754205b3c5d45ad2837ba8 msgid "*Digital surface model over State University Zanzibar, courtesy of* `Khadija Abdullah Ali `_" msgstr "" #: ../../outputs.rst:62 +# c64d8a40455d4ffb8f6622e991f81014 msgid "List of all outputs" msgstr "" #: ../../outputs.rst:109 +# 01f27f8a39b1455e8eca78fa1bb7bf75 msgid "`Help edit these docs! `_" msgstr "" diff --git a/source/locale/en/requesting-features.pot b/source/locale/en/requesting-features.pot index 68dbeb11f..a49826f63 100644 --- a/source/locale/en/requesting-features.pot +++ b/source/locale/en/requesting-features.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: OpenDroneMap 0.9.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-21 15:08-0400\n" +"POT-Creation-Date: 2020-07-21 15:22-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,42 +17,52 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" #: ../../requesting-features.rst:2 +# 4a6ac1bd4f8643d983db602e57565ef2 msgid "How To Request Features" msgstr "" #: ../../requesting-features.rst:4 +# 6835732bbac345f1a0630bf6c1c5c6fc msgid "All software needs user feedback and feature requests, to grow and maintain alignment with the needs of its users." msgstr "" #: ../../requesting-features.rst:7 +# d40e1b1cb36d46bb892b44bcb718576f msgid "OpenDroneMap is FOSS software. Free and open source (FOSS) projects are interesting from the inside and outside: from the outside, successful ones feel like they should be able to do anything, and it’s hard to know what a reasonable request is. From the inside of a project, they can feel very resource constrained: largely by time, money, and opportunity overload." msgstr "" #: ../../requesting-features.rst:13 +# 7cc50987865c4d919b471373f7b3622b msgid "A feature request can be submitted as issues on the applicable Github repository (e.g., `WebODM `_ or `ODM `_ or similar) or more simply as a discussion topic on `the community forum `_. Try to start by searching these sources to see if someone else has already brought it up. Sometimes a feature is already in the works, or has at least been discussed." msgstr "" #: ../../requesting-features.rst:19 +# a22c1506ca3b4b56a2b3bdadc8372475 msgid "And importantly, the trick is to listen: if someone within the project says: \"This is a big lift, we need MONEY or TIME or SOMEONE TO HELP CODE IT\" (or possibly a combination of the three) then there are two answers that work really well in response:" msgstr "" #: ../../requesting-features.rst:23 +# b27031829a6540809913b04c458af090 msgid "*Ok. I didn’t know it was a big feature request! I hope someone comes along with the necessary resources. As a community member, I would be happy to be an early user and tester!*" msgstr "" #: ../../requesting-features.rst:25 +# e9d7a551b6b645b68d7c9871bea04ad4 msgid "or" msgstr "" #: ../../requesting-features.rst:27 +# c6c4660f5766408d9a3cfd3bb36a208b msgid "*Let’s figure out if we can put together the resources to get this done! Here’s what I can contribute toward it: …*" msgstr "" #: ../../requesting-features.rst:29 +# aedaafdfb2ea40248b2890e22123b9b0 msgid "We are glad you are excited to see new features added to the project. Some new features need support, and some are easier to implement. We'll do our best to help you understand where your request falls, and we appreciate any support you can provide." msgstr "" #: ../../requesting-features.rst:33 +# 127a03fb5f664dfeac8491d857b897b6 msgid "`Help edit these docs! `_" msgstr "" diff --git a/source/locale/en/resources.pot b/source/locale/en/resources.pot index e76a20d99..f8b346172 100644 --- a/source/locale/en/resources.pot +++ b/source/locale/en/resources.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: OpenDroneMap 0.9.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-21 15:08-0400\n" +"POT-Creation-Date: 2020-07-21 15:22-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,62 +17,77 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" #: ../../resources.rst:2 +# 5eece4a637714fbaae9af8d986ba108d msgid "Additional References" msgstr "" #: ../../resources.rst:5 +# 322fb50c863f408b981e3461a0ced82c msgid "For Users" msgstr "" #: ../../resources.rst:7 +# ddd63e85ed854807a984b849d12c2c00 msgid "The following resources are a good place to start:" msgstr "" #: ../../resources.rst:9 +# 9e00d3937dfb4f539e494035b485126a msgid "`README page for ODM `_" msgstr "" #: ../../resources.rst:10 +# 2713733155a840f5be4d824d745dad88 msgid "`README page for WebODM `_" msgstr "" #: ../../resources.rst:11 +# 5aabbe8c91ae41aca18a5e11c3f87277 msgid "`README page for NodeODM `_" msgstr "" #: ../../resources.rst:12 +# bb89cc5074c340b290fd98348a2bc143 msgid "`Ground Control Points Format Specification `_" msgstr "" #: ../../resources.rst:13 +# d34e748b56474b4ba9333a142f23bddf msgid "`OpenDroneMap: The Missing Guide `_" msgstr "" #: ../../resources.rst:16 +# 974d88a4840e49c6866d3f2ab1a8ceab msgid "For Developers" msgstr "" #: ../../resources.rst:18 +# b1bf24503de042dbb7def45ebd62e721 msgid "In addition to user resources, we recommend to also read the following:" msgstr "" #: ../../resources.rst:20 +# d0e0addb482b40eca062794e9faadabb msgid "WebODM documentation: https://docs.webodm.org" msgstr "" #: ../../resources.rst:21 +# 7d1a6b76009a42b59386a6a3a969816c msgid "NodeODM API specification: https://github.com/OpenDroneMap/NodeODM/blob/master/docs/index.adoc" msgstr "" #: ../../resources.rst:22 +# b008ba28dbef4aae943772cf56184338 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 "" #: ../../resources.rst:23 +# d3e93ec56de3428ea5ae705da9c74068 msgid "We keep a `section in our forum dedicated to 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 "" #: ../../resources.rst:26 +# 3e25ab3d910648c389bdf4444ee765f0 msgid "`Help edit these docs! `_" msgstr "" diff --git a/source/locale/en/tutorials.pot b/source/locale/en/tutorials.pot index 18505fe42..0a1a86d3d 100644 --- a/source/locale/en/tutorials.pot +++ b/source/locale/en/tutorials.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: OpenDroneMap 0.9.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-21 15:08-0400\n" +"POT-Creation-Date: 2020-07-21 15:22-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,390 +17,487 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" #: ../../tutorials.rst:5 +# bc698022fce2477a868dc1bdb2dbdb68 msgid "Tutorials" msgstr "" #: ../../tutorials.rst:7 +# ba5704b6cb914283ba1495d2ac04afa6 msgid "Below you will find instructions for some common use cases." msgstr "" #: ../../tutorials.rst:11 +# c2417f8c2cbe4e189006241551cb8996 msgid "Creating High Quality Orthophotos" msgstr "" #: ../../tutorials.rst:17 +# 218503b4915a4ee1befe8c8b89cd5405 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 "" #: ../../tutorials.rst:19 +# 1a9ffb6306ff4d81a89046d57157cf28 msgid "``--orthophoto-resolution`` is the resolution of the orthophoto in cm/pixel. Decrease this value for a higher resolution result." msgstr "" #: ../../tutorials.rst:20 +# fc65d016079d423cb45ad6737ff473b6 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 may produce sharper results." msgstr "" #: ../../tutorials.rst:21 +# 056becd1b8db45b4b5811d627239ac9d 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 "" #: ../../tutorials.rst:22 +# 449f93fbcb0d476cb4a20e14915ccd4f msgid "``--texturing-data-term`` should be set to `area` in forest areas." msgstr "" #: ../../tutorials.rst:23 +# 1d8b8713ab234e038a95e98282cdf736 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 "" #: ../../tutorials.rst:27 +# dd4ced14a7704cfa9d864262ed835ec6 msgid "Calibrating the Camera" msgstr "" #: ../../tutorials.rst:29 +# 0fda85dfb5eb4d77839d54ecacada34c 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 `_ address how to minimize the distortion from self-calibration." msgstr "" #: ../../tutorials.rst:35 +# c0abbba373ac420ab578b0a8419618f2 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 "" #: ../../tutorials.rst:37 +# 887b8963a3084953a76683f9b84ecb46 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 "" #: ../../tutorials.rst:45 +# ad6c12adcc97493eb963d2f15cc50776 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 "" #: ../../tutorials.rst:47 +# c3d183e004224c7183034999c05b184a 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 "" #: ../../tutorials.rst:49 +# 5968ac88fb8248048f97f113b09640b9 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 "" #: ../../tutorials.rst:50 +# 4b6067e6593d46c49eddf54b48bf7017 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 "" #: ../../tutorials.rst:56 +# c99ce80c15f740a894cd98f2f9fdefaf msgid "Vertically separated flight lines also improve accuracy, but less so than a camera that is forward facing by 5°." msgstr "" #: ../../tutorials.rst:62 +# b658c7baac074e03b291f5650ac7a750 msgid "From James and Robson (2014), `CC BY 4.0 `_" msgstr "" #: ../../tutorials.rst:66 +# 67b39b5853c2488dbf9bc08c46c85b1b msgid "Creating Digital Elevation Models" msgstr "" #: ../../tutorials.rst:68 +# 30464d780bd745a2bb68edd962f59f69 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 "" #: ../../tutorials.rst:74 +# 993e1f1f28524ffa97708c7f365deb75 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 "" #: ../../tutorials.rst:76 +# e712b7ceaa8344d9a440fbde86c7ecc5 msgid "``--smrf-scalar`` scaling value. Increase this parameter for terrains with lots of height variation." msgstr "" #: ../../tutorials.rst:77 +# 22694f832b3f4524bcbe3c604bea565c 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 "" #: ../../tutorials.rst:78 +# 18318080dde04b34ac00de1a65520096 msgid "``--smrf-threshold`` elevation threshold. Set this parameter to the minimum height (in meters) that you expect non-ground objects to be." msgstr "" #: ../../tutorials.rst:79 +# 3e48c857db424489a6ccbbb03b530a1a 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 "" #: ../../tutorials.rst:81 +# 490c3514c0e04bf195470faeb46816d0 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 `_ (PDF freely available)." msgstr "" #: ../../tutorials.rst:83 +# ee7dfad49a004b618581ff1d15ec20b5 msgid "Overall the ``--smrf-threshold`` option has the biggest impact on results." msgstr "" #: ../../tutorials.rst:85 +# 37e937eac4554466884a177efb819d3f 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 "" #: ../../tutorials.rst:91 +# bb740913c61b49ada8e2dee3d9b46634 msgid "Two other important parameters affect DEM generation:" msgstr "" #: ../../tutorials.rst:93 +# ef96f4a95b444dc2910315c3e339c146 msgid "``--dem-resolution`` which sets the output resolution of the DEM raster (cm/pixel)" msgstr "" #: ../../tutorials.rst:94 +# 328aad2dd33c43ef9b4dde4986b87809 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 "" #: ../../tutorials.rst:96 +# 4e780ffcb3aa45cc87b149d8b6344727 msgid "Example of how to generate a DTM::" msgstr "" #: ../../tutorials.rst:102 +# 7cbf9c7abbfa4a36b51eac11b7031f45 msgid "Using Docker" msgstr "" #: ../../tutorials.rst:104 +# 1af9725448554dcb9b62bc02541f50e7 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 "" #: ../../tutorials.rst:106 +# 846595b2f29f49de804abcb80b394fb7 msgid "A few simple commands can make our docker experience much better." msgstr "" #: ../../tutorials.rst:109 +# 99a5f474293248df8ef20bde190ebecd msgid "Listing Docker Machines" msgstr "" #: ../../tutorials.rst:111 +# bffb62c08a8e4c43a7d6f3b2a843f24d msgid "We can start by listing available docker machines on the current machine we are running as follows:" msgstr "" #: ../../tutorials.rst:120 +# 29a8c4988c6347ca8d0e6d80aa923db1 msgid "If we want to see machines that may not be running but still exist, we can add the `-a` flag:" msgstr "" #: ../../tutorials.rst:133 +# d6c5607cb49e4887b1a1118763742769 msgid "Accessing logs on the instance" msgstr "" #: ../../tutorials.rst:135 +# a8a0057b6b364c538f5121ee79a4a9ca msgid "Using either the `CONTAINER ID` or the name, we can access any logs available on the machine as follows:" msgstr "" #: ../../tutorials.rst:141 +# f47e20d6cb604ae58be1ae76fa7495a1 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 "" #: ../../tutorials.rst:157 +# 5d2c69fc48e7447c997c3002b90892c3 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 "" #: ../../tutorials.rst:159 +# 919abfa022b342e78f3ffe634d4f985f msgid "We can also extract just the end of the logs using the `tail` commmand as follows:" msgstr "" #: ../../tutorials.rst:170 +# eb416b778fe34b7aa2a0a6fbd947d940 msgid "The value `-5` tells the tail command to give us just the last 5 lines of the logs." msgstr "" #: ../../tutorials.rst:173 +# c91bbc1e32364acab1f6cede662ff93a msgid "Command line access to instances" msgstr "" #: ../../tutorials.rst:175 +# 8f657feeb46c4027ab35c80612e3bfdf 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 "" #: ../../tutorials.rst:179 +# 419edee5e5304dc2b84bf9b6b820ff01 msgid "::" msgstr "" #: ../../tutorials.rst:178 +# d3967410b2084b3d91ddee9ed9a8ad25 msgid "> docker exec -ti 2518817537ce bash root@2518817537ce:/code#" msgstr "" #: ../../tutorials.rst:181 +# 1ad64d2173e44dcb8fe59f0cf38a67ff msgid "Now we are logged into our docker instance and can explore the machine." msgstr "" #: ../../tutorials.rst:184 +# 1e06fc927fa64fee9fc90cf54f4b380e msgid "Cleaning up after Docker" msgstr "" #: ../../tutorials.rst:186 +# cbb8a0fe36c743bab8593547e84eabaf 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 `_." msgstr "" #: ../../tutorials.rst:190 +# 13a77fa054684acca90d066ba45e6798 msgid "Using ODM from low-bandwidth location" msgstr "" #: ../../tutorials.rst:193 +# da902666a127490898ebec7f355bcd6c msgid "What is this and who is it for?" msgstr "" #: ../../tutorials.rst:195 +# 81668b4110b7487d90554d7de58ddf97 msgid "Via Ivan Gayton's: [repo](https://github.com/ivangayton/GDAL_scripts/)" msgstr "" #: ../../tutorials.rst:197 +# 1da57f70e1f94ab78c25794679a8b9a0 msgid "`OpenDroneMap `__ can’t always be effectively set up locally—it takes a fairly powerful machine to process large datasets—so a cloud machine can sometimes be the answer for people in the field. However, bandwidth is a problem in many low-income settings. This constraint can’t be solved completely, but the following method does a reasonable job of reducing the bandwidth needed to process drone imagery datasets on the cloud from African locations." msgstr "" #: ../../tutorials.rst:205 +# 8548ad3cf6134f578528c1a7d7bd8224 msgid "Here we present a tricky but workable process to create an OpenDroneMap cloud machine (*not* CloudODM, mind you, just a cloud-based instance of ODM that you run from the command line) and use it to remotely process large photo sets. It requires familiarity with Unix command line use, ssh, a Digital Ocean account (Amazon AWS would work as well, possibly with slight differences in the setup), and a moderate level of general computer literacy. If you aren’t fairly computer-savvy and willing to fuss with a slightly tricky setup, `CloudODM `__ is what you should be looking at." msgstr "" #: ../../tutorials.rst:216 +# 81099e4fa5954fd6b4f44fb5c54b1dba msgid "The whole process is mostly targeted at someone flying substantial missions in an African or similar location looking to process data ASAP while still in a field setting. Therefore it emphasizes a workflow intended to reduce bandwidth/data transfer, rather than just the simplest way of running ODM." msgstr "" #: ../../tutorials.rst:223 +# 73a86b7b29964478b12e187684cf79d9 msgid "Steps" msgstr "" #: ../../tutorials.rst:226 +# 643f3ad3ae8a4ea0bc2348e7d2ac5460 msgid "Install" msgstr "" #: ../../tutorials.rst:228 +# 8b648ae1501f4e0b9c4db5f81e7fb222 msgid "Create a Digital Ocean droplet with at least 4GB of RAM. That’ll cost about $20/month. Less than 4GB of RAM and the install will probably fail. When we actually run the ODM process we’ll resize it to a much larger—and more expensive—cloud machine, but between runs you can downsize it between runs to the second-cheapest droplet which costs only $10/month (the cheapest droplet, at $5/month, comes with such a small drive that you can’t downsize back to it)." msgstr "" #: ../../tutorials.rst:236 +# 15af1dfd05cd4e06b02371f70d8f706a msgid "Should be an Ubuntu 16.04 instance to ensure dependency compatibility" msgstr "" #: ../../tutorials.rst:238 +# bfc1d4955ef94deca03a09bf0919e9b6 msgid "Create a user with sudo privileges. `Digital Ocean’s insanely good documentation `__ can help you figure this out. In our case we set up a user called ``odm``, so connecting to it is via the command ``ssh odm@xxx.xxx.xxx.xxx`` (where the x’s stand for the IPv4 address of your server). If you want to follow this example closely, *do* use the username ``odm``; then your install path will be ``/home/odm/ODM/`` and will match all of the examples in this document. -When you log into the server, it will offer you the option to upgrade to Ubuntu 18.04, a more recent version. Don’t. ODM native install doesn’t work smoothly on 18.04. Go ahead and execute ``sudo apt update`` and ``sudo apt upgrade`` to ensure your server isn’t dangerously without updates, but stay with Ubuntu 16.04." msgstr "" #: ../../tutorials.rst:253 +# bc99668a3415447db6852372400a37b6 msgid "Download and install ODM on it from the `ODM Github `__ (regular, not WebODM) with the following commands:" msgstr "" #: ../../tutorials.rst:263 +# 4004a63e7cf44a678a2daea9a74c6d50 msgid "If you do this from the default home folder of your user (i.e. ``odm``) the path to the install will be ``/home/odm/ODM`` (abbreviated as ``~/ODM/``)." msgstr "" #: ../../tutorials.rst:266 +# 3eae7e46f41f4caf91a135630ab5ce15 msgid "There are some environmental variables that need to be set. Open the ~/.bashrc file on your machine and add the following 3 lines at the end (From `the ODM github `__). The file can be opened with ``nano ~/.bashrc`` (or whatever text editor you use in lieu of nano). Be sure to replace ``/home/odm/`` with the correct path to the location where you extracted OpenDroneMap if you didn’t do everything exactly as in our example (for example if you used a different username in your server setup):" msgstr "" #: ../../tutorials.rst:281 +# d291f6c8c4124aefbab0517954756af3 msgid "Note that the ODM github readme contains a slight error, the install directory name will be ODM, not OpenDroneMap (you’ll see this if you compare the above instructions to the ones on the ODM GitHub)." msgstr "" #: ../../tutorials.rst:285 +# ff36705476814c05b0f1c0593d3c53d8 msgid "In order to prevent a crash wherein the split-merge process fails to locate its own executable, we add the following lines to ``~/.bashrc`` (adjust paths if you’ve set things up differently from our example):" msgstr "" #: ../../tutorials.rst:295 +# 4eaba97903ec46598d0211f963583d66 msgid "Now you’ll need a second cloud hard drive (a “Volume” in Digital Ocean jargon) big enough to manage your project. Rule of thumb seems to be 10 times the size of your raw image set; we’ve got a 100GB image set and set up a 1000GB volume (once the run is done you should be able to get rid of most of this expensive drive capacity, but it’s needed to complete the process). Set up the volume, attach it to your droplet, and `configure its mount point `__ (in this example we’re setting it to ``/mnt/odmdata/``)." msgstr "" #: ../../tutorials.rst:306 +# 64b0db6773ee406789fb45cc17871430 msgid "Prep data and project" msgstr "" #: ../../tutorials.rst:308 +# a73af720bd044e7191ffeb3a1d6867cb msgid "Now push your images onto the server. You can use `Secure Copy (scp) `__ like so: ``scp -r /path/to/my/imagefolder odm@xxx.xxx.xxx.xxx:/mnt/odmdata/``." msgstr "" #: ../../tutorials.rst:312 +# 6159f78889a940f69a0bd06f83289151 msgid "This pushes the entire folder full of images (that’s what the ``-r`` option does, “recursive”) into the remote location (in our example, into the volume we attached to the cloud machine at ``/mnt/odmdata/``." msgstr "" #: ../../tutorials.rst:316 +# 8327bec41a35499ebdeb2706faeb14f1 msgid "This will take some bandwidth. No way around the size of the files.\\ `1 <#footnote1>`__, \\ `2 <#footnote2>`__\\" msgstr "" #: ../../tutorials.rst:320 +# 50440b37a40443f6b0ccd6025c74754e msgid "Directory structure" msgstr "" #: ../../tutorials.rst:322 +# a4e8077b71884d2a8f6f1bdaa3869e38 msgid "ODM requires the directories on the machine to be set up just so. The critical bits are the install folder (if you installed as above, it’s ``/home/odm/ODM/``) and the project folder (i.e. ``/mnt/odmdata/myproject/``)" msgstr "" #: ../../tutorials.rst:327 +# 172a34f418fe405aafaf56a2a4c671ec msgid "ODM’s settings.yaml file specifies a single parent directory containing all projects. This is what goes in the project path line of the settings.yaml file (slightly confusingly, this is actually the *parent* directory of the individual project directories, which are specified by the project name parameter when calling ODM). Edit settings.yaml and set the project_path parameter to (as per our example setup) ``/mnt/odmdata/``, which in this case points to the Volume we created. Individual project directories are created within that." msgstr "" #: ../../tutorials.rst:336 +# 56451d5f39c54145aed63ff3ccbb9398 msgid "Individual project directories, i.e. ``/mnt/odmdata/myproject/`` contain the gcp_list.txt file, the image_groups.txt file, and the images folder for each project``\\`" msgstr "" #: ../../tutorials.rst:339 +# 2793395243e14809af4c944e154c2db2 msgid "The images folder, i.e. ``/mnt/odmdata/myproject/images/`` contains all of the images. If you set it up like this, the images don’t get re-copied because they’re already in the directory that ODM wants them in." msgstr "" #: ../../tutorials.rst:343 +# 38524776d7094366898d9d5d9179f415 msgid "If you’ve got images with GPS info on them (as from an Ebee), use exiftool to massage the GPS information ``exiftool \"-GPSDOP`__\\ To do so you’ll need to install exiftool. The command for that is probably ``sudo apt install libimage-exiftool-perl``." msgstr "" #: ../../tutorials.rst:348 +# 72985450cf8b4699a595eb2def6da7a7 msgid "Modify settings.yaml to specify the parent directory of the project folder (in this case the Volume we created, ``/mnt/odmdata/``). Make sure the images are in the correct spot, i.e. ``/mnt/odmdata/myproject/images`` and the other ancillary files (gcp_list.txt and image_groups.txt) are in the root folder ``/mnt/odmdata/myproject/``" msgstr "" #: ../../tutorials.rst:354 +# 5d32b5b173d941c6bc09c968ee5ce103 msgid "if you have the images in separate folders for individual AOI blocks or flights (which you will if your flight management was organized), you can create an image_groups.txt file with the incantations ``for i in *; do cd $i; for j in *; do echo \"$j $i\" >> ../$i.txt; done; cd ../; done;`` and ``cd ../``, ``for i in myproject/*.txt; do cat $i >> image_groups.txt; done;``. That should create a file with the correct structure: a list of all image files and a “group name” after each one (which in this case will simply be the name of the folder it came from). Then move all of the image files into a single directory called images in the project root dir (so ``/mnt/odmdata/myproject/images/``). The image_groups.txt file will allow ODM to keep track of which images belong to the same batch, even though they’re all in a single directory." msgstr "" #: ../../tutorials.rst:370 +# 87626843526d49d3b40b847a4c034b71 msgid "Resize droplet, pull pin, run away" msgstr "" #: ../../tutorials.rst:372 +# e193d3924c414806878280c3200b2ce7 msgid "Shut down and resize your machine to an appropriately monstrous number of CPUs and amount of memory. I use the memory-optimized machine with 24 dedicated vCPUs and 192GB of RAM (which costs about $1.60/hr—which adds up fast, it’s over $1000/month). Restart, and get to work quickly so as not to waste expensive big-droplet time." msgstr "" #: ../../tutorials.rst:377 +# b2c2a6c9703e45e9930ccf52a8518457 msgid "Launch the ODM process via ssh using nohup (so that if you’re cut off, processing will continue)" msgstr "" #: ../../tutorials.rst:380 +# bfe0a1a8d0a84fe38f310ef05cb38db0 msgid "Alternately you can use GNU screen to launch the process from a screen session which won’t stop if your connection is interrupted; launch ``screen``, and use `` a d`` to detach, ``screen -r`` to re-attach. But using screen won’t get you a log file of all of the console output unless you do something specific to capture that, while nohup gives you a file with all of the console output, including error messages, for free." msgstr "" #: ../../tutorials.rst:387 +# c6ba5ecdb35547ddbedf38c7681bf60c msgid "Note: as of 2020-03 the normal incantation ``python run.py -i /path/to/image/folder project_name`` seems *not* to work; the ``-i`` or ``--image`` parameter causes a weird error. So we drop the -i parameter, and rely on the project directory line in the settings.yaml file to direct ODM to the right place. Now using (including a split-merge):" msgstr "" #: ../../tutorials.rst:398 +# a1e4e8745cde4786aad01b72b975679f msgid "This points ODM at the folder (in this example) ``/mnt/odmdata/myproject/``. Provided the image_groups.txt and gcp_list.txt are in this folder, the images are in ``/mnt/odmdata/myproject/images/``, and the project path in settings.yaml is ``/mnt/odmdata/`` it will not waste time and space copying images." msgstr "" #: ../../tutorials.rst:405 +# c392407329184696882379bd0a4f9a57 msgid "Note that this assumes you have an image_groups.txt file. If not, this ``-split-overlap 0`` will probably fuck things up, and the ``--split 1`` is literally a random number that will be ignored after the image_groups.txt file is loaded (I think it normally controls how many groups it splits a set of images into, but in our case we’re assuming the images are already grouped sensibly). If you don’t have a large dataset (>1000 images), omit the ``--split`` and ``--split-overlap`` options." msgstr "" #: ../../tutorials.rst:414 +# f466c3ea9e7545a5b822050dc454d6bf msgid "Follow the progress using tail (so that you’ll know when it’s done)" msgstr "" #: ../../tutorials.rst:420 +# fa734836b9cd4a36abfabcb82c3b8830 msgid "You may want to keep an eye on htop (to get a sense of the resource usage so that in future you can only spin up a machine as large as necessary)" msgstr "" #: ../../tutorials.rst:425 +# affa836cc77c4d59a43010c5301a26c8 msgid "After it finishes (assuming you survive that long)" msgstr "" #: ../../tutorials.rst:427 +# bcb61b7d4d0c4a1bbaad8764f5449885 msgid "As soon as processing is done, shut down the machine and resize it back down to the inexpensive minimum capacity." msgstr "" #: ../../tutorials.rst:429 +# e79c28835c934105b25ad54271278314 msgid "Start the machine back up, and log in via ssh." msgstr "" #: ../../tutorials.rst:430 +# 3c1e7b39260e4e9c857e9f03b86c99e3 msgid "If you want to save download bandwidth, you can compress the orthophoto using GDAL. Don’t add overviews, do that on your local machine to avoid making the file bigger before downloading it." msgstr "" #: ../../tutorials.rst:438 +# 15065b6e5563441b9cdebc2be1b4cbc5 msgid "Download using scp: ``scp odm@xxx.xxx.xxx.xxx:/mnt/odmdata/myproject/odm_orthophoto/odm_orthophoto.tif`` (or grab the compressed version you created in the last step)" msgstr "" #: ../../tutorials.rst:442 +# add03fc205984cc29461bdee3751ca8c msgid "Once you get the file on your local computer, you can use QGIS to add overviews (“pyramids”) or use the GDAL command ``gdaladdo -r average /path/to/image.tif 2 4 8 16 32 64 128 256 512 1024``." msgstr "" #: ../../tutorials.rst:446 +# bdd2a009e03f4183a932f0002230b0e6 msgid "You can archive the odm_texturing, odm_georeferencing, and odm-dem folders using tar to make them easier to download in one piece (and maybe smaller)." msgstr ""