miksi Postgiksesta pitäisi välittää? – Lempeä johdatus spatiaalisiin tietokantoihin

tietokantoihin? Ei kovin kiinnostavaa.

näin voisi ajatella keskivertoihminen, joka työskentelee GIS: n tai datan visualisointien parissa. Täytyy myöntää, että tietokannat eivät ole seksikkäin asia maailmassa (anteeksi DBA: n), mutta jos väität (tai tavoitteena) tehdä analytiikka tai visualisointi (paikkatieto) tietoja vakavampi tavalla, sinun ehdottomasti ei pitäisi sivuuttaa niitä. Toivon, että tämä blogikirjoitus voi antaa sinulle käsityksen siitä, millaisia etuja tilatietokantojen tehokas käyttö voisi tarjota sinulle.

Hypetystermit tulevat ja menevät siinä ja big datan ympärillä oli iso hype vielä muutama vuosi sitten, mutta se on nyt hiljalleen hiipumassa pois. Data on yhä iso ja itse asiassa isompi kuin koskaan. Tiedostokoot kasvavat ja ”datatieteessä” ja geotieteissä ihmisten on käsiteltävä dataa, joka voi helposti olla gigatavujen luokkaa. Mitä suurempi data on, sitä enemmän meidän on kiinnitettävä huomiota siihen, miten säilytämme ja analysoimme sitä.

silloin kuvaan astuu tietokanta.

ohjelmistokehityksessä tietokantojen kanssa työskentely on välttämätöntä. Mutta ihmisille muilla osa-alueilla tietojenkäsittelytieteen (kuten GIS) hyödyt tietokannan ei ehkä aina ole niin ilmeinen. Totta kai ihmisillä on tapana käyttää tutuimpia työkaluja, vaikka se ei olisi tehokkain tapa saavuttaa tavoitteita. Mutta joskus astuminen ulos mukavuusalueeltasi voi todella tuoda sinulle suuria etuja. Olen ollut oma itseni hitaasti ymmärtämättä potentiaalia, joka piilee spatiaalinen SQL.

Viikon lennot Brasiliassa. Alkuperäinen tiedosto oli vain CSV, jossa oli alkuperä-ja kohdekoordinaatit. Latasin tiedot PostGIS: iin, loin koordinaateista pistegeometriat, sitten loin pisteiden väliset viivat ja lopulta visualisoin tiedot QGIS Time Managerilla.

tämä blogikirjoitus on tarkoitettu lähinnä paikkatietojen parissa työskenteleville, mutta ei ole koskenut Postgisiin, tai ehkä ei ole edes kuullut siitä. En aio käydä läpi, miten PostgreSQL/PostGIS asennetaan, vaan yritän antaa sinulle yleiskuvan siitä, mitä se on ja mihin se on hyvä.

työnkulkuni ja esimerkkitapaukseni keskittyvät pääasiassa QGIS + PostGIS-yhdistelmään, mutta huomaa, että voit työskennellä myös pelkällä PostGIS-järjestelmällä, omalla koodillasi tai joidenkin muiden GIS-asiakkaiden kanssa.

Post … mitä?

jo GIS-opintojeni aikana olin kuullut useita kertoja lauseen ”PostGIS on Postgresin tilalaajennus”. En tiennyt, mitä se tarkoittaa. Minulla ei ollut aavistustakaan, mikä on Postgres, saati tilalaajennus.

yritetään jarruttaa mahdollisimman yksinkertaisesti.

jotkut saattavat vihata minua tämän vertailun vuoksi, mutta otan riskin: jos et ole koskaan työskennellyt tietokantojen kanssa, voit ajatella tietokantataulukoita massiivisina Excel-taulukoina. Mutta massiivinen älykäs Excel-arkki, josta voit millisekunnissa selvittää, mikä arvo on kolmannessa sarakkeessa rivillä numero 433 285. Ja sen sijaan, että kirjoitat toimintoja arkin sisällä yhteen soluun, kirjoitat ne SQL-komentoikkunaan. Joten paikka tallentaa tietoja ja josta saat sen tehokkaasti ulos.

