Baza danych kontra pliki dla programisty Solo

10

Właśnie zaczynam pracę w GIS i jestem zainteresowany wykorzystaniem go do tworzenia map tras rowerowych w mojej okolicy i okolicy. Uczyłem się QGIS i poczyniłem wystarczające postępy, aby wygenerować przyzwoitą mapę. Do tej pory przechowowałem moje warstwy w Shapefiles, co wydaje się działać dobrze.

W miniony weekend zacząłem patrzeć na PostGIS i uruchomić go, udało mi się zaimportować moje pliki kształtów szlaków i połączyć QGIS z PostGIS.

Zastanawiam się teraz, jakie byłyby zalety i wady korzystania z bazy danych w porównaniu z plikami. Mam już pewne przemyślenia, ale jestem ciekawy, jakie pouczające opinie mogą mieć inni.

Zalety bazy danych

  • Jedna tabela dla wszystkich moich szlaków, niezależnie od parku, pozwala mi mieć spójny zestaw kolumn dla informacji.
  • Łatwiejsze wyszukiwanie / eksportowanie moich danych do wielu formatów
  • Wiele klientów / narzędzi pozwala na łatwiejsze przeglądanie i edycję danych
  • Łatwiejsza edycja struktury tabeli (w porównaniu do edycji tabeli QGIS)

Wady bazy danych

  • Wstanie / utrzymanie bazy danych komplikuje moją konfigurację.
  • Mam komputer stacjonarny i laptop, na którym pracuję w GIS, a korzystanie z DropBox pozwala mi łatwo synchronizować pliki między dwoma komputerami. Prawdopodobnie nie będzie to możliwe (ani tak przejrzyste) przy użyciu PostGIS, jak przy użyciu DropBox z plikami.
  • Łatwiejsze tworzenie kopii zapasowych / przywracanie plików niż bazy danych.
Brian Kelly
źródło
1
Jeśli mapa będzie tylko do odczytu i pozostanie poniżej 2 GB, trzymaj się plików z kształtami. Jeśli planujesz mieć wiele jednoczesnych edycji, a zestaw danych jest większy niż 2 GB, wybierz Postgis.
CaptDragon,

Odpowiedzi:

12

Proponuję dodać Spatialite do swojej listy. Ma to tę zaletę, że jest oparte na plikach (jako plik shapefile lub baza danych .mdb) i obsługuje większość zwykłych operatorów przestrzennych i plików tpy, które można również znaleźć w PostGIS. Spatialite jest oparty na Sqlite, więc będziesz zarządzać jednym plikiem, który możesz łatwo przenosić i udostępniać.

giohappy
źródło
Przyjrzę się, ponieważ z twojego opisu wydaje się, że oferuje to, co najlepsze z obu światów.
Brian Kelly,
6

Powiedziałbym, że największym profesjonalistą w bazie danych PostGIS jest to, że możesz pracować z całym zestawem funkcji, jaki oferuje PostGIS.

Wszystkie minusy na liście są bardzo łatwe do naprawienia. Możesz uruchomić Postgis na JEDNYM serwerze i używać swojego laptopa i komputera stacjonarnego jako klienta. Pytanie o kopię zapasową, możesz wygenerować pliki zrzutu lub co jeszcze, aby mieć dobrą i wartościową kopię zapasową! ;)

Styp
źródło
Lubię jednak używać laptopa podczas przejażdżek pociągiem, więc nie mam wtedy łączności z Internetem.
Brian Kelly
@Styp, jeśli masz serwer i klient PostGIS na jednym laptopie, działa dobrze!
Simbamangu
5

Kolejną dużą zaletą PostGIS jest to, że dzięki bazom danych przestrzennych możesz przechowywać jedną kopię danych przestrzennych i tworzyć widoki, które łączą się z Twoimi danymi nieprzestrzennymi za pomocą unikalnego identyfikatora.

Następnie możesz tworzyć podzestawy pełnych danych, tworząc widoki, które możesz z nich wybrać - dzięki czemu możesz tworzyć tabele jedno-stanowe jako widoki pełnej tabeli kraju. Coś jak:

utwórz widok txcounties jako * wybierz z hrabstw, w których stan = „TX”

Wydaje się również, że nikt nie wspominał o prędkości operacji przestrzennych dla PostGIS. Załóżmy, że chcesz zobaczyć, jaki był najbliższy wodospad do twoich tras rowerowych, biorąc pod uwagę tabelę linii szlaków i tabelę ciekawych miejsc, w tym wodospady. Tego rodzaju zapytanie może wykonać naprawdę szybko PostGIS, ponieważ utrzymuje indeksy przestrzenne w tabelach przestrzennych. Prawdopodobnie możesz to zrobić za pomocą rodzimych narzędzi w Qgis, ale może to być nieco wolniejsze.

Oczywiście w przypadku małej, zabawnej aplikacji, takiej jak Twoja, te rzeczy prawdopodobnie nie są dobrym powodem, aby przejść do złożoności przestrzennej bazy danych, ale może to wyjaśniać, dlaczego te „przedsiębiorcze” funkcje są niezbędne w przypadku większych projektów.

Spacedman
źródło
Przeczytałem darmowy rozdział „PostGIS w akcji”, który doprowadził mnie do tego samego wniosku co ty - bardzo potężne rzeczy, ale prawdopodobnie przesada (teraz) za to, co chcę z tym zrobić.
Brian Kelly,
2

Kolejną zaletą DB w porównaniu z plikami płaskimi jest przechowywanie wersji, co jest kluczowe dla GIS do wprowadzania danych przez wielu użytkowników.

Istnieje wtyczka beta do PostGIS i GeoGit, por. to pytanie.

Laurent Jégou
źródło
Pracuję solo, więc zaktualizowałem pytanie, aby to odzwierciedlić. Twój punkt jest jednak ważny.
Brian Kelly,
1

Plik Shape ma ograniczenie (maks. 2 GB) .. więc jeśli rozmiar mapy nie przekracza tego limitu ... możesz użyć pliku kształtu bez konfiguracji db ....

Vadivelan Palanichamy
źródło
To dobra uwaga (należy jednak pamiętać, że limit 2 GB dotyczy jednakowo i osobno funkcji w pliku .shp i atrybutów w pliku .dbf). Pytanie zachęca jednak do porównań między rozwiązaniem shapefile a rozwiązaniem DB. W jaki sposób ograniczenia wielkości plików shapefile porównać do podobnych ograniczeń, jeśli w ogóle, w plikach bazy danych?
whuber