Jody Garnett
Boundless
Projects
Welcome
2
Jody Garnett
Senior Software Engineer
jgarnett@boundlessgeo.com
@jodygarnett
Open Source Geospatial Foundation
O...
3
Loca%onTech
LocationTech
“Loca&onTech	
  is	
  a	
  working	
  group	
  developing	
  
advanced	
  loca&on	
  aware	
  technologies.”
4
5
Members
Strategic
Participating
Guest
Full Service Foundation
Forge
&
Build
IP
mgmt
Dev
Process
Licensing
Model
Community
Member
Network
Governance
Run by:
Foll...
7
Infrastructure
Working Groups
Advanced Geospatial Software
Internet of ThingsLong Term Support Embedded Systems
Vendor neutral
collaborat...
0. Deny
1. Use
2. Contribute
3. Champion
4. Collaborate
5. Redefine
Value
Time
Developer driven Business driven
★Widesprea...
Contact
info@locationtech.org
@locationtech
We are growing fast & need
your ideas & participation
http://locationtech.org
...
11
Events
www.loca%onintelligence.net
Location Intelligence Summit 2014
May	
  19-­‐21,	
  Washington	
  DC	
  Conven6on	
  Center
M...
6 cities
By the numbers
★ 723 registrations
★ 640+ attendees
★ 56 speakers
★ Videos on YouTube
★ Positive feedback
13
Tour...
3 continents
http://tour.locationtech.org
★ Planning about to begin.
★ Sponsorship:
$2K members
$4.5K non-members
14
Tour ...
15
Visit http://georabble.org for fun local events! (Pun intended)
GeoRabble All Stars
Allied with Locate 14 Canberra (Mon...
Libraries
16
JTS	
  Topology	
  Suite
• This	
  is	
  the	
  “Rocket	
  Science”	
  of	
  GIS
• Implementa%on	
  of	
  Geometry
• OGC	
...
Key to Open Source Spatial
18
Project Environment
JTS Topology Suite Java JVM Languages
GEOS C/C++
Net Topology Suite C#
J...
Geometry Example
20
GeoTools Example: http://docs.geotools.org/latest/userguide/library/jts/geometry.html
GeometryFactory ...
WKT Example
21
GeoTools Example: http://docs.geotools.org/latest/userguide/library/jts/geometry.html
GeometryFactory geome...
Buffer Example
22
GeoTools Example: http://docs.geotools.org/latest/userguide/library/jts/geometry.html
GeometryFactory ge...
Geometry Model
23
JTS TestBuilder Demo
Transform Example
25
GeoTools Example: http://docs.geotools.org/latest/userguide/library/referencing/crs.html
CoordinateRe...
Mobile	
  Map	
  Tools
• SDK	
  For	
  na%ve	
  mobile	
  applica%ons.
• Supports:
• Mobile	
  maps	
  in	
  2D,	
  2.5D	
...
GeoMesa
• Key/value	
  store
• Supports:	
  
• Distributed	
  &	
  highly	
  scalable
• Based	
  on	
  Accumulo
• License
...
Spa%al4j
• Adds	
  “Geometry	
  on	
  Curve”	
  to	
  JTS
• Supports:
• Geometry	
  on	
  a	
  Spherical
• Geometry	
  on	...
A romance in many dimensions
29
Shape Euclidean Cylindrical Spherical
Point Y Y Y
Rectangle Y Y Y
Circle Y Y
LineString Y
...
Distance Example
30
SpatialContext ctx = SpatialContext.GEO;
Circle sydney = ctx.makeCircle(151.3,33.9, 0.3);
Point perth ...
31
Processing
GeoTrellis
• Real-­‐%me	
  distributed	
  processing
• Supports:	
  
• Low	
  latency	
  &	
  Distributed
• Highly	
  scal...
GeoTrellis Chattanooga Demo
33
http://demo.geotrellis.com/chatta/
Spa%alHadoop
• Batch	
  processing
• MapReduce	
  framework	
  for	
  efficient	
  processing	
  
of	
  spa%al	
  opera%ons
...
Applica%ons
35
GEOFF
• Geo	
  Fast	
  Forward
• Embed	
  Simple	
  Maps	
  in	
  Eclipse	
  RCP
• Querying	
  a	
  geocoding	
  service
•...
GeoGit
• Distributed	
  data	
  store
• Supports:	
  
• Distributed,	
  off-­‐line	
  opera%on
• Versioning,	
  compare	
  ...
GeoGit	
  Story/Demo
38
GeoScript
• Adds	
  spa%al	
  capabili%es	
  to	
  dynamic
scrip%ng	
  languages.
• Supports:
• Groovy,	
  JavaScript,	
  ...
JavaScript
40
>> var geom = require("geoscript/geom");
>> var p = new geom.Point([-111.0, 45.7]);
>> p
<Point [-111, 45.7]...
Python
41
>>> from geoscript import geom
>>> p = geom.Point(-111.0, 45.7)
>>> p
POINT(-111 45.7)
>>> from geoscript import...
Scala
42
scala> import org.geoscript.geometry._
scala> import org.geoscript.projection._
scala> val p = Point(-110, 45.7) ...
Groovy
43
groovy:000> import geoscript.geom.*
groovy:000> import geoscript.proj.Projection
groovy:000> p = new Point(-111,...
uDig
• User-­‐friendly	
  Desktop	
  Internet	
  GIS
• Supports:	
  
• Desktop	
  GIS
• Based	
  on	
  Eclipse	
  RCP
• Re...
45
Quick uDig Demo
46
Eclipse Foundation
47
204 Members and growing.
48
Eclipse Foundation Members
Predictable Release Schedule
• Dozens	
  of	
  projects,	
  millions	
  of	
  lines	
  of	
  code	
  
releasing	
  each	
 ...
EGit Project CDT Project
WTP Project Linux Tools Project
(Percentage of contributions for each project)
50
Industry Collab...
LocationTech Projects
Upcoming SlideShare
Loading in...5
×

LocationTech Projects

1,096

Published on

LocationTech presentation from Eclipse Developers Day Sydney.

Libraries:
* JTS
* Mobile Map Tools
* GeoMesa
* Spatial4j

Processing:
* GeoTrellis
* SpatialHadopp / GeoJinni

Applications:
* GEOFF
* GeoGit
* GeoScript
* uDig

Thanks to Eclipse and Acuate for sponsoring the event.

Published in: Software, Technology, Education
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,096
On Slideshare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
8
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

LocationTech Projects

  1. 1. Jody Garnett Boundless Projects
  2. 2. Welcome 2 Jody Garnett Senior Software Engineer jgarnett@boundlessgeo.com @jodygarnett Open Source Geospatial Foundation OSGeo Incubation Chair GeoTools Project Officer Eclipse Foundation LocationTech Project Steering Committee LocationTech Technology Project Boundless Boundless provides geospatial tools and services for managing data and building applications. Projects GeoTools GeoServer uDig
  3. 3. 3 Loca%onTech
  4. 4. LocationTech “Loca&onTech  is  a  working  group  developing   advanced  loca&on  aware  technologies.” 4
  5. 5. 5 Members Strategic Participating Guest
  6. 6. Full Service Foundation Forge & Build IP mgmt Dev Process Licensing Model Community Member Network Governance Run by: Follows Eclipse Development Processes & IP Management 6
  7. 7. 7 Infrastructure
  8. 8. Working Groups Advanced Geospatial Software Internet of ThingsLong Term Support Embedded Systems Vendor neutral collaboration: ★265+ projects ★~1100 active devs ★205+ members ★9M+ users ★ Scientific Research 8
  9. 9. 0. Deny 1. Use 2. Contribute 3. Champion 4. Collaborate 5. Redefine Value Time Developer driven Business driven ★Widespread software adoption. ★Vibrant commercial ecosystem. From Bailetti & Carbone 2009 9 Commercialising open source
  10. 10. Contact info@locationtech.org @locationtech We are growing fast & need your ideas & participation http://locationtech.org and click LEARN MORE Andrew Ross andrew.ross@eclipse.org @42aross Contact  Loca%onTech 10
  11. 11. 11 Events
  12. 12. www.loca%onintelligence.net Location Intelligence Summit 2014 May  19-­‐21,  Washington  DC  Conven6on  Center Monday  –  Hands-­‐on  workshops Tuesday  –  Loca6on  Intelligence,  HERE,  and  Loca6onTech  tracks -­‐ “Loca%on  Analy%cs  and  Visual  Data  Discovery  …  New  Pathways  to  Business  Intelligence” -­‐ Sessions  on  BI,  LI,  Indoor  Posi%oning,  Open  Source  Geospa%al,  Big  Data,  Dashboards/Visual  Data  Discovery -­‐ Keynote:  Paul  Donato,  EVP/Research,  Nielsen Wednesday  –  Oracle  Spa6al  Summit -­‐ 3  technical  training  tracks  led  by  Oracle  experts:    raster,  LIDAR,  geocoding,  rou%ng -­‐ Performance  benchmarks,  Cer%fica%on  exam  prepara%on -­‐ Customer  sessions:    BI,  land  management,  LI  in  public  sector  &  retail;  SIG  User  Group
  13. 13. 6 cities By the numbers ★ 723 registrations ★ 640+ attendees ★ 56 speakers ★ Videos on YouTube ★ Positive feedback 13 Tour 2013
  14. 14. 3 continents http://tour.locationtech.org ★ Planning about to begin. ★ Sponsorship: $2K members $4.5K non-members 14 Tour 2014
  15. 15. 15 Visit http://georabble.org for fun local events! (Pun intended) GeoRabble All Stars Allied with Locate 14 Canberra (Monday 7 April) ★Pia Waugh – Open Data Ninja ★Julian Carver – Land Information New Zealand ★Denise McKenzie – Open Geospatial Consortium ★Mike Bradford – Landgate WA ★Jody Garnett – Boundless ★Chris Tucker – Mapstory Thanks to Sponsors LocationTech and Boundless
  16. 16. Libraries 16
  17. 17. JTS  Topology  Suite • This  is  the  “Rocket  Science”  of  GIS • Implementa%on  of  Geometry • OGC  Standard:  Simple  Features  for  SQL   • Vivid  Solu%ons • Mar%n  Davis  (Project  Lead) • License: • Eclipse  Distribu%on  License  <-­‐-­‐  BSD! • Eclipse  Public  License 17 Incoming!
  18. 18. Key to Open Source Spatial 18 Project Environment JTS Topology Suite Java JVM Languages GEOS C/C++ Net Topology Suite C# JSTS JavaScript (Partial Port) Shapely Python (via GEOS) RGeo Ruby (via GEOS) r-GEOS R (via GEOS)
  19. 19. Geometry Example 20 GeoTools Example: http://docs.geotools.org/latest/userguide/library/jts/geometry.html GeometryFactory geometryFactory = JTSFactoryFinder.getGeometryFactory(); Coordinate coord = new Coordinate(1, 1); Point point = geometryFactory.createPoint(coord);
  20. 20. WKT Example 21 GeoTools Example: http://docs.geotools.org/latest/userguide/library/jts/geometry.html GeometryFactory geometryFactory = JTSFactoryFinder.getGeometryFactory(); WKTReader reader = new WKTReader(geometryFactory); Point point = (Point) reader.read("POINT (1 1)");
  21. 21. Buffer Example 22 GeoTools Example: http://docs.geotools.org/latest/userguide/library/jts/geometry.html GeometryFactory geometryFactory = JTSFactoryFinder.getGeometryFactory( null ); WKTReader reader = new WKTReader( geometryFactory ); LineString line = (LineString) reader.read("LINESTRING(0 2, 2 0, 8 6)"); Geometry buffer = line.buffer( 0.75 );
  22. 22. Geometry Model 23
  23. 23. JTS TestBuilder Demo
  24. 24. Transform Example 25 GeoTools Example: http://docs.geotools.org/latest/userguide/library/referencing/crs.html CoordinateReferenceSystem wgs84 = CRS.decode("EPSG:4326"); CoordinateReferenceSystem google = CRS.decode("EPSG:3857"); MathTransform transform = CRS.findMathTransform(wgs84, google, false); Geometry target = JTS.transform( geometry, transform );
  25. 25. Mobile  Map  Tools • SDK  For  na%ve  mobile  applica%ons. • Supports: • Mobile  maps  in  2D,  2.5D  and  3D • Works  on  iOS,  Android,  webGL • Built  using  C++  and  translated  to  Java  and  JavaScript • License:  Eclipse  Distribu%on  License  1.0  (BSD) 26 Incoming!
  26. 26. GeoMesa • Key/value  store • Supports:   • Distributed  &  highly  scalable • Based  on  Accumulo • License • Apache  License,  Version  2.0 27 Approved!
  27. 27. Spa%al4j • Adds  “Geometry  on  Curve”  to  JTS • Supports: • Geometry  on  a  Spherical • Geometry  on  a  Cylinder • Euclidean  (via  JTS) • Great  Circle  Distance  Calculators • License:  Apache  License,  Version  2.0 28 Incoming
  28. 28. A romance in many dimensions 29 Shape Euclidean Cylindrical Spherical Point Y Y Y Rectangle Y Y Y Circle Y Y LineString Y Buffered L/S Y Polygon Y Y ShapeCollection Y Y Y
  29. 29. Distance Example 30 SpatialContext ctx = SpatialContext.GEO; Circle sydney = ctx.makeCircle(151.3,33.9, 0.3); Point perth = ctx.makePoint(115.8,32.9); double distance = ctx.calcDistance(sydney.getCenter(), perth); double km = DistanceUtils.degrees2Dist( distance, DistanceUtils.EARTH_MEAN_RADIUS_KM)
  30. 30. 31 Processing
  31. 31. GeoTrellis • Real-­‐%me  distributed  processing • Supports:   • Low  latency  &  Distributed • Highly  scalable • Based  on  Scala,  Akka,  &  Spark • License:  Apache  License,  Version  2.0 32 Approved!
  32. 32. GeoTrellis Chattanooga Demo 33 http://demo.geotrellis.com/chatta/
  33. 33. Spa%alHadoop • Batch  processing • MapReduce  framework  for  efficient  processing   of  spa%al  opera%ons • Supports:   • Spa%al  data  types  &  indexing • Based  on  Hadoop • Highly  scalable • NOTE:  renaming  to  GeoJinni • License:  Apache  License,  Version  2.0 34 Incoming!
  34. 34. Applica%ons 35
  35. 35. GEOFF • Geo  Fast  Forward • Embed  Simple  Maps  in  Eclipse  RCP • Querying  a  geocoding  service • Use  OpenLayers  3.0  as  a  resource  bundle • SWT  Component  wrapping  embedded  browser • Fluent  API  so  you  do  not  have  to  know  EMF • License:  Eclipse  Public  License  1.0 36 Approved!
  36. 36. GeoGit • Distributed  data  store • Supports:   • Distributed,  off-­‐line  opera%on • Versioning,  compare  &  merge • Push/pull  data • License:  BSD  License 37 Incoming Project! Incoming!
  37. 37. GeoGit  Story/Demo 38
  38. 38. GeoScript • Adds  spa%al  capabili%es  to  dynamic scrip%ng  languages. • Supports: • Groovy,  JavaScript,  Python,  and  Scala • Backed  by  the  GeoTools  library • geometry,  data  access  and  rendering • Use  stand-­‐alone  or  embedded • License:  MIT  License 39 Approved!
  39. 39. JavaScript 40 >> var geom = require("geoscript/geom"); >> var p = new geom.Point([-111.0, 45.7]); >> p <Point [-111, 45.7]> >> var proj = require("geoscript/proj"); >> var p2 = proj.transform(p, "epsg:4326", "epsg:26912"); >> p2 <Point [500000, 5060716.31816507]> >> var poly = p2.buffer(100); >> poly.area 31214.451522458345
  40. 40. Python 41 >>> from geoscript import geom >>> p = geom.Point(-111.0, 45.7) >>> p POINT(-111 45.7) >>> from geoscript import proj >>> p2 = proj.transform(p, 'epsg:4326', 'epsg:26912') >>> p2 POINT (499999.42501775385 5060716.092032814) >>> poly = p2.buffer(100) >>> poly.getArea() 31214.45152247697
  41. 41. Scala 42 scala> import org.geoscript.geometry._ scala> import org.geoscript.projection._ scala> val p = Point(-110, 45.7) in Projection("EPSG:4326") p: org.geoscript.geometry.Point = POINT (-110 45.7) scala> val p2 = p in Projection("EPSG:26912") p2: org.geoscript.geometry.Point = POINT (-370416.94184711506 -7935053.5498699695) scala> p2.buffer(100).area res0: Double = 31214.451522477902
  42. 42. Groovy 43 groovy:000> import geoscript.geom.* groovy:000> import geoscript.proj.Projection groovy:000> p = new Point(-111, 45.7) ===> POINT (-111 45.7) groovy:000> p2 = Projection.transform(p, 'epsg:4326', 'epsg: 26912') ===> POINT (499999.42501775385, 5060716.092032814) groovy:000> poly = p2.buffer(100) groovy:000> poly.area ===> 31214.451522477902
  43. 43. uDig • User-­‐friendly  Desktop  Internet  GIS • Supports:   • Desktop  GIS • Based  on  Eclipse  RCP • Reusable  components  for  RCP  Developers • Supports  industry  standard  formats  and  services • e.g.  WMS,  WFS,  etc. • License: • Eclipse  Distribu%on  License • Eclipse  Public  License 44 Approved!
  44. 44. 45
  45. 45. Quick uDig Demo 46
  46. 46. Eclipse Foundation 47
  47. 47. 204 Members and growing. 48 Eclipse Foundation Members
  48. 48. Predictable Release Schedule • Dozens  of  projects,  millions  of  lines  of  code   releasing  each  year  on  %me  to  the  day  for  9   years  straight. • 265+  open  source  projects  and  growing. 49 Eclipse 3.0 Eclipse 3.1 Casllisto Europa Ganymede Galileo Helios Indigo Juno Kepler Luna 17 18 24 33 46 55 58 3 7 10 21 23 33 39 62 71 71 76 Projects Million LOC
  49. 49. EGit Project CDT Project WTP Project Linux Tools Project (Percentage of contributions for each project) 50 Industry Collaboration
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×