PostGIS on avoimen lähdekoodin, vapaasti käytettävissä oleva spatiaalinen tietokantalaajennus PostgreSQL-tietokannan hallintajärjestelmälle (a.k.a DBMS). Joten PostgreSQL (alias Postgres) on tietokanta ja PostGIS on kuin lisäosa kyseiseen tietokantaan. Postgisin uusin julkaisuversio tulee nyt pakattuna PostgreSQL: n kanssa.

pähkinänkuoressa PostGIS lisää PostgreSQL: ään spatiaalisia funktioita, kuten etäisyyden, pinta-alan, unionin, leikkauspisteen ja erikoisgeometrian tietotyypit.Spatiaaliset tietokannat tallentavat ja manipuloivat paikkatietokohteita kuten mitä tahansa muuta tietokannan objektia.

joten normaaliin tietokantaan tallennetaan erityyppisiä tietoja (numeerinen, teksti, aikaleimat, kuvat…) ja tarvittaessa voit kysellä (nouda), että vastataksesi kysymyksiin tiedoillasi. Kysymykset voivat olla ”kuinka monta ihmistä on kirjautunut sivustoosi” tai ”kuinka monta tapahtumaa on tehty verkkokaupassa”. Spatiaaliset funktiot voivat sen sijaan vastata kysymyksiin, kuten ”kuinka lähellä on lähin kauppa”, ”onko tämä piste tämän alueen sisällä” tai ”mikä on tämän maan koko”.

joten tiedot tallennetaan riveihin ja sarakkeisiin. Koska PostGIS on paikkatietokanta, aineistossa on myös geometrinen sarake, jossa tiedot ovat spatial reference identifier (SRID) – järjestelmän määrittelemässä tietyssä koordinaatistossa. Mutta muista, että vaikka käyttäisitkin Postgisia pääasiassa paikkatietoihin, on myös mahdollista tallentaa sinne muita kuin paikkatietoja, sillä siinä on edelleen kaikki normaalin PostgreSQL-tietokannan toiminnot!

se on tietokanta. IT-arkkitehtuurissa tietokanta esitetään sylinterinä. Se on paikka, jossa voit tallentaa tietosi.

erinomainen rajaton PostGIS-intro esittelee kolme ydinkäsitettä, jotka yhdistävät paikkatietoa tietokantaan. Nämä yhdessä tarjoavat joustavan rakenteen optimoidulle suorituskyvylle ja analysoinnille.

  1. Paikkatietotyypit, kuten piste, viiva ja monikulmio. Tuttu useimmille paikkatietojen parissa työskenteleville;
  2. moniulotteista spatiaalista indeksointia käytetään paikkatietotoimintojen tehokkaaseen käsittelyyn;
  3. SQL: ssä esitetyt spatiaaliset funktiot ovat spatiaalisten ominaisuuksien ja suhteiden kyselyä varten.

SQL eli ”strukturoitu kyselykieli” on keino kysyä kysymyksiä relaatiotietokannoista ja päivittää niitä. Select-kysely (jota käytetään kysymysten esittämiseen) on yleensä käsky seuraavassa muodossa

SELECT some_columns FROM some_data_source WHERE some_condition;

PostGIS-Erikoisfunktiot ovat yleensä muodossa ST_functionName.

kirjoitat nämä komennot komentoriville kirjauduttuasi tietokantaan tai tietokannan KÄYTTÖLIITTYMÄTYÖKALUUN (esim.pgAdmin tai QGIS DB Manager). Joten kyllä, SQL vaatii todella kirjoittaa jotain. Hiiren kakkospainikkeella voi olla aliarvostettu yleisesti, mutta joku, joka ei kirjoita mitään koodia, SQL on hyvä ensimmäinen askel kirjoittaa omia komentoja ja ehkä myöhemmin koodi.

Postgisin lisäksi on olemassa myös muita paikkatietokantoja. SQL Server Spatial, ESRI ArcSDE, Oracle Spatial ja GeoMesa ovat muutamia muita vaihtoehtoja paikkatietojen hallintaan ja analysointiin. Postgisissa sanotaan kuitenkin olevan enemmän toiminnallisuuksia ja yleensä parempi suorituskyky. Myöskään muut mainitut (paitsi GeoMesa) eivät ole avointa lähdekoodia.

