Już wcześniej pojawił się temat zarządzania danymi geoprzestrzennymi w bardziej ogólnym sensie . Wspomniany został także temat wersjonowania, ale tak naprawdę nie został poruszony.
Tradycyjne gromadzenie i obsługa danych geoprzestrzennych wymaga wewnętrznego zarządzania wersjami, ponieważ baza danych jest aktualizowana tylko z poziomu organizacji. Nie dzieje się tak w geobazach typu crowdsourcing, takich jak OpenStreetMap. Tam każdy może przyjść i dodać, zmodyfikować lub usunąć obiekty. W OpenStreetMap jest to traktowane w sposób podstawowy: każdy obiekt ma liczbę całkowitą wersji i tylko obiekt o najwyższej wersji jest widoczny w bazie danych na żywo. Baza danych wykorzystuje optymistyczne blokowanie, więc użytkownicy muszą rozwiązać wszystkie konflikty, które występują podczas ręcznego przesyłania danych.
Wszystko to działa dość dobrze, o ile wkład ludzi za pośrednictwem edytorów ( JOSM , Potlatch ) jest jedynym sposobem wkładu - ale tak nie jest. Coraz częściej odbywa się import otwartych danych sektora publicznego. Powodują to bardziej złożone problemy z wersjonowaniem. Rozważ następujący scenariusz:
- Obiekt budynku jest importowany z otwartego zestawu danych sektora publicznego
- Budynek otrzymuje modyfikacje od ludzi (atrybuty, geometria lub oba)
- Nowa wersja danych sektora publicznego staje się dostępna i jest importowana.
Obecnie w kroku 3. wkład człowieka zostałby utracony, chyba że każdy budynek, który otrzymał modyfikacje społeczności, zostanie ręcznie połączony z nowym importem.
Jak OpenStreetMap radzi sobie z tą sytuacją? Czy musimy przyjrzeć się rozproszonej kontroli wersji podczas opracowywania oprogramowania? W jaki sposób można dostosować metody DVC do obsługi rozproszonego zarządzania danymi przestrzennymi?