Då är det dags för test! Jag har lånat en dator med ArcMap 10.6.1 (senaste?) och ArcGIS Pro 2.2 (som jag kan väldigt dåligt). Och nu är det dags att prova hur bra (eller dåligt) det fungerar att jobba med PostGIS databaser.
Det kan finnas specialknep som jag inte känner till, men det första försöket blir en ren PostGIS installation, så får vi ta det därifrån. Det som gör ArcMap 10.6 lite mera intressant är att man här utökat stödet för PosgGIS geometrityper, men jag är inte riktigt säker på vad det innebär. Jag misstänker att jag kommer att bli besviken, men låt oss göra ett försök först.
Jag börjar med en Ubuntu Server, för att jag tycker att det är enklare, men det skulle nog lika gärna kunna vara en Windows Server.
ArcMap är eventuellt lite kräsen när det gäller vilka versioner som kan användas (länk) så det är bäst att följa detta till punkt och pricka, så får vi se om stödet är bredare lite senare. Man anger även att man stödjer Ubuntu 16.04, så vi får se om min 18.04 server ställer till problem.
Jag kan välja lite versioner enligt sidan, men jag måste ha en Postgresql version senare än 9.6.8 för att kunna använda PostGIS ”geography type” (vad nu det betyder).
Hmm, det står ju faktiskt ”minimum” för versionsnumren. Betyder det att jag kan använda Postgresql 10.6 som är den senaste av version 10?
Äh, det är 10.6 som finns i programbiblioteken tillsammans med PostGIS 2.4.3, så det får det bli.
sudo apt install postgresql-10 sudo apt install postgispg
Konfiguration av databasen görs så grundläggande och enkel som möjligt. Om det fungerar så får man klä på med användare och lite bättre säkerhet.
sudo passwd postgres sudo -u postgres psql # \password postgres # \q sudo -u postgres createdb geodata # create extension postgis; # select PostGIS_version(); # \q
Sedan skall som vanligt några filer redigeras så att det går att anropa servern från nätverket.
I filen /etc/postgresql/10/main/postgresql.conf redigeras ”listen_addresses” så att servern faktiskt lyssnar på datorer på nätverket. Nu anger jag ’*’ istället för en korrekt adress.
I filen pg_hba.conf på samma sökväg läggs en adressrymd till under IPv4 så att de datorer jag har på nätverket kommer åt databasen.
host all all 192.168.0.0/24 md5
Sedan är det bara att starta om tjänsten med sudo service postgresql restart.
Via PgAdmin så kan jag bekräfta att databasen finns. Dags för ArcMap…
(Känns inte ArcMap 10.6 ganska långsam jämfört med tidigare versioner?)
Det går smidigt från ArcCatalog att ansluta till databasen. Men alternativet att ”Enable Geodatabase…” kräver autentiseringsfiler (=ArcGIS Server licens?). Jag börjar ana vartåt det här lutar…
Att skapa en ny featureclass fungerar inte heller riktigt. Jag misslyckas vid skapandet för att schemat ”postgres” inte finns…
Om jag skapar ett schema för postgres i PgAdmin så går det att skapa en ny featureclass, men när jag försöker redigera så…
Om jag skapar ett lager i QGIS i detta schema så går det bra att redigera där. Lagret blir också synligt i ArcMap, och går att lägga till i kartan. Men det går inte att redigera lagret.
Om jag skapar ett nytt schema i QGIS och ett nytt lager, så går det också att lägga till och visa i ArcMap. Redigera? Icke!!!
Det är lite samma sak som med GeoPackage. Det går att hitta data och lägga till i kartan, men så fort man vill redigera så är det ”the esri way – or the highway”. (Jag blir så trött…)
På esri webbsida om vad som krävs finns en rubrik ”requirements and limitations”. Vare sig här, eller någonstans i övrigt på sidan står det att det inte går att redigera data. Så den lilla förhoppning som inledde det här experimentet är (som vanligt) grusat.
Ett positivt resultat dock! Det fungerade fint att lägga till data från PostGIS 2.5 installerat på en Postgresql 11 server. Vill man jobba med data i QGIS på ett modernt sätt, och använda ArcMap som tittskåp för dessa data så kommer det inte att vara några problem…
Slutsatser
Jag vill att det här skall fungera!!!
Jag vägrar däremot att låta mig bli inlåst ännu mera i en enda leverantörs lösningar! Om man från esri sida vill behålla kunder som tänker som jag så bör man ta sig en rejäl funderare. Om jag inte kan arbeta med data med blandade verktyg, från olika leverantörer och från Open Source, så kommer leverantörer som inte låter mig göra det att fasas ut till förmån för de som låter mig jobba som jag vill.
Även om ett stort företag eller organisation har råd att använda en enterprice licens och därmed en esri geodataserver så ställer jag mig frågan, varför skulle man vilja det? När det innebär att man är låst till att använda en enda leverantörs verktyg.
För mig börjar det mer och mer se ut som att QGIS, eller andra öppna verktyg, kommer att bli det som används för att bearbeta och hantera data, inte minst för kartor på Internet! ArcMap får vara kvar där det är nödvändigt och fortfarande går snabbare att utföra vissa moment, eller där det finns inarbetade mallar och skript som inte är översatta till QGIS (ännu).
Och jag säger det igen. Jag VILL att det här skall fungera, för det är en liten extra säkerhet att ha ett stort företag bakom en mjukvara, även om jag mer och mer börjar förstå att den tryggheten är värd mindre och mindre…
Jag tar och avslutar med en länk till en diskussion på Reddit som är relevant för inlägget: https://www.reddit.com/r/gis/comments/7sp58m/postgresqlpostgis_versioning_control_and_revision/
Tack för genomgången, Klas. Den stämmer överens med vad jag fann för några generationer sedan. Då var det så att ESRI alltid stöder generationen före aktuell Postgresql-version. Och det förvånar mig att du fick ver 10 att fungera öht.
Jag kan tillägga att QGIS inte kan arbeta med Postgis-data i en ESRI sde-databas. Därför faller Postgis som gemensam nämnare i en blandad miljö. Och det finns inga öppna alternativ.
Min lösning är att fasa ut ESRI-produkter så gott det går, och inte investera mer i den slutna miljön.