jos olet uusi tässä, nyt saatat hämmentyä: se on siis datan säilytyspaikka ja tieto pitää saada ulos monimutkaisella tavalla kirjoittamalla komentoriville outoja juttuja? Odota. On myös joitakin todellisia etuja, joita PostGIS voi tarjota sinulle, jos todella sitoudut siihen.

kysyin blogikirjoitukseen ideoita Twitteristä ja sain paljon hyvää palautetta. Sieltä sain idean jakaa tämän kahteen osaan. Ensimmäisessä osassa tarkastelen etuja, joita PostGIS voi tuoda päivittäiseen työhösi. Toisessa osassa keskityn enemmän spatiaaliseen SQL: ään.

PostGIS voi mahdollistaa uuden työskentelytavan omaksumisen. Tämä uusi tapa voi olla helpommin toistettavissa, voit alkaa käyttää versionhallintaa helpommin ja se voi mahdollistaa monen käyttäjän työnkulun.

tiedostot vaativat usein erityisen ohjelmiston lukemaan ja kirjoittamaan. SQL on abstraktio satunnaiseen tiedon saantiin ja analysointiin. Ilman että abstraktio, tarvitset joko tietyn ohjelmiston tehdä operaatioita tai täytyy kirjoittaa kaikki pääsy ja analyysi koodi itse.

analyysin tekeminen SQL – kielellä sen sijaan, että tekisit vain satunnaisia operaatioita tiedostoille, joissa on joitain satunnaisia työkaluja satunnaisilla parametreilla, voit jakaa ja toistaa tuloksesi helpommin. Saatat olla, että yksi” master Shapefile ” tällä hetkellä jossain, jossa olet tehnyt useita tilaliittymiä ja leikkeen toimintoja Shapefile saada, että olla kuin sen pitäisi olla. Entä jos se katoaa?

Johnnie kirjoitti Twitterissä hyvän esimerkin siitä, kuinka hän vahingossa poisti kaikki tietonsa, mutta pystyi toistamaan ne vähällä vaivalla GITILLE tallentamillaan SQL-skripteillä.

ohjelmistokehityksen parissa työskentelevät ovat todennäköisesti (tai toivottavasti) perehtyneitä versionhallintaan. En aio mennä syvemmälle, että tässä blogikirjoitus, mutta voit (ja sinun pitäisi) on SQL-skriptejä versionhallintajärjestelmä, kuten GIT. Ajattele sitä keittokirjana, jota pidät kirjahyllyssäsi ja päivität jatkuvasti, jotta löydät aina parhaat reseptit maukkaiden tietojen analysointiin. Vain, että voit ostaa uuden kopion tästä täsmälleen keittokirjasta Amazonista uudelleen, jos talosi palaa.

tietokanta voi myös auttaa sinua pitämään paikkatietosi paremmassa järjestyksessä. Kukaan meistä ei ole todella täydellinen ja luultavasti voit silti luoda taulukoita kuten temp_1, final_final, mutta silti tietokanta tarjoaa paremman mahdollisuuden standardoida tietorakenteesi kuin vain tiedostoja (esim standardoimalla taulukoidesi tietotyypit).

ja entäs ne isot aineistot? Spatiaalisen tietokannan kanssa työskentely suurten aineistojen tulee mahdolliseksi. Ei vain helpompaa, mutta joskus se on lähes mahdotonta työskennellä suurempia aineistoja ilman tietokantaa. Oletko koskaan yrittänyt avata 2 gb csv-tiedostoa? Tai yritti tehdä geoprosessointia 800 mb Geojsonille? Tiesitkö, että muodoilla on kokorajoitus? Voit tietenkin ratkaista joitakin näistä ongelmista käyttämällä Geopakettia tai joitakin muita tiedostomuotoja, mutta yleensä PostGIS on optimaalinen työkalu suurten (paikkatietojen) tietojen käsittelyyn.

22 miljoona pistettä GPS-paikannusta PostGIS: stä QGIS: llä. Näetkö, missä laivat liikkuvat joilla ja missä ne ovat avomerellä?

