Saltearse al contenido

Polígonos

Los polígonos son regiones nombradas y tipadas dibujadas en el mapa que dirigen comportamientos reales en el resto del sistema. A diferencia de las banderas (marcadores de punto), los polígonos delimitan áreas — un geofence restringe dónde puede volar un dron, un polígono SAR puede sembrar un plan de misión de dron, un no-fly mantiene a los operadores fuera de espacio aéreo regulado.

Los tipos

TipoTrazoRellenoPropósito
geofence#22c55e (verde)rgba(34, 170, 68, 0.12)Mantener-dentro / zona de permanencia. Los drones deben permanecer dentro.
nofly#ef4444 (rojo)rgba(255, 68, 68, 0.18)Espacio aéreo prohibido. Los drones no pueden despegar ni volar dentro.
sar#22c55e (verde)Área de búsqueda y rescate. Dirige el generador de grilla SAR en el planificador.
search_gridPatrón de cobertura auto-generado dentro de un polígono SAR o personalizado. Renderizado como superposición polyline, no como un relleno de polígono real.

search_grid es técnicamente un tipo de almacenamiento separado pero no soporta dibujo directo por el usuario — es producido por el generador de grilla SAR aplicado a un polígono existente.

Dibujar un polígono

  1. En el tile de mapa, haz clic derecho en cualquier lugar para abrir el menú contextual.
  2. Elige Draw geofence / Draw no-fly / Draw SAR. El primer vértice cae en el punto del clic y el tile entra en modo de edición de polígono.
  3. Haz clic en más puntos para añadir vértices — cada clic extiende la arista del polígono. Una línea elástica muestra la forma a medida que crece.
  4. Doble clic en el último vértice (o clic en el primer vértice) para cerrar.
  5. El panel de polígono se abre a la derecha con campos para:
    • Nombre — obligatorio.
    • Mensaje / descripción — texto libre opcional.
    • Prioridad — baja / media / alta.
    • Equipo o activo asignado — opcional, para tareas.
  6. Haz clic en Save para confirmar en Firestore. El polígono ahora aparece para cada participante en tiempo real.

Punto de entrada alternativo: el botón New polygon en la cabecera del tile abre el panel de polígono en modo “elegir tipo” y espera a que elijas un tipo antes de aceptar clics.

Editar un polígono existente

Haz clic en cualquier arista de polígono para seleccionarla. El polígono entra en modo de edición con tiradores de vértice interactivos:

  • Arrastra un vértice (clic izquierdo + mantener + arrastrar) para moverlo. La forma del polígono se actualiza en tiempo real para cada participante conectado.
  • Clic derecho en un vértice para eliminarlo. El polígono colapsa a un vértice menos — sin confirmación, así que ten cuidado.
  • Inserción en punto medio aún no está implementada. Si necesitas añadir un vértice, elimina y vuelve a dibujar el polígono.

Haz clic en el cuerpo del polígono (no en una arista) para abrir el panel de polígono para ediciones de metadatos (renombrar, cambiar prioridad, reasignar).

Haz clic fuera del polígono para deseleccionar.

Quién puede editar

  • El usuario que creó el polígono puede editarlo o eliminarlo.
  • Un commander o admin de organización puede editar/eliminar el polígono de cualquiera en la misión.
  • Los miembros de equipo con el alcance de equipo asignado del polígono obtienen vista de solo lectura + la capacidad de disparar acciones vinculadas a él (por ejemplo, iniciar la generación de grilla SAR en un polígono SAR).

Todas las ediciones emiten una escritura a Firestore; cada participante ve la actualización en menos de un segundo.

Apilamiento visual

Si dos polígonos se solapan:

  • Se renderizan en orden de creación (el más nuevo encima).
  • El relleno de cada polígono tiene alfa 0.12-0.18 — múltiples rellenos solapados se apilan en un color combinado más turbio. Esto es intencional para que puedas ver ambos.

Auto-sincronización con docks DJI

Si la misión tiene algún dock DJI asignado, los polígonos geofence y no-fly se sincronizan automáticamente con la aeronave de cada dock asignado como archivo de DJI Custom Flight Area. El flujo completo:

  1. Dibujas (o editas) un polígono geofence o no-fly.
  2. Un servicio del lado del cliente aplica debounce a las escrituras de polígono durante 1,5 s (para que dibujar un polígono de múltiples vértices no dispare una sincronización en cada clic).
  3. Tras el debounce, ARGUS empaqueta todos los geofences + no-flys actuales en el formato DJI custom-flight-area con una huella MD5, lo sube a S3 vía PUT presignado, lo registra con argus-api y lo asigna a cada dock.
  4. argus-dji publica el servicio MQTT flight_areas_update a cada dock; el dock descarga y aplica el nuevo archivo de área.
  5. A partir de ese punto, el controlador de vuelo de la aeronave impone el polígono — el dron físicamente no puede entrar en un no-fly ni salir de un geofence, aunque la app ARGUS, la pasarela Android y el internet desaparezcan.

Esta es la tercera capa de defensa descrita en Seguridad de geofence.

Comportamiento con conjunto vacío: si eliminas todos tus polígonos geofence y no-fly, la sincronización aún se ejecuta con un archivo de longitud cero. El dock lo recibe y borra sus overrides previos — así que eliminar un polígono en ARGUS elimina la restricción del dron.

Docks en la misión sin aeronave online: la sincronización se escribe; el dock aplicará las áreas en el próximo arranque de la aeronave.

Eliminar un polígono

Haz clic en el polígono para seleccionarlo, luego clic en el icono de papelera en el panel de polígono. Hay un toast de deshacer de 5 segundos tras la eliminación.

Limitaciones conocidas

  • Sin polígonos con agujeros — no puedes dibujar una zona de exclusión dentro de un geofence. Necesitarías dos polígonos separados (geofence exterior, no-fly interior).
  • Sin snap a grilla — los vértices se ajustan solo a donde haces clic.
  • Sin importar / exportar — los polígonos viven solo en Firestore. Todavía no hay un botón “importar KML”.
  • Inserción de vértice en punto medio — no implementada. Eliminar y redibujar es la alternativa.

Relacionado