GeoCO GeoJSON & GeoLocate


Published on

Presentation given at Geo-CO meetup in Denver.

Published in: Education
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

GeoCO GeoJSON & GeoLocate

  1. 1. GEO ColoradoGeoJSON & GeoLocate
  2. 2. Key Points• Introduce GeoJSON• Talk about GeoJSON Libs and Examples• Introduce GeoLocate• Talk about GeoLocate Libs and Examples
  3. 3. 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.
  4. 4. 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 ) )
  5. 5. PostGIS PostgresSQL 9.2 – New 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
  6. 6. Using GeoJSON with Google Maps• Example:• Library:
  7. 7. Using GeoJSON with Leaflet••
  8. 8. Using GeoJSON with OpenLayers•• geojson = new OpenLayers.Layer.GML("GeoJSON", "geo.json", { projection: new OpenLayers.Projection("EPSG:4326") , format: OpenLayers.Format.GeoJSON});map.addLayer(geojson);
  9. 9. In February of 2002, Dr. Bart and Nelson Rios received funding from the U.S. NationalScience foundation to develop GeoLocate to facilitate georeferencing of naturalhistory collections data, a tool for comprehensive automated georeferencing of NorthAmerican locality descriptions. Ongoing development involves expanding coverage to theentire world, multi-lingual support, user-defined pattern recognition, and collaborativegeoreferencing.• 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:• Ref:
  10. 10. Example Strings Good vs Bad • County LocalityAlabama 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 10Alabama Lee Uchee Cr., trib.of Chattahoochee R., 0.7 mi. E of MarvynAlabama Russell Trib. of Uchee Cr., 3.1 mi. E of MarvynAlabama Russell Trib. of Little Uchee Cr., 0.9 mi. E of Crawford on Rt.80 • Guide to Best Practices for Georeferencing
  11. 11. Sample RequestRequest• 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
  12. 12. GeoJSON Libs for Google & LeafletProject Repository•• Google Map Example:• Leaflet Example: