¿Código abierto equivalente a Collector for ArcGIS para usar con QGIS / PostGIS?


13

De mi lectura de las páginas web de Esri el colector para ArcGIS está estrechamente ligada a la plataforma. Me encantaría saber que estoy equivocado sobre esto.

Tengo un gran interés en las aplicaciones genéricas de recolección de datos móviles para dispositivos iOS y Android con GPS. En particular, los que pueden recopilar datos sin cobertura y luego sincronizarlos cuando vuelven a la cobertura. Idealmente, también podrían almacenar en caché partes de los datos localmente para usarlas fuera de línea.

Lo que imagino es una aplicación basada en la web que le permite a uno especificar su diseño de datos, restricciones, etc. y que luego generará la base de datos de back-end y permitirá el acceso a través de una API tranquila.

Lo que debo hacer es ingresar datos desde un formulario en un dispositivo móvil, preferiblemente tanto iOS como Android, que actualizarán las tablas en una base de datos de back-end, potencialmente algo con extensiones GIS como PostGIS. Eso me permitiría incorporar fácilmente los datos en QGIS. Debe poder trabajar sin conexión y muchas de las áreas en las que trabajamos no tienen cobertura 3G. Idealmente, también podría almacenar en caché los datos seleccionados en el dispositivo para su uso sin conexión. Las integraciones de mapas no son importantes.

He encontrado algunas buenas soluciones basadas en la nube, pero realmente quiero algo donde tenga control de la recopilación de datos de back-end, ya que algunos de los datos son potencialmente confidenciales. por ejemplo, reportar avistamiento de reptiles raros que son una amenaza de contrabando.

¿Qué alternativas hay para que las aplicaciones móviles ingresen datos a QGIS?


Echa un vistazo a epicollect.net , esto me pareció muy útil como método de código abierto de recopilación de datos para mis maestros.
Ryan

EpiCollect.net se ve interesante. Parece hacer todo lo que requiere OP. -Apertura gratuita desarrollada por el Departamento de Epidemiología de Enfermedades Infecciosas, Imperial College London y el desarrollo ha sido financiado en su totalidad por The Wellcome Trust. - Basado en la web, pero puede usarse fuera de línea y sincronizarse más tarde - para Android o iPhone - Los datos recopilados en los teléfonos se almacenan en la base de datos interna del teléfono hasta que se sincronizan con el sitio web central del proyecto. En el sitio web, y para los proyectos creados en www.epicollect.net, los datos se almacenan en App Engine de Google - un libre

ya que el OP EpiCollect se ajusta a mis requisitos. Tengo algunos problemas para que la aplicación móvil funcione, pero estoy seguro de que lo resolveré. Cuando lo haga, escribiré una respuesta detallada.
Russell Fulton

Respuestas:


20

Esta pregunta se ha convertido a Community Wiki y wiki bloqueado porque es un ejemplo de una pregunta que busca una lista de respuestas y parece ser lo suficientemente popular como para protegerla del cierre. Debe tratarse como un caso especial y no debe considerarse como el tipo de pregunta que se recomienda en este, o en cualquier sitio de Stack Exchange, pero si desea contribuir con más contenido, no dude en hacerlo editando esta respuesta .


ODK

Como dice @flippinGeo, ODK es genial. Pero no es un producto integrado (es decir, los formularios se configuran en un área, la agregación se realiza en otra y la aplicación es solo para Android). Sin embargo, funciona fantásticamente, y lo usamos en el trabajo y es simple y rápido de usar. Lo alojamos en AppEngine de Google y básicamente no cuesta nada, incluso almacenar algunos miles de fotos. Lo consigo para enviar datos a una tabla de fusión que luego se puede visualizar con Leaflet, consulte: http://maps.gcc.tas.gov.au/graffiti.html .

Fulcro

Actualmente estoy jugando con Fulcrum , que no es de código abierto, pero es un buen producto SaaS que es razonablemente barato y tiene una interfaz web realmente agradable. Sin embargo, no me gusta su API (es cierto que no lo he intentado mucho).

QField

También hay QField para QGIS, que es QGIS con una interfaz simplificada para la interacción táctil. Admite restricciones definidas en proyectos QGIS, formularios definidos en proyectos QGIS y una amplia variedad de proveedores de datos dentro y fuera de línea. Entre ellos PostGIS y GeoPackage. La sincronización con una copia fuera de línea de una base de datos debe hacerse manualmente como un paso de preparación en una computadora de escritorio con QGIS, pero hay un complemento QGIS QFieldSync disponible para facilitar el trabajo. Desafortunadamente, hasta ahora solo es posible usarlo en Android, sería fácil portarlo a Windows y probablemente también a iOS.

Configurabilidad

Lo que ESRI hace bien es que si tiene una geodatabase configurada con un dominio de entidades, publica esa tabla en ArcGIS Online, luego usa Collector, todos sus formularios se crean automáticamente. Si necesita manipular aún más los datos después del envío mediante programación, puede usar la API de ArcGIS para Python para obtener datos dentro y fuera de AGOL.

QGIS para Android

La otra respuesta a esta pregunta fue sugerir QGIS para Android, pero creo que es demasiado grande para lo que quieres hacer. Creo que es mejor una interfaz mínima, con casi ningún contenido espacial en el lado de la colección, que es lo que hace que ODK sea tan agradable. Recopila un punto, que es suficiente, y la precisión del punto, que es importante, pero no lo pone todo en una interfaz de mapa grande y completa, que también es realmente importante para las personas que recopilan información, porque son NO SIGUEN GIS!

Entrada