yksi erittäin mukava ominaisuus tietokannoissa on se, että voit helpommin automatisoida prosesseja, joita normaalisti teet manuaalisesti. Esimerkiksi käyttämällä PostgreSQL NOTIFY-ominaisuutta voit päivittää QGIS-karttasi automaattisesti. Myös jos käytät ETL-työkaluja (esim.FME) automatisoidaksesi työsi, lukeminen/kirjoittaminen PostGIS-taulukoista on paljon helpompaa kuin tiedostojen kanssa.

jos et ole kuin minä (teen tällä hetkellä näitä juttuja yksin ja huvin vuoksi), sinulla saattaa olla juttu nimeltä tiimi. Tunnetaan myös työkavereina. Heillä saattaa olla tarve päästä samoihin tietoihin kuin sinulla. Tietokannan käyttäminen työnkulussa mahdollistaa rinnakkaisen työskentelyn täysin eri tasolla kuin vain tiedostojen jakaminen jaetulla asemalla.

yksi pääsyy tähän on se, että samanaikaiset käyttäjät voivat aiheuttaa korruptiota. Vaikka se on mahdollista kirjoittaa ylimääräistä koodia, että useita kirjoittaa samaan tiedostoon eivät korruptoi tietoja, kun olet ratkaissut ongelman ja myös ratkaissut siihen liittyvän suorituskyvyn ongelma, olisit kirjoittanut parempi osa tietokantajärjestelmän.

uuden työnkulun käyttöönotossa on tietysti sekä hyviä että huonoja puolia. Aivan kuten pitää tiedostoja järjestyksessä, lopussa päivä, myös ylläpitää tietokantaa voi olla paljon työtä. Esimerkiksi Postgisin päivittäminen uuteen versioon voi olla todellinen piina, kuten Twitterissä huomautettiin. Suuren voiman mukana tulee suuri vastuu.

mutta puhutaan enemmän siitä voimaosuudesta.

Osa 2: spatial SQL: n taikamaailma

Spatial SQL voi todella nopeuttaa prosessointia (viisaasti käytettynä). Alla on vertailu tehdä sama prosessi Shapefile ja QGIS käsittely ja sitten PostGIS kanssa ST_GeneratePoints.

tietokantaan liittyvä blogikirjoitus on aina oltava barchart vertaamalla käsittelyajat. PostGIS = erittäin nopea. Barchartit eivät valehtele.

tätä vertailua varten minulla oli postinumerotiedot Suomesta ja kunkin postinumeroalueen väestöstä. Minulla oli tämä sekä Muodonmuuttajana että taulukkona paikallisessa tietokannassani. Loin satunnaisia pisteitä jokaisen monikulmion sisään edustamaan väestöä. Käytin QGIS processing (Random points inside polygon Vector Processing) varten Shapefile ja PostGIS SQL oli todella niin yksinkertainen kuin tämä:

SELECT ST_GeneratePoints(geom, he_vakiy) from paavo.paavo

kuten näet graafista aiemmin, se kesti PostGIS alle 10 % ajasta tehdä sama analyysi verrattuna QGIS ja Shapefile. Jos olet GIS-analyytikko ja teet tällaisia prosesseja joka päivä, se voi säästää sinulta melko paljon aikaa vuodessa.

nopeamman käsittelyn lisäksi voit nauttia Postgisin tarjoamasta laajasta tilatoimintojen valikoimasta. Mitkä toiminnot ovat sinulle hyödyllisimpiä, riippuvat täysin käyttötapauksesta. Voronoi-analyysin ja perinteisemmän GIS-analyysin (puskuri, overlay, intersect, clip jne..) voit tehdä edistyneempiä asioita:

  • reititys. PgRouting – ja road-datan avulla voit löytää optimaaliset reitit ja tehdä erilaisia verkkoanalytiikoita;
  • Polygon skeletonization. Tällä funktiolla voidaan rakentaa monikulmion mediaalinen akseli lennossa;
  • geometria subdivision. Geometrioiden jakaminen jatkokäsittelyä varten voi merkittävästi nopeuttaa prosessejasi;
  • ryhmittely. Etsi klustereita ja malleja tiedoista. TEKOÄLYHYPEN ollessa huipussaan k-keinot saattavat olla joillekin entistäkin kiinnostavampia…

