12
GEO Colorado GeoJSON & GeoLocate

GeoCO GeoJSON & GeoLocate

Embed Size (px)

DESCRIPTION

Presentation given at Geo-CO meetup in Denver.

Citation preview

Page 1: GeoCO GeoJSON & GeoLocate

GEO Colorado

GeoJSON & GeoLocate

Page 2: GeoCO GeoJSON & GeoLocate

Key Points

• Introduce GeoJSON

• Talk about GeoJSON Libs and Examples

• Introduce GeoLocate

• Talk about GeoLocate Libs and Examples

Page 3: GeoCO GeoJSON & GeoLocate

GeoJSON

• A format for encoding a variety of geographic data

structures.

• A GeoJSON object may represent a geometry, a

feature, or a collection of features.

• GeoJSON supports the following geometry types:

Point, LineString, Polygon, MultiPoint,

MultiLineString, MultiPolygon, and

GeometryCollection.

• Features in GeoJSON contain a geometry object and

additional properties, and a feature collection

represents a list of features.

http://www.geojson.org/

Page 4: GeoCO GeoJSON & GeoLocate

PostGIS

• Since version 1.3.4

Getting Data Out

• SELECT ST_AsGeoJSON(the_geom) FROM table

Putting Data In

• INSERT INTO table (the_geom)

VALUES ( ST_SetSRID(

ST_GeomFromGeoJSON('{"type":"Point","coordinates":[-104.983718,39.760808]}')

,4326

)

)

http://postgis.refractions.net/documentation/manual-2.0/ST_GeomFromGeoJSON.html

http://postgis.refractions.net/documentation/manual-2.0/ST_AsGeoJSON.html

Page 5: GeoCO GeoJSON & GeoLocate

PostGIS

PostgresSQL 9.2 – New JSON Datatype

• http://wiki.postgresql.org/wiki/What%27s_new_in_PostgreSQL_9.2#JSON_datatype

FeatureCollection

• SELECT row_to_json(fc)

FROM ( SELECT 'FeatureCollection' As type, array_to_json(array_agg(f)) As features

FROM (SELECT 'Feature' As type

, ST_AsGeoJSON(lg.the_geom)::json As geometry

, row_to_json((SELECT l FROM (SELECT id, name) As l )) As properties

FROM locations As lg ) As f ) As fc;

Currently CartoDB is on version PostgreSQL 9.1.2 but they do support GeoJSON output format.

See http://developers.cartodb.com/documentation/cartodb-apis.html

http://www.postgresonline.com/journal/archives/267-Creating-GeoJSON-Feature-Collections-with-JSON-

and-PostGIS-functions.html

Page 7: GeoCO GeoJSON & GeoLocate

Using GeoJSON with Leaflet

• http://leaflet.cloudmade.com/examples/geojson.html

• http://leaflet.cloudmade.com/reference.html#geojson

Page 8: GeoCO GeoJSON & GeoLocate

Using GeoJSON with OpenLayers

• http://docs.openlayers.org/library/spherical_mercator.html

• http://openlayers.org/dev/examples/vector-formats.html

var geojson = new OpenLayers.Layer.GML("GeoJSON", "geo.json", {

projection: new OpenLayers.Projection("EPSG:4326")

, format: OpenLayers.Format.GeoJSON

});

map.addLayer(geojson);

Page 9: GeoCO GeoJSON & GeoLocate

• Developed by Tulane University

• Uses gazetteers, streams, rivers, roads, landmarks, geonames data

set

• Open Street Maps data coming in the near future

• Uses GeoJSON for its RESTful responses

• API: http://www.museum.tulane.edu/webservices/geolocatesvcv2/glcwrap.aspx

• Ref: http://www.museum.tulane.edu/webservices/geolocatesvc/geolocatesvc.asmx

http://www.museum.tulane.edu/geolocate/

In February of 2002, Dr. Bart and Nelson Rios received funding from the U.S. National

Science foundation to develop GeoLocate to facilitate georeferencing of natural

history collections data, a tool for comprehensive automated georeferencing of North

American locality descriptions. Ongoing development involves expanding coverage to the

entire world, multi-lingual support, user-defined pattern recognition, and collaborative

georeferencing.

Page 10: GeoCO GeoJSON & GeoLocate

Example Strings

Good vs Bad

• http://mvz.berkeley.edu/Locality_Field_Recording_examples.html

• Guide to Best Practices for Georeferencing

http://www.gbif.org/orc/?doc_id=1288

State County Locality

Alabama Russell Adams Branch, 3.0 road miles WSW junction County Highway 32 and Rt. 80 on 32, 4.75 air miles WSW Crawford, (T17N, R28E, Sec. 32)

Louisiana East Feliciana Amite R. at LA 10 crossing, 4 mi. W of Darlington on LA Hwy 10

Alabama Lee Uchee Cr., trib.of Chattahoochee R., 0.7 mi. E of Marvyn

Alabama Russell Trib. of Uchee Cr., 3.1 mi. E of Marvyn

Alabama Russell Trib. of Little Uchee Cr., 0.9 mi. E of Crawford on Rt.80

Page 11: GeoCO GeoJSON & GeoLocate

Sample Request

Request

• http://www.museum.tulane.edu/webservices/geolocatesvcv2/glcwrap.aspx?locality=E shore of

Bolinas Lagoon, 3.1 mi NW via Hwy. 1 from intersection of Hwy. 1 and Calle del Arroyo in Stinson

Beach (town), Marin Co.,

Calif.&country=USA&state=CA&county=marin&language=0&enableH2O=true&enableHwy=true&r

estrictToLowestAdm=false&enableUncert=true&doPoly=true&displacePoly=false&fmt=geojson

o locality=E shore of Bolinas Lagoon, 3.1 mi NW via Hwy. 1 from intersection of Hwy. 1 and Calle del Arroyo in

Stinson Beach (town), Marin Co., Calif.

o country=USA

o state=CA

o county=marin

o language=0

o enableH2O=true

o enableHwy=true

o restrictToLowestAdm=false

o enableUncert=true

o doPoly=true

o displacePoly=false

o fmt=geojson