sql >> Database >  >> RDS >> PostgreSQL

PostGIS in actie

Ik betwijfel of veel mensen je precies kunnen vertellen wanneer ze voor het eerst een kaart lazen. De mijne was echter memorabel. Rond de derde klas doorliep ik voor het eerst de gebruikelijke reeks gestandaardiseerde tests, waaronder kaartlezen. Ik deed het behoorlijk slecht, wat vreemd was omdat het de enige sectie was die ik zo bombardeerde. Bezorgd dat ik misschien een of ander leerprobleem had met betrekking tot ruimtelijke gegevens of visualisatie, ondervroeg een begeleidingsadviseur die mijn scores beoordeelde me over dat gedeelte en wat ik ervan vond. Ik vertelde haar dat ik het best netjes vond en dat ik ernaar uitkeek om op een dag over deze 'kaarten' te leren. Het bleek dat ik door een schoolwisseling en verschillen in klassenvolgorde tussen scholen er nog nooit een had gekregen voor het examen. Voor iemand die tijdens de test moest afleiden wat de symbolen betekenden, zagen mijn scores er ineens niet slecht uit.

Het is gemakkelijk om je een volledig gedesoriënteerde nieuwkomer op het gebied van ruimtelijke informatie te voelen wanneer je probeert te leren hoe je PostGIS moet gebruiken, de populaire PostgreSQL-extensie die ondersteuning toevoegt voor allerlei soorten kaartgerelateerde functies. Geografische informatiesystemen (GIS) zijn gevuld met hun eigen speciale terminologie en technieken. Om door dit doolhof te navigeren (letterlijk soms!), hebben Regina Obe en Leo Hsu onlangs PostGIS In Action uitgebracht, maar liefst 492 pagina's met niets anders dan informatie over dit gespecialiseerde onderwerp.

Het boek wil een uitgebreid hulpmiddel zijn voor drie groepen:GIS-beoefenaars, databasebeoefenaars en wetenschappers/onderzoekers/etc. Voor zover dat mogelijk is, probeert het materiaal in het boek vanuit elk van deze perspectieven te schrijven. Je krijgt dus een introductie tot GIS-terminologie, een introductie tot SQL en een introductie tot het installeren van de software en het in elkaar passen van alles. Niet elke sectie zal nuttig zijn voor elk type lezer, maar er zijn genoeg handige tips verspreid over elke sectie die je misschien een handige truc kunt oppikken, zelfs op materiaal dat je al goed kent. In het gedeelte over het afstemmen van prestaties waar ik voornamelijk doorheen ben gelopen, heb ik bijvoorbeeld een aantal nuttige vensterfuncties en ideeën voor Common Table Expression opgepikt, die zelfs nuttig zijn buiten de GIS-context.

Ik vind het leuk om te beginnen met werken met nieuwe technologie door een realistisch project te kiezen en te kijken hoe ver ik ermee kan komen. Ik had dit al eens eerder geprobeerd met PostGIS, ongeveer een jaar geleden, en faalde jammerlijk. Het project omvat een lange lijst met adressen die ik in ruimtelijke gegevens wilde omzetten en vervolgens wilde analyseren met behulp van ruimtelijke zoekopdrachten. Het proces om adressen om te zetten in coördinaten, geocodering genoemd, kan voor de VS worden gedaan met behulp van een openbare dataset met de naam TIGER. Tijdens die eerdere poging kon ik er geen idee van krijgen welke versies van elk onderdeel ik nodig had om dat werkend te krijgen, en gaf het op. Het doorlezen van dat gedeelte van PostGIS In Action , Ik voelde me iets beter. Het was niet dat ik in de war was over de complexiteit - het is echt zo moeilijk om erachter te komen! Citaat uit het boek:

Dit soort dingen is waar het boek op zijn best is. Advies over welke versies van welke software samenwerken, en helperscripts die uniek zijn voor het boek om te helpen bij sommige van de gecompliceerde delen, kunnen u dagen van frustrerend werk overslaan.