mihin tarvitset polygonin luurankoja? Saattaa olla pätevä kysymys useimmille, mutta että kerran, kun Spatiaalinen analyysi tarvitsee sitä, olet erittäin iloinen, että joku on tehnyt kovan työn (=matematiikka) puolestasi. Yhdistämällä eri paikkatietofunktioita yhteen ja käyttämällä niihin sisäänrakennettuja Postgres-funktioita voit tehdä edistynyttä paikkatietoanalyysiä tietokannassasi.

monimutkaiset ja mielenkiintoiset kysymykset (spatiaaliset liitokset, aggregaatiot jne.), jotka voidaan ilmaista yhdellä SQL-rivillä tietokannassa, vaativat paljon laskentatehoa ja sitä PostGIS tarjoaa. Samoihin kysymyksiin vastaaminen omalla koodilla saattaa vaatia satoja rivejä erikoistunutta koodia, jotta ne vastaisivat tiedostoja vastaan ohjelmoitaessa.

PostGIS for dataviz

monissa portfoliossani olevissa visualisoinneissa PostGIS on ollut jonkinlaisessa roolissa visualisoinnissa. Työnkulussani useimmiten esiprosessoin tiedot ja teen sitten varsinaisen visualisoinnin QGIS: ssä.

Katsotaanpa esimerkki yhdestä näistä prosesseista.

Junaile voronoin linjoja. Oudon tyydyttävää.

animaatio junista ja voronoisista yllä antaa leikkisän esimerkin Postgiksen voimasta. Minulla oli muutama miljoona junan GPS-pistettä paikallisessa tietokannassani ja olin jo luonut animaatioita, joissa pisteet vain liikkuvat. Halusin kuitenkin testata, miltä voronoin viivoilla varustettu animaatio näyttäisi.

ensinnäkin koska minulla oli useita GPS-pisteitä jokaiselle junalle minuutissa, halusin ryhmitellä ne niin, että minulla olisi yksi edustuspiste jokaista minuuttia kohden junaa kohden. Olin ensin luonut taulukon manuaalisesti tuloksena pistettä. Kirjoitin seuraavan kyselyn

INSERT INTO trains.voronoipoints 
SELECT '2018–01–15 09:00:00' AS t,
geom
FROM (SELECT St_centroid(St_collect(geom)) AS geom,
trainno
FROM (SELECT geom,
trainno
FROM trains.week
WHERE time > '2018–01–15 09:00:00'
AND time < '2018–01–15 09:01:00') AS a
GROUP BY trainno) AS b

jos jarrutamme kyselyn palasina, voimme nähdä seuraavat palapelin palat:

  • voit nähdä joitakin SQL-kyselyn normaaleja elementtejä (aseta, valitse, kuten, mistä, missä, ja, ryhmittele)
  • geom, trainno ja aika ovat sarakenimiä viikkotaulukossani skeemassa nimeltä junat
  • alikenttä a palauttaa kaikki GPS-pisteet, jotka on seurattu pyydetyssä aikataulussa.
  • koska valitsen kaikki yhden minuutin sisällä seuratut GPS-pisteet, saatan saada jokaisesta junasta useita pisteitä. Halusin vain yhden, jotta voronoin rivit näyttäisivät järkevämmiltä. Siksi käytän St_collectia ryhmittelemään pisteet yhteen ja luomaan niistä monipiste-geometrian. ST_Centroid korvaa monipistegeometrian yhdellä pisteellä, joka sijaitsee keskipisteessä (alaluokka b), ja tiedot on ryhmitelty junanumeroiden mukaan.

tehdäkseni saman asian useita kertoja, minulla oli yksinkertainen Python-skripti, joka kelasi saman kyselyn päälle muutaman sata kertaa, jossa minulla oli alku-ja loppuajat parametreina. Löydettyäni onnistuneesti yhden edustavan pisteen jokaiselle minuutille, juoksin juuri seuraavan komennon (11,5 sekunnissa):

SELECT t, ST_VoronoiLines(geom) from trains.voronoipoints

