Jag har i många av mina exempel använt PostGis (PostgreSql) som ”lagringsform” för mina geodata, men har väl egentligen inte funderat över om det behövs.
Svaret på frågan är sannolikt att det beror på, men vad är det som det beror på?
När man Googlar lite så blir svaret att om man har upp till något hundratal objekt i en databas så kan det vara snabbare med en PostGis databas, men om det är hundratals eller tusentals objekt så blir det snabbare med ESRI shape. Hmm, det rimmar inte riktigt med vad man skulle förvänta.
Det finns många vinster med att använda geodatabaser (om databaserna stödjer alla finesser) men det är lätt att överdriva fördelarna.
Om man har data i en förhållandevis enkel tabellstruktur så kommer man sannolikt inte att vinna någonting på att spara data i en databas. Om man däremot vill använda index, topologier, automatiska beräkningar, flera datatyper och komplexa relationer mellan flera tabeller, då är det nog nödvändigt att använda sig av geodatabaser. Om man dessutom vill använda den ”geografiska” informationen tillsammans med annan typ av information i exempelvis en webmiljö så kommer man sannolikt ändå att använda sig av någon form av databas.
En annan nackdel med shape är att det i stort sett krävs en GIS klient för att redigera informationen. Om man bara skall uppdatera en kunds telefonnummer, så borde man inte behöva använda GIS, utan detta bör kunna göras betydligt enklare via ett annat program, eller webtjänst. I praktiken så kan man redigera tabellinformationen i shapefilerna med ett kalkylprogram som Excel (dbf format), men det kan vara lite vanskligt om man inte vet vad man gör, därför så blir rekommendationen i dessa fall att välja en databas.
För att ta ett exempel:
Om man vill ha ett geografiskt register över olika platser, som kunder, objekt, händelser med mera, så blir det sannolikt enklast att skapa en enkel shapefil för att lagra denna typ av information. Om man har en fastställd nätverksstruktur, lokalt eller i ”molnet”, så kan man utan problem även inkludera länkar till exempelvis olika dokument och bilder. Om strukturen är oklar, eller om man har många typer av information som skall kopplas till varandra, så bör man överväga en geodatabas. Om det är flera som skall arbeta med informationen samtidigt och inte bara titta på data, utan även kunna uppdatera den på olika sätt, så blir databas nödvändig.
Om man är osäker så är det dock inte särskilt svårt att göra om en shapefil till geodatabas. I QGIS så finns det exempelvis en knapp som heter ”Impoertera shape till PostgreSQL”. Därmed så behöver man inte tveka till att börja använda GIS, bara för man inte kan något om geodatabaser. Börja med en enkel shapefil, som får utvecklas efterhand som det finns behov. När man hittat funktioner som man tror att man kan tjäna på att använda, men saknar kunskaper, så kan man alltid ta hjälp.
Hej
Det ser ut som du har många intressanta temaen på din blog.
Några argument till att du behöver en spatial databas (Då menar jag absolut inte SDE utan tex PostGIS):
1) shape-formatet har en begränsning på 2GB både på .shp-filen och dbf-filen. Ingenting för större datamängder alltså
2) Att replicera en process eller analys är oandligt mycket enklare med några rader sql-kod än att klicka sig igenom en labyrint av menyer i någon gis-appikation
3) Min erfarenhet är att processering och analyser är extremt effektiva i PostGIS-miljö
MVH
Nicklas Avén
Bra Nicklas! Det är sådana här kommentarer som hjälper den intresserade vidare (jag kan inte kunna allt…).