Het boek is voornamelijk gericht op PostgreSQL 8.4 en 9.0, maar er is materiaal dat teruggaat tot 8.2 en enkele previews van komende functies in 9.1. Hoewel de serverkant van de behandelde tools de meest voorkomende PostgreSQL-besturingssystemen (Windows/Linux/Mac OS X) omvat, is het duidelijk dat Windows het voorkeursplatform is voor veel van de client-GIS-tools. Het is dan ook geen verrassing dat de aanbevelingen voor PostgreSQL gericht zijn op het gebruik van installatieprogramma's met één klik, in plaats van te diep te worden meegesleurd in de trivia van het bouwen en installeren van software.

Maar wat PostGIS in actie op veel plaatsen verwijst naar webbronnen voor dingen die het overslaat, wat lovenswaardig is. Zelfs een boek van deze lengte kan niet alles over elk mogelijk beschikbaar platform behandelen, en een auteur laten wijzen op de beste beschikbare artikelen is een handige manier om het bereik te vergroten. Van de secties waar ik genoeg over weet om commentaar op te geven, waren de aanbevolen aanvullende lectuur vaak artikelen die ik al had gelezen en nuttig vond. De belangrijkste die ontbrak was dat de ietwat dunne dekking van nuttige postgresql.conf instellingen om de prestaties te verbeteren, hadden een link naar de pagina Tuning Your PostgreSQL Server kunnen gebruiken, die een deel van hetzelfde materiaal in meer detail behandelt. Die wiki is echter een van de belangrijkste aanvullende bronnen die aan het einde worden voorgesteld.

Met alle gespecialiseerde terminologie en meerdere vaardigheden die nodig zijn om door dit materiaal te werken, is het een uitdaging om de juiste volgorde te vinden om dit boek te lezen. De dingen in de beste volgorde plaatsen om de stof te leren, is het gebied dat volgens mij het meest verbeterd kan worden in een toekomstige editie van deze titel. Om een ​​triviaal voorbeeld te kiezen, maar een voorbeeld dat kenmerkend is voor wat ik op meerdere plaatsen zag, was de volgorde van de dingen in het hoofdstuk "SQL-primer" nogal vreemd. In de eerste sectie wordt beschreven hoe u het information_schema gebruikt om door kolommetagegevens te navigeren. Ik heb geen idee hoe dat gedeelte helemaal aan het begin is geëindigd, voordat ik zelfs maar heb besproken wat SELECT betekent. In een paar van deze gevallen die ik heb gezien, is de benodigde informatie er allemaal, je hoeft het alleen in een andere volgorde te lezen dan het wordt gepresenteerd. Lezers vinden het misschien de moeite waard om het hele hoofdstuk door te nemen om een ​​idee te krijgen hoe het verloopt als dingen niet gemakkelijk in elkaar lijken te passen. Wees niet bang om wat informatie over te slaan als het lijkt alsof de informatie die je nodig hebt in andere secties beter wordt behandeld.

Mijn eerste passage door PostGIS In Action liet me veel meer op mijn gemak met het grote beeld van hoe applicaties die met deze tools zijn gebouwd, in elkaar passen. En ik verwacht ernaar terug te zullen verwijzen voor zowel de introductie tot specifieke programma's als de bruikbare voorbeeldcode. Proberen een volledige referentie te zijn voor alle doelen waarop deze titel zich richt, is echter erg moeilijk.

GIS-beoefenaars en wetenschappers die nog niet veel ervaring hebben met SQL en/of databases, zullen waarschijnlijk de meeste aanvullende informatie nodig hebben naast wat dit boek behandelt, om volledig functionele PostGIS-gebruikers te worden. Maar intro's voor SQL zijn gemakkelijk te vinden; discussies over GIS gericht op de databasebeoefenaar, waar ik naar op zoek was, zijn zeldzaam. Tot nu toe heb ik de meeste tijd besteed aan de introductie van terminologie in de eerste twee hoofdstukken, plus de TIGER-gebruiksinformatie die ik noemde. En ik heb nu al zin in mijn exemplaar van PostGIS In Action was een waardevolle aankoop. Het is geweldig om eindelijk een volledig boek te hebben over deze zeer belangrijke op PostgreSQL gebaseerde technologie.


  1. Procedure:trigger maken voor automatische update gewijzigde datum met SQL Server 2008

  2. NOT IN in postgresql werkt niet

  3. Hoe het kolomgegevenstype in de SQL-database te wijzigen zonder gegevens te verliezen

  4. Postgres:FOUT:plan in cache mag het resultaattype niet wijzigen