sitten lisäsin tuloksen QGIS: ään ja visualisoin sen Time Managerilla. Tämä saattaa olla hieman hacky tapa saavuttaa tulos ja kokeneempi SQL käyttäjä ehkä tehnyt sen kokonaan yhdellä SQL komento, mutta olen silti melko tyytyväinen tulokseen. Vaikka se voi olla turhaa.

lopulta melko yksinkertainen, mutta tulos näyttää korkeamman tason matematiikalta (ja sitä se onkin!), sillä kaiken kovan työn tekee PostGIS. Myös koska pystyin tekemään Voronoin analyysin vain yhdestä pisteestä junaa kohden, käsittelyaika oli vain sekunteja satojentuhansien pisteiden osalta.

usein kyselyiden käsittelyaika kasvaa eksponentiaalisesti tietomäärien kasvaessa. Siksi kyselyissä pitää olla fiksu.

katsokaa! Tein SQL-meemin!

nyrkkisääntönä on, että mitä enemmän tietoa kyselyllä on haettavana ja mitä enemmän toimintoja tietokannassa on (tilaaminen, ryhmittely jne.), siitä tulee hitaampaa ja siten tehottomampaa. Tehokas SQL-kysely hakee vain rivit ja sarakkeet, joita se todella tarvitsee. SQL voi toimia kuin looginen palapeli, jossa sinun todella täytyy miettiä perusteellisesti, mitä haluat saavuttaa.

täytyy myös todeta, että kyselyiden suorituskyvyn säätäminen on liukkautta ja loputtomien optimointien maailmaan voi eksyä. Tasapainon löytäminen ”optimaalisen kyselyn” ja optimaalisen kyselyn välillä on todella tärkeää. Varsinkin jos et ole rakentamassa sovellusta miljoonalle käyttäjälle, muutama millisekunti siellä täällä ei todennäköisesti keikuta venettäsi.

miten päästä alkuun?

uskallan sanoa, että SQL: n oppiminen on tavalliselle GIS-käyttäjälle jopa hyödyllisempää kuin JavaScriptin, Pythonin tai R. SQL-syntaksissa on tapahtunut vain pieniä muutoksia vuosien varrella ja SQL-taidot ovat erittäin hyvin siirrettävissä.

olen huomannut, että SQL: n oppimiskäyrä ei ole kovin jyrkkä perusasioiden tekemisessä, mutta saattaa kestää jonkin aikaa nähdä, mitä hyötyä siitä voi olla spatiaalianalyysille. Mutta kannustan olemaan kärsivällinen ja kokeilemaan monimutkaisempaa analytiikkaa ja tähtäämään nopeampaan käsittelyyn. Lopulta huomaat eron.

ensin kun opit SQL: n perusteet, opit kyselemään tietoja yhdestä taulukosta käyttäen perustietojen valintatekniikoita, kuten sarakkeiden valintaa, tulosjoukon lajittelua ja rivien suodattamista. Sitten, opit edistyneitä kyselyitä, kuten liittyminen useita taulukoita, käyttämällä asettaa toimintoja, ja rakentaa alikerroksen. Lopuksi opit hallitsemaan tietokantataulukoita, kuten uuden taulukon luomista tai olemassa olevan taulukon rakenteen muokkaamista.

mutta mukana on myös apuvälineitä, jotka auttavat!

QGIS: ssä on loistava työkalu nimeltä DB Manager. Se tarjoaa samanlaisen graafisen käyttöliittymän tietokantaasi, mutta paljon pakatummalla tavalla ja QGIS: n sisällä. Voit muokata ja lisätä taulukoita, lisätä indeksejä ja tehdä suuren osan perustoiminnoista oikein klikattavalla tavalla.

kuvakaappaus QGIS DB Managerilta.

kannattaa tarkistaa myös Pgadmin, joka on PostgreSQL: n suosituin hallinto-ja kehitysalusta. On olemassa useita tapoja saada tietosi PostGIS: iin (esim.ogr2ogr, shp2pgsql). Ylipäätään kannustan kokeilemaan erilaisia työkaluja ja menetelmiä datan hyödyntämiseen.

