Download presentation
Presentation is loading. Please wait.
1
Paul Ramsey Build your own MapQuest! Adding Spatial Smarts to PostgreSQL with PostGIS Paul Ramsey Refractions Research
2
Paul Ramsey http://mq- mapgend.websys.aol.com:80/mqma pgend?MQMapGenRequest=FDR2d mwjDE%3byt29%26FDJnci4Jkqj%2c MMCJ%3aHOEvq%3bwy5lab%3a%2 9uaxlw1w%26%40%24%3a%26%4 0%24s%26wzx%26a8x%26ESEKGF %3dTPWIK%2crgqabx%26%3d2llar wh%40%24%3a%26%40%24%3a %26a2%3a
3
Paul Ramsey On-the-Fly Cartography GIS Data Cartography Engine Colorful Picture
4
Paul Ramsey GIS Data File Formats Data Organization Coordinate Projections Data Access Data Quality Don’t Panic
5
Paul Ramsey File Formats At least one per vendor –ESRI : Shape, Coverage, E00, GeoDatabase –CAD : DXF, DGN –Government : SDTS, TIGER, DLG –MapInfo : MIF/MID, TAB –Standards : GML Open source conversion –OGR (gdal.maptools.org/ogr)
6
Paul Ramsey Data Organization By Administrative Unit –Counties, States By Gridding Unit –USGS 24K Quads, NTS Mapsheets By Natural Unit –Watersheds
7
Paul Ramsey Coordinate Projections 1859612,511175 -114.068,49.000 Geographic Longitude / Latitude Albers Equal Area Origin -126,0 Parallels 58.5,50.0 Offsets 1000000,0
8
Paul Ramsey Coordinate Projections United States –UTM (Universal Transverse Mercator) –“Stateplane” Lambert Transverse Mercator –Geographic Always Find Out the Projection of Your Data –.prj file
9
Paul Ramsey Data Access United States –Mostly Free Federal Data www.geodata.gov tiger.census.gov www.fgdc.gov transtats.bts.gov geonames.usgs.gov www.fws.gov/data –Some Free State Data –Little Free County / Municipal Data
10
Paul Ramsey Data Acce$$ Commercial Providers –NavTeq –TeleAtlas ( + GDT ) –MapInfo –DigitalGlobe –SpaceImaging
11
Paul Ramsey Data Quality USGS DLGTIGER Census
12
Paul Ramsey Cartography Engine Proprietary ArcIMS MapExtreme Open Source GeoServer DeeGree UMN Mapserver
13
Paul Ramsey UMN Mapserver mapserver.gis.umn.edu Multiple Format Support –Shape, TAB, Coverage, DGN, PostGIS, More… Multiple Projection Support Standards Support –OpenGIS Web Map Server –OpenGIS Web Feature Server –OpenGIS Styled Layer Descriptor
14
Paul Ramsey UMN Mapserver Format A Projection 1 Format B Projection 1 Format C Projection 2 “Map File” ourmap.map Mapserver
15
Paul Ramsey MAP EXTENT 1192130 379840 1199560 385520 SIZE 400 400 SHAPEPATH "/Users/pramsey/Sites" PROJECTION "init=epsg:42102" # BC Albers END LAYER NAME "Lakes" STATUS ON DATA "lakes" TYPE POLYGON PROJECTION "init=epsg:42102" # Geographic END CLASS NAME "Lakes" COLOR 205 223 255 END
16
Paul Ramsey UMN Mapserver & PostGIS PostGIS / PostgreSQL Spatial Database “Map File” ourmap.map Mapserver
17
Paul Ramsey This is your Database… “Is there a Main Street?” “How many patients does the prenatal center serve?” “How many buildings in the city have more than two stories?” “What is the total amount of cash withdrawals for customer X?”
18
Paul Ramsey This is your Database on Spatial… “What is the total length of Main Street?” “What is the total number of patients within 3 miles of the prenatal center?” “How many buildings of more than 2 stories are along the parade route?” “Have all the cash withdrawals for customer X been within 50 miles of her primary residence?”
19
Paul Ramsey PostGIS / PostgreSQL Extension to PostgreSQL –src/contrib/ GEOMETRY –Point, Line, Polygon, Multi* –Functions –Indexes http://postgis.refractions.net
20
Paul Ramsey PostGIS Types POINT LINESTRING POLYGON MULTIPOINT MULTILINESTRING MULTIPOLYGON GEOMETRYCOLLECTION...
21
Paul Ramsey PostGIS Types id | geometry | name ------+---------------------------+-------------- 1294 | POINT(1199437.8 382509.2) | Brighton Ave 1295 | POINT(1199369.3 382741.7) | York Pl 1296 | POINT(1199494.8 382751) | Prospect Pl
22
Paul Ramsey PostGIS Functions Single Geometry –Float : Length(Geometry) –Float : Area(Geometry) –Integer : NumGeometries(Geometry) –Integer : NumPoints(Geometry) –Geometry : Buffer(Geometry,Float) –Point : PointN(Geometry) –Text : AsText(Geometry) –ByteA : AsBinary(Geometry)
23
Paul Ramsey PostGIS Functions Multiple Geometry –Float : Distance(Geometry,Geometry) –Boolean : Touches(Geometry,Geometry) –Boolean : Intersects(Geometry,Geometry) –Boolean : Disjoint(Geometry,Geometry) –Geometry : Intersection(Geometry,Geometry) –Geometry : GeomUnion(Geometry,Geometry) –Geometry : Difference(Geometry,Geometry)
24
Paul Ramsey PostGIS Indexes Geometries Require Special Index –Sortable in two dimensions –Cover range of values R-Tree Index (GiST Implementation) Linear Time Picksplit Algorithm http://postgis.refractions.net/rtree.pdf
25
Paul Ramsey
27
Get on with it!!
28
Paul Ramsey Our Architecture PostGIS / PostgreSQL Spatial Database Map File ourmap.map Mapserver GIS Data
29
Paul Ramsey Our Steps 1.Install / Setup Mapserver, PostGIS GDAL, OGR, PROJ4, GD 2.Acquire GIS Data 3.Load GIS Data PostGIS 4.Write Map File for Mapserver 5.… 6.Profit!
30
Paul Ramsey Acquire Data For demo, hunted down Oregon data: 1981636 Jul 28 12:02 OR_deci.zip 564501 Jul 28 11:55 county.zip 34729355 Jan 9 2003 hydrogm020.tar.gz 62246216 Jul 28 11:55 gdt.zip 1853534 Jul 28 11:55 railroads.zip 3293501 Jul 28 12:42 s_12my03.zip
31
Paul Ramsey Load Data Load names data with perl script: "OR","4H Camp","locale","Coos",41,011,"431355N", "1235945W",43.23194,-123.99583,"","",,,216,,"","Dora" INSERT INTO names VALUES (1,'OR','4H Camp','locale','Coos', 'SRID=4269;POINT(-123.99583 43.23194)', 216,NULL,'Dora’ );
32
Paul Ramsey Load Shape Files PostGIS includes Shape loader utility: shp2pgsql -s 200000 \ counties.shp counties | psql demo-oregon
33
Paul Ramsey Write Map File Good computer cartography is the artful combination of elements, styles, colors and data at appropriate scales. MapQuest is an example of excellent cartography. So is a National Geographic Atlas of the World.
34
Paul Ramsey LAYER TEMPLATE template.html DUMP TRUE NAME "States" METADATA "wms_title" "States" END STATUS ON DATA "the_geom from states" TYPE POLYGON CONNECTIONTYPE POSTGIS CONNECTION "user=pramsey dbname=demo-oregon" PROJECTION "init=epsg:4269" END CLASSITEM "admin_name" CLASS NAME "States" COLOR 255 255 230 OUTLINECOLOR 20 20 20 EXPRESSION "Oregon" END CLASS NAME "States" COLOR 240 240 240 OUTLINECOLOR 20 20 20 END
35
Paul Ramsey
36
Demonstration iBook G3 800Mhz 128MB –PostGIS / PostgreSQL, Mapserver, Apache Roads States Counties Geographical Names Water Features
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.