geoco geojson & geolocate

Post on 25-Dec-2014

824 Views

Category:

Education

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Presentation given at Geo-CO meetup in Denver.

TRANSCRIPT

GEO Colorado

GeoJSON & GeoLocate

Key Points

• Introduce GeoJSON

• Talk about GeoJSON Libs and Examples

• Introduce GeoLocate

• Talk about GeoLocate Libs and Examples

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/

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

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

Using GeoJSON with Leaflet

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

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

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);

• 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.

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

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

top related