Input es una aplicación móvil gratuita y de código abierto basada en QGIS. Está disponible para iOS y Android. La entrada viene con una función de sincronización incorporada que permite a los usuarios cargar / descargar sus cambios cuando hay una conexión de red. Los datos de entrada y la preparación del proyecto se realizan en QGIS, por lo tanto, todos los formatos de archivo compatibles con QGIS se pueden cargar en Input.



6

Aunque técnicamente no es una respuesta a su pregunta, "¿Existe un equivalente de código abierto ... existe?", Esta es una base para una solución.

El OGC está trabajando en una nueva especificación para un contenedor de almacenamiento, que se está votando en este momento (en enero de 2014), con este tipo de flujos de trabajo, especialmente móviles, en mente: GeoPackage .

Es similar y originalmente basado en Spatialite , una base de datos espacial multiplataforma portátil de archivos planos. Una vez / si se finaliza la especificación, es muy probable que la incorporación a QGIS ocurra rápidamente, posiblemente para la versión 2.4, ya que ya hay soporte preliminar a través de GDAL / OGR , un proveedor espacial central en QGIS.

Puede jugar con el formato ahora, con soporte preliminar a través de los conjuntos de herramientas enumerados en el sitio OGC GeoPackage. Además de eso, hay soporte recientemente actualizado en libspatialite, que se puede compilar para iOS y Android , y a través del proyecto Homebrew para Mac usando la fórmula libspatialite (use la opción --HEAD).

El nuevo lispatialite ahora se puede cargar más fácilmente en SQLite como una extensión, a través del enlace de idioma que necesite .

Si tiene los medios, considere ayudar a financiar el desarrollo de dicha solución junto con el Cliente Web QGIS u otro cliente basado en OpenLayers .


4

Su mejor opción es QGIS para Android: http://www.opengis.ch/2012/01/31/qgis-on-android-gets-gps-support/ pero no estoy seguro acerca de su estado actual con respecto al seguimiento y la sincronización.

Aquí hay un video de ejemplo con una tableta de Windows con seguimiento y sincronización de trabajo: http://www.youtube.com/watch?v=0WevRW4tbzs

Este breve video muestra cómo Quantum GIS se puede utilizar para realizar un seguimiento y muestreo en vivo en el campo, instalándolo en una tableta (en este caso con arquitectura Atom) y emparejándolo con una unidad GPS (en este caso, un registrador de datos bluetooth). El caso de uso específico es sobre el proyecto "MOVE" de la Universidad de Évora (Portugal): en este proyecto todos los días se comprueban las carreteras de un área de estudio específica en automóvil, a baja velocidad, buscando animales muertos en la carretera. Los datos se almacenan en una base de datos local de Spatialite, que luego se utiliza para actualizar una base de datos PostGIS.


4

En cuanto a código abierto, consulte Open Data Kit (ODK). Lo he usado para grandes proyectos de recopilación de datos (más de 10,000 presentaciones en este momento) y es bastante fácil configurarlo en Postgres / Postgis para la recopilación de toda la empresa con el componente Agregado. Las limitaciones incluyen actualmente solo Android, y no una interfaz de mapeo.

El desarrollo de formularios se basa en el estándar Xform y puede hacer una lógica ingeniosa con sus formularios, como condicionales, agrupación y parámetros de visualización de control. También se puede ejecutar sin Postgres. También admite relaciones múltiples si se trata de colecciones más complejas.

Admite tipos de datos típicos, GPS, fotos, video y audio. El soporte del sensor también es bastante extenso.


2

Pensé que daría una alternativa a las respuestas aquí ya que estamos haciendo algo similar. Tenemos planificadores de servicios públicos que planean futuros trabajos de mantenimiento, y este es nuestro proceso. Eso sí, estos tipos definitivamente no son personas con SIG, y podríamos tener suerte si alguna vez usaron una computadora antes.

En lugar de una plataforma web, estamos utilizando una aplicación de escritorio de Windows. Nuestra aplicación utiliza una interfaz de mapa con licencia, aunque podría fácilmente (y deberíamos haberlo hecho) usar una versión de código abierto como DotSpatial o SharpMap para los componentes de mapeo. El resto de la aplicación son solo algunas formas para los controles de entrada cuyos valores se asignan a un archivo de forma que estamos utilizando en el back-end. Los archivos de forma no son geniales, pero son súper compatibles.

También configuramos una API en nuestro servidor que maneja la descarga de nuevas funciones (por ejemplo, paquetes, líneas de servicios públicos, etc.) y la carga de funciones recopiladas / editadas. Por lo tanto, el almacenamiento de campo no importa porque todo se transmite a / desde usando geoJSON y solo se analiza / deserializa en cada punto final.

Este proceso requiere un poco más de trabajo inicial, pero la versatilidad es bastante grande. Puede simplificar la interfaz de la aplicación para que todo lo que el usuario tenga que hacer sea hacer clic en una etiqueta (nombre de la capa), dibujar una figura y completar un par de campos. El resto se hace automáticamente por ellos. Puede volverse más complejo si lo desea y hacer cosas automáticamente para el usuario, como la unión espacial, las coordenadas GPS, validar entradas de campo, etc., codificándolo en el back-end.

Punto de la historia ... Puede usar componentes de código abierto para crear una aplicación para manejar todo. Las interfaces web tendrán algunas limitaciones, como límites para el almacenamiento local, etc. Si desea algo más complejo y realmente simplificado, se puede hacer, pero requiere un poco de esfuerzo.

Yo estimaría que si supiera exactamente lo que desea hacer, podría armar una versión viable de la aplicación de escritorio y la interfaz web en un par de semanas.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.