olen tehnyt muutamia pieniä kokeiluja Pythonin ja Postgiksen yhdistämisessä. Työskentely Pythonin (tai R: n) ja Postgisin kanssa voi todella viedä tietojenkäsittelyn ja automaation seuraavalle tasolle. Pythonin perustason skriptausominaisuuksien yhdistäminen ja PostGIS: n yhdistäminen psycopg2: n avulla ovat hyviä tapoja päästä alkuun.

Tuntuuko sinusta, että haluat aloittaa Postgiksen kanssa?

  1. lataa vain asentajat ja asenna PostGIS paikalliselle koneelle. Noudata tutoriaalien ohjeita;
  2. Lataa sinne joitakin tietoja. Aloita yhdellä Shapefile käyttäen QGIS DB Manager tai chech esimerkiksi tämä opetusohjelma miten saada luonnon maan tietoja PostGIS;
  3. Aloita leikkii noin SQL. Aloita perusasioista (tietojen valinta, suodatus ja muokkaaminen) ja hitaasti näet, millaisia etuja se voisi tuoda työnkulkuusi.

päätelmät

jos työskentelytapasi on tällä hetkellä tehoton, pelkkä työvälineiden vaihtaminen ei paranna lopputulosta tai helpota prosessia. Sinun pitää muuttaa ajattelutapaasi tiedonhallinnasta. On olemassa lukuisia tapoja käyttää tietokantoja tehottomasti. Luota minuun, olen nähnyt niitä ja jopa kokeillut muutamia.

myös asioiden muuttaminen vain muutoksen vuoksi, ei ole järkevää. Jos päivittäinen työ on vain muutaman pisteen piirtämistä kartalla silloin tällöin, voit tehdä sen hyvin Shapefiles-ja csv-tiedostoilla myös tulevaisuudessa. Se voisi olla jopa tehokkaampaa.

mutta.

jos haluat tehdä vakavaa spataalista Analytiikkaa, automatisoida prosessejasi tai jollain tavalla siirtää spataalista dataa seuraavalle tasolle, suosittelen lämpimästi tutustumaan PostGIS: ään ja erityisesti spatial SQL: ään. SQL: n oppiminen voi olla myös hauskaa. Vakavasti.

viimeinen mutta ehdottomasti ei vähäisin. Kuten Tom huomautti: käyttämällä PostGIS antaa sinulle geohipster cred!

minulla oli New Yorkin bikeshare-tiedot alku-ja loppupisteineen. Graphhopper I laski optimaaliset reitit alkuperän ja määränpään välillä, latasin tuhansia tuloksena GPX tiedostoja PostGIS kanssa ogr2ogr. PostGIS: ssä loin rivejä pisteistä ja visualisoin datan QGIS: llä.

mainitsin vain lyhyesti, että PostGIS on avointa lähdekoodia ja vapaasti saatavilla. Tämä tarkoittaa sitä, että ihmisillä, jotka työskentelevät pienellä tai olemattomalla budjetilla (kuten minä), ei ole estettä päästä sisään. Kaupalliset paikkatietokannat voivat olla valtavan kalliita. Iso kiitos kuuluu kaikille projektin parissa työskenteleville aktiivisille kehittäjille!

Kiitos lukemisesta! Tarkista sivustoni lisätietoja minusta tai heittää minulle kommentti Twitterissä.

Haluatko oppia lisää? Lähteet tähän blogikirjoitukseen ja edelleen Postgisin lukemiseen

RTFD. PostGIS-dokumentaatio on todella hyvä.

PostGIS-guru Paul Ramseylla on sivuillaan

Great materials from Boundless on the introduction to PostGIS useita esityksiä aiheesta eri näkökulmista.

Anita Graser on kirjoittanut loistavan sarjan blogikirjoituksia liikkumistietojen käsittelystä Postgisissa.

Tutustu Regina oben PostGIS-kirjoihin

käytin tätä Bostonin GIS-opetusohjelmaa, kun asensin PostGIS: n paikallisesti

Extra for people doing dataviz: an interesting experiment about storing colors as 3D points in PostGIS

Vastaa

Sähköpostiosoitettasi ei julkaista.