El tema de la gestión de datos geoespaciales en un sentido más general ha surgido antes aquí. El tema de las versiones también se mencionó allí, pero no se trató realmente.
La recopilación y el mantenimiento de datos geoespaciales tradicionales solo tienen que ocuparse de las versiones internas, ya que la base de datos solo se actualiza desde dentro de la organización. Este no es el caso en geodatabases de crowdsourcing como OpenStreetMap. Allí, cualquiera puede venir y agregar, modificar o eliminar objetos. En OpenStreetMap, esto se trata de manera rudimentaria: cada objeto tiene un número de versión entero, y solo el objeto con la versión más alta está expuesto en la base de datos en vivo. La base de datos utiliza un bloqueo optimista, por lo que los usuarios deben resolver todos los conflictos que ocurran al cargar contribuciones manualmente.
Todo esto funciona razonablemente bien siempre que las contribuciones humanas a través de los editores ( JOSM , Potlatch ) sean el único modo de contribución, pero no lo son. Cada vez más, se realizan importaciones de datos abiertos del sector público. Esto genera problemas de versiones más complejos. Considere el siguiente escenario:
- Se está importando un objeto de construcción desde un conjunto de datos abierto del sector público
- El edificio recibe algunas modificaciones por parte de colaboradores humanos (atributos, geometría o ambos)
- Una nueva versión de los datos del sector público está disponible y se importa.
Actualmente, en el paso 3. las contribuciones humanas se perderían, a menos que cada edificio que recibió modificaciones de la comunidad se fusione manualmente con la nueva importación.
¿Cómo puede OpenStreetMap lidiar con esta situación? ¿Necesitamos analizar el control de versiones distribuidas en el desarrollo de software? ¿Cómo se pueden adaptar los métodos de DVC para hacer frente al mantenimiento de datos espaciales distribuidos?