<liclass="toctree-l4"><aclass="reference internal"href="../installation/#step-1-check-virtualization-support">Paso 1. Verificar el Soporte de Virtualización</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../installation/#step-2-install-requirements">Paso 2. Requisitos de instalación</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../installation/#step-3-check-memory-and-cpu-allocation">Paso 3. Revisa la memoria y la asignación del procesador</a></li>
<liclass="toctree-l2"><aclass="reference internal"href="../installation/#basic-commands-and-troubleshooting">Comandos básicos y resolución de problemas</a></li>
<liclass="toctree-l2"><aclass="reference internal"href="../tutorials/#creating-high-quality-orthophotos">Creación de Ortofotos de Alta Calidad</a></li>
<liclass="toctree-l2"><aclass="reference internal"href="../tutorials/#calibrating-the-camera">Calibrar la cámara</a></li>
<liclass="toctree-l2"><aclass="reference internal"href="../tutorials/#creating-digital-elevation-models">Creación de modelos de elevación digitales</a></li>
<liclass="toctree-l2"><aclass="reference internal"href="../tutorials/#measuring-stockpile-volume">Medir el volumen de pilas de materiales a granel</a><ul>
<liclass="toctree-l3"><aclass="reference internal"href="../tutorials/#fieldwork-planning">Planificación del trabajo de campo</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../tutorials/#flight-pattern">Patrón de vuelo</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../tutorials/#flight-height">Altura de vuelo</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../tutorials/#listing-docker-machines">Listado de máquinas Docker</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../tutorials/#accessing-logs-on-the-instance">Accediendo a los registros en la instancia</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../tutorials/#command-line-access-to-instances">Acceso de línea de comando a las instancias</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../tutorials/#cleaning-up-after-docker">Limpieza de Docker</a></li>
<liclass="toctree-l2"><aclass="reference internal"href="../tutorials/#using-odm-from-low-bandwidth-location">Usando ODM desde una ubicación de ancho de banda bajo</a><ul>
<liclass="toctree-l3"><aclass="reference internal"href="../tutorials/#what-is-this-and-who-is-it-for">¿Qué es esto y para quién es?</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../tutorials/#prep-data-and-project">Datos de preparación y proyecto</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../tutorials/#resize-droplet-pull-pin-run-away">Cambie el tamaño del Droplet, quite el seguro, huya</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../tutorials/#after-it-finishes-assuming-you-survive-that-long">Después de que termine (suponiendo que sobrevivas tanto tiempo)</a></li>
<liclass="toctree-l2"><aclass="reference internal"href="../tutorials/#using-potree-3d-viewer-module-on-webodm">Usar el módulo Potree de visualización 3D en WebODM</a><ul>
<liclass="toctree-l3"><aclass="reference internal"href="../arguments/auto-boundary/#what-is-auto-boundary">What Is Auto-Boundary?</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../arguments/auto-boundary/#when-is-auto-boundary-helpful">When Is Auto-Boundary Helpful?</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../arguments/auto-boundary/#why-would-one-use-auto-boundary">Why would one use auto-boundary?</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../arguments/boundary/#what-is-boundary-geojson">What is Boundary [GeoJSON]?</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../arguments/boundary/#when-is-boundary-geojson-appropriate">When is Boundary [GeoJSON] appropriate?</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../arguments/boundary/#why-would-one-use-boundary-geojson">Why would one use Boundary [GeoJSON]?</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../arguments/boundary/#how-would-one-create-boundary-geojson">How would one create Boundary [GeoJSON]?</a><ul>
<liclass="toctree-l3"><aclass="reference internal"href="../arguments/build-overviews/#what-are-overviews">¿Que son las vistas generales?</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../arguments/build-overviews/#when-are-overviews-appropriate">¿Cuando son apropiadas las vistas generales?</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../arguments/build-overviews/#why-would-one-use-overviews">¿Por qué se utilizarían las vistas generales?</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../arguments/build-overviews/#example-images">Imágenes de ejemplo</a><ul>
<liclass="toctree-l3"><aclass="reference internal"href="../arguments/camera-lens/#what-are-camera-lens-models">¿que son los modelos de lentes de cámara?</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../arguments/camera-lens/#when-are-manual-selections-appropriate">¿Cuándo son apropiadas las selecciones manuales?</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../arguments/camera-lens/#why-would-one-use-a-particular-camera-lens-model">¿Por qué se utilizaría un modelo de lente de cámara en particular?</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../arguments/camera-lens/#example-images">Imágenes de ejemplo</a><ul>
<liclass="toctree-l4"><aclass="reference internal"href="../arguments/camera-lens/#auto-rectilinear-data"><codeclass="docutils literal notranslate"><spanclass="pre">auto</span></code> : Datos rectilíneos</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../arguments/camera-lens/#brown-rectilinear-data"><codeclass="docutils literal notranslate"><spanclass="pre">brown</span></code> : Datos rectilíneos</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../arguments/camera-lens/#fisheye-rectilinear-data"><codeclass="docutils literal notranslate"><spanclass="pre">fisheye</span></code> : Datos rectilíneos</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../arguments/camera-lens/#perspective-rectilinear-data"><codeclass="docutils literal notranslate"><spanclass="pre">perspective</span></code> : Datos rectilíneos</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../arguments/camera-lens/#spherical-rectilinear-data"><codeclass="docutils literal notranslate"><spanclass="pre">spherical</span></code> : Datos rectilíneos</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../arguments/cog/#what-are-cloud-optimized-geotiffs-cogs">¿Qué son los GeoTIFF optimizados para la nube (COG)?</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../arguments/cog/#when-are-cogs-appropriate">¿Cuándo son apropiados los COG?</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../arguments/cog/#why-would-one-use-cogs">¿Por qué uno usaría COG?</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../arguments/cog/#example-images">Imágenes de ejemplo</a><ul>
<liclass="toctree-l1"><aclass="reference internal"href="../gcp/">Puntos de Control Terrestre</a><ul>
<liclass="toctree-l2"><aclass="reference internal"href="../gcp/#recommended-practices-for-gcp-setting">Prácticas recomendadas para la colocación de GCP</a></li>
<liclass="toctree-l2"><aclass="reference internal"href="../gcp/#gcp-file-format">Formato del archivo GCP</a></li>
<liclass="toctree-l2"><aclass="reference internal"href="../gcp/#user-interfaces">Interfaces de Usuario</a><ul>
<liclass="toctree-l3"><aclass="reference internal"href="../map-accuracy/#aspects-impacting-map-accuracy">Aspectos que impactan la precisión del mapa</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../contributing/#template-for-submitting-bug-reports">Plantilla Para Enviar Informes de Errores</a></li>
<liclass="toctree-l2"><aclass="reference internal"href="../faq/#data-processing">Procesamiento de datos</a><ul>
<liclass="toctree-l3"><aclass="reference internal"href="../faq/#can-i-process-two-or-more-orthophoto-geotiffs-to-stitch-them-together">¿Puedo procesar dos o más ortofotos GeoTIFFs para unirlos?</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../faq/#i-want-to-build-a-commercial-application-that-includes-odm-do-i-need-a-commercial-license">Quiero crear una aplicación comercial que incluya ODM. ¿Necesito una licencia comercial?</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../faq/#are-there-other-licensing-options-aside-from-the-agplv3">¿Existen otras opciones de licencia además de AGPLv3?</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../faq/#your-computer-is-running-out-of-memory-what-can-you-do">Your computer is running out of memory, what can you do?</a></li>
<p>A partir de la versión <codeclass="docutils literal notranslate"><spanclass="pre">0.6.0</span></code> de ODM, puede dividir conjuntos de datos muy grandes en fragmentos manejables (llamados submodelos), ejecutar la canalización en cada fragmento y luego producir DEM, ortofotos y nubes de puntos fusionados. El proceso se conoce como «split-merge».</p>
<p>¿Por qué debería utilizar la canalización split-merge? Si tiene una gran cantidad de imágenes en su conjunto de datos, split-merge ayudará a que el procesamiento sea más manejable en una máquina grande (requerirá menos memoria). Si tiene muchas máquinas conectadas a la misma red, también puede procesar los submodelos en paralelo, lo que permite el escalado horizontal y el procesamiento de miles de imágenes más rápidamente.</p>
<p>Split-merge funciona en WebODM de forma inmediata siempre que los nodos de procesamiento admitan split-merge, al habilitar la opción <codeclass="docutils literal notranslate"><spanclass="pre">--split</span></code> al crear una nueva tarea.</p>
<p>Se recomienda (pero no es obligatorio) la calibración de imagen para grandes conjuntos de datos porque la propagación del error debido a la distorsión de la imagen podría causar un efecto de tazón en los modelos. Las instrucciones de calibración se pueden encontrar en calibración de imágenes <aclass="reference external"href="tutorials.html#calibrating-the-camera">Calibrate Images</a>.</p>
<p>Efecto de tazón en la nube de puntos sobre más de 13,000 conjuntos de datos de imágenes recopilados por el Banco Mundial de Tanzania sobre la cuenca de Msimbasi, propensa a inundaciones, Dar es Salaam, Tanzania</p>
<p>¡Es fácil dividir un conjunto de datos en submodelos más manejables y procesar secuencialmente todos los submodelos en la misma máquina! Simplemente use <codeclass="docutils literal notranslate"><spanclass="pre">--split</span></code> y <codeclass="docutils literal notranslate"><spanclass="pre">--split-overlap</span></code> para decidir el número promedio de imágenes por submodelos y la superposición (en metros) entre submodelos respectivamente</p>
<p>si ya sabe como desea dividir el conjunto de datos, puede proporcionar esa información y se utilizará en lugar del algoritmo de agrupamiento.</p>
<p>La agrupación se puede proporcionar agregando un archivo llamado image_groups.txt en la carpeta principal del conjunto de datos. El archivo debe tener una línea por imagen. Cada línea debe tener dos palabras: primero el nombre de la imagen y segundo el nombre del grupo al que pertenece. Por ejemplo:</p>
<p>creará 3 submodelos. Asegúrese de pasar <codeclass="docutils literal notranslate"><spanclass="pre">--split-overlay</span><spanclass="pre">0</span></code> si proporciona manualmente un archivo <codeclass="docutils literal notranslate"><spanclass="pre">image_groups.txt</span></code>.</p>
<p>ODM también puede distribuir automáticamente el procesamiento de cada submodelo a varias máquinas a través de los nodos <cite>NodeODM <https://github.com/OpenDroneMap/NodeODM></cite> _, orquestados a través de <aclass="reference external"href="https://github.com/OpenDroneMap/ClusterODM">ClusterODM</a>.</p>
<h3>Introducción a split-merge distribuido<aclass="headerlink"href="#getting-started-with-distributed-split-merge"title="Enlazar permanentemente con este título"></a></h3>
<p>Asegurese de estar corriendo la versión de NodeODM API <codeclass="docutils literal notranslate"><spanclass="pre">1.5.1</span></code> o superior</p>
<p>En este punto simpemente use la opción <codeclass="docutils literal notranslate"><spanclass="pre">--sm-cluster</span></code> para habilitar el split-merge distribuido</p>
<p>Cuando se conecta a través de telnet, es posible interrogar qué está sucediendo en el clúster. Por ejemplo, podemos usar el comando HELP para averiguar los comandos disponibles.</p>
ASR VIEWCMD <number of images> - View <spanclass="nb">command</span> used to create a machine
!! - Repeat last <spanclass="nb">command</span>
</pre></div>
</div>
<p>Si, por ejemplo, la instancia de NodeODM no estaba activa cuando se inició ClusterODM, podríamos enumerar los nodos y ver algo de la siguiente manera</p>
<p>Para solucionar esto, podemos iniciar nuestro nodo local (si aún no lo ha hecho) y luego realizar una <codeclass="docutils literal notranslate"><spanclass="pre">NODE</span><spanclass="pre">UPDATE</span></code></p>
<h3>Ajuste de escala automático de ClusterODM<aclass="headerlink"href="#autoscaling-clusterodm"title="Enlazar permanentemente con este título"></a></h3>
<p>ClusterODM también incluye la opción de escalar automáticamente en múltiples plataformas, incluidas, hasta la fecha, Amazon y Digital Ocean. Esto permite a los usuarios reducir los costos asociados con las instancias siempre activas, además de poder escalar el procesamiento en función de la demanda.</p>
<p>Para configurar el ajuste de escala automático, debe:</p>
<ulclass="simple">
<li><p>Tenga instalada una versión funcional de NodeJS y luego instale ClusterODM</p></li>
<li><p>Asegúrese de que Docker-machine esté instalado.</p></li>
<li><p>Configure un bucket compatible con S3 para almacenar resultados.</p></li>
<li><p>Cree un archivo de configuración para <aclass="reference external"href="https://github.com/OpenDroneMap/ClusterODM/blob/master/docs/digitalocean.md">DigitalOcean</a> o <aclass="reference external"href="https://github.com/OpenDroneMap/ClusterODM/blob/master/docs/aws.md">Amazon Web Services</a>.</p></li>
</ul>
<p>A continuación, puede iniciar ClusterODM con</p>
<p>Siempre debes tener al menos un nodo NodeODM estático adjunto a ClusterODM, incluso si planeas usar el escalador automático para todo el procesamiento. Si configura el escalado automático, no puede tener cero nodos y confiar al 100% en el escalador automático. Debe adjuntar un nodo NodeODM para que actúe como el «nodo de referencia»; de lo contrario, ClusterODM no sabrá cómo manejar ciertas solicitudes (para reenviar la interfaz de usuario, para validar opciones antes de activar una instancia, etc.). Para este propósito, debe agregar un nodo NodeODM «ficticio» y bloquearlo</p>
<p>Las mallas texturizados 3D actualmente no son fusionadas como parte del flujo de trabajo (solo las nubes de puntos, DEMs y las ortofotos lo son)</p>
<p>Los GCP son totalmente compatibles, sin embargo, debe haber al menos 3 puntos de GCP en cada submodelo para que se lleve a cabo la georreferenciación. Si un submodelo tiene menos de 3 GCP, en su lugar se usará una combinación de los GCP restantes + datos EXIF (que será menos precisa). Recomendamos utilizar el archivo <cite>ʻimage_groups.txt`</cite> para controlar con precisión la división del submodelo cuando se utilizan GCP.</p>
<p>Felicitaciones para Pau y la gente de Mapillary por sus increíbles contribuciones a OpenDroneMap a través de su código OpenSfM, que es un componente clave del proceso de split-merge. Esperamos ampliar aún más los límites de OpenDroneMap y ver qué tan grande es el conjunto de datos que podemos procesar.</p>
<p><aclass="reference external"href="https://github.com/opendronemap/docs#how-to-make-your-first-contribution">Aprende a editar</a> y ayuda a mejorar <aclass="reference external"href="https://github.com/OpenDroneMap/docs/blob/publish/source/large.rst">esta página</a>!</p>