Java Tech & Tools | Mapping, GIS and Geolocating Data in Java | Joachim Van der Auwera
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Java Tech & Tools | Mapping, GIS and Geolocating Data in Java | Joachim Van der Auwera

  • 4,269 views
Uploaded on

2011-11-02 | 03:45 PM - 04:35 PM...

2011-11-02 | 03:45 PM - 04:35 PM
Introduction to mapping, geographic information systems and geolocalization. After covering basics like layers and projections, data formats and standards we will look at open source tools and Java libraries which can help you to build working solutions.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
4,269
On Slideshare
4,243
From Embeds
26
Number of Embeds
2

Actions

Shares
Downloads
88
Comments
0
Likes
1

Embeds 26

http://lanyrd.com 23
https://twitter.com 3

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Mapping, GIS and Geolocating data in Java Using open source software Joachim Van der Auwera / Geosparc nv
  • 2.
      AGENDA
      • GIS basics
      • 3. Data and data formats
      • 4. Database options
      • 5. Java libraries
      • 6. Java servers and frameworks
    • 7.
        GIS basics
        • Maps, layers, tiles and features
        • Geometries
        • 8. Spatial operations and queries
        • 9. Projections and Coordinate Reference Systems
        • Location?
      • 10.
          Layers
        • 14.
            Tiles
          • 20.
              Features
              • Represents a real-world phenomenon
              • 21. Has geometry, linking to location on earth
              • 22. Has attributes, e.g. “maximum depth” for a lake
            • 23.
                Geometry
                • Point, multi-
                • 24. Linestring, multi-
                • 25. Linear ring, multi-
                • 26. Polygon, multi-
                • Usually only one type per layer
                • Constraints on allowed shapes
              • 27.
                  Spatial queries
                  • Distance, buffers, joins, intersections
                  • 28. CQL, ECQL
                • 29.
                    Coordinate Reference Systems
                    • Coordinate notation
                    • 30. Spherical or ellipsoid approximation
                      • Which ellipsoid
                    • Origin: (Meridian, Greenwich)?
                    • 31. Unit: degrees, meters,...
                    • 32. Influence of time
                    • 33. WGS84 : global, used by GPS
                      • (lat,lon) or (lon,lat)
                    • Many local variants
                  • 34.
                      Projections
                      • The world is not flat
                      • 35. But a screen/paper is
                      • 36. Approximate using a sphere
                      • 37. Approximate using an ellipsoid
                      • 38. Some options
                        • Cylindrical
                        • 39. Start from a point (azimuthal)
                        • 40. Conical
                    • 41.
                        Projections, always a compromise
                      • 50.
                          Waterman to the rescue?
                        • 51.
                            Coordinate Reference Systems
                            • EPSG database
                              • http://www.epsg-registry.org/
                              • EPSG:4326 is WGS84
                              • EPSG:3857 is Mercator
                              • 52. Google Mercator (originally 900913, then 3785, now gone?)
                            • Duplicates
                              • EPSG:4326 (lat-lon or lon-lat)
                              • urn:x-ogc:def:crs:EPSG:6.11.2:4326
                              • 53. WG:84
                          • 54.
                              CRS, SRS, SRID
                              • Coordinate Reference System (CRS)
                              • 55. often expressed as Well Known Text (WKT)
                              • 56. SRS, Spatial Reference Code
                                • EPSG:54019
                              • SRID, Spatial Reference ID
                            • 59.
                                Projecting raster images?
                                • Aereal images need corrections
                                • 60. Image affected by
                                  • Height of camera
                                  • 61. Projection + location (e.g. Mercator!)
                                  • 62. Angle of photo + height of surface
                              • 63.
                                  Precision
                                  • Precision allows aligning coordinates on a grid
                                    • Can skew results on spatial operations
                                • 64.
                                    CRS transformations
                                    • Transformations can be inaccurate as lines turn into curves
                                  • 65.
                                      Location
                                      • Where am I?
                                        • In browser, HTML5, based on IP, GPS, GSM signal
                                      • Where is …?
                                        • Mostly through geocoder web-services
                                          • Geonames (http://www.geonames.org/)
                                          • Nominatim (http://nominatim.openstreetmap.org/)
                                          • Google API, Mappy, Yahoo! PlaceFinder
                                    • 66.
                                        Data and data formats
                                        • OGC Standards: WMS, WFS, WMST
                                        • 67. Raster formats: GeoTiff, JPEG2000, ...
                                        • 68. Vector formats: GeoJSON, KML, shape, ...
                                        • 69. Free data: OpenStreetMap, Natural Earth, local data
                                      • 70.
                                          Open Geospatial Consortium
                                          • Home to most of the GIS related standards
                                          • http://www.opengeospatial.org/
                                          • 71. WMS, Web Map Service
                                          • 72. WFS, Web Feature Service
                                          • 73. WMTS, Web Map Tile Service
                                          • 74. WKT, Well Known Text
                                          • 75. GML, Geographic Markup Language
                                          • 76. KML, Keyhole Markup Language (Google)
                                          • 77. SLD, Styled Layer Description
                                          • 78. WPS, Web Processing Service
                                          • 79. WCS, Web Coverage Service
                                          • 80. ...
                                        • 81.
                                            Other raster formats
                                          • 93.
                                              Other vector formats
                                              • Shape file (ESRI), very common
                                              • 94. GeoJSON
                                              • 95. TIGER
                                              • 96. DXF (AutoCad)
                                              • 97. SDF (Autodesk, MapGuide)
                                            • 98.
                                                Open / free data
                                                • OpenStreetMap, community built map
                                                  • http://www.openstreetmap.org/
                                                • Natural Earth
                                                  • http://www.naturalearthdata.com/
                                                • Local data
                                              • 99.
                                                  Database options
                                                  • Why a spatial database?
                                                    • Spatial operations
                                                    • 100. OGC “Simple Features for SQL” support
                                                      • … WHERE ST_Intersection(roads.geom, city.geom)
                                                    • Spatial indexes
                                                  • Relational
                                                  • NoSQL
                                                    • Neo4j
                                                    • 102. GeoCouch / CouchDB
                                                • 103.
                                                    PostGIS
                                                    • Spatial PostgreSQL
                                                    • 104. PostgreSQL 8.3+
                                                  project PostGis version 1.5.3 site http://postgis.refractions.net/ license GPL (JDBC driver is BSD)
                                                  • 110.
                                                      GeoDB
                                                      • Spatial H2
                                                      • 111. In-memory DB
                                                        • ideal for junit testing
                                                      • Does not support all methods, but can easily be extended
                                                    project GeoDB version 0.4 site https://github.com/jdeolive/geodb/wiki license BSD-like
                                                    • 112.
                                                        Neo4j
                                                        • NoSQL, graph database
                                                        • geographic features stored as graphs
                                                        • 113. Great OpenStreetMap support (import etc)
                                                        • 114. Not all spatial operations (e.g. buffer)
                                                      project Neo4j spatial version 0.6 site wiki.neo4j.org/content/Neo4j_Spatial license AGPL
                                                      • 115.
                                                          Java Libraries
                                                        • 123.
                                                            JTS
                                                            • JTS Topology Suite
                                                            • 124. Geometric model
                                                            • 125. Geometric operations
                                                            • 126. Spatial structures and algorithms
                                                            • 127. I/O capabilities
                                                              • WKT, WKB, GML
                                                          project JTS version 1.12 site http://tsusiatsoftware.net/jts/main.html license LGPL
                                                          • 128.
                                                              GeoTools
                                                              • GIS tools covering a wide
                                                              • 129. range of topics
                                                            project GeoTools version 2.7.3 site http://www.geotools.org/ license LGPL
                                                            • 130.
                                                                • Many modules
                                                                  • Referencing (CRS, transformations,...)
                                                                  • 131. Filtering (CQL, ECQL)
                                                                  • 132. Rendering
                                                                  • 133. Coverage (raster images in many formats)
                                                                  • 134. Data access (DB, WFS, raster, shape,...)
                                                                • Extensions
                                                              project GeoTools
                                                              • 138.
                                                                  Hibernate Spatial
                                                                  • Spatial extension for
                                                                  • 139. Hibernate
                                                                  • 140. Register your data provider
                                                                    • hibernate.dialect=org.hibernatespatial.postgis.PostgisDialect
                                                                  • Special type for storing a Geometry
                                                                    • @Column(name = "geom")
                                                                    • 141. @Type(type = "org.hibernatespatial.GeometryUserType")
                                                                    • 142. private Geometry geometry;
                                                                  • Spatial queries, also using Criteria
                                                                  • 143. DB support: PostGis, Oracle10i, MySQL, MSSQL, GeoDB (H2)
                                                                project Hibernate Spatial version 1.1 site http://www.hibernatespatial.org/ license LGPL
                                                                • 144.
                                                                  • GeoToolkit
                                                                    • GIS tools covering a wide range of topics
                                                                    • Module based
                                                                    • Originally a fork of (part of) GeoTools but with cleanup and refactoring, and Java6 only
                                                                  project GeoToolkit version 3.19 site http://www.geotoolkit.org/ license LGPL
                                                                  • 148.
                                                                      Proj4J
                                                                      • Java version of Proj4
                                                                      • 149. CRS handling
                                                                      • 150. transformations
                                                                    project Proj4J version 0.1 (-snapshot) site http://trac.osgeo.org/proj4j/ license MIT?
                                                                    • 151.
                                                                        GeoLatte
                                                                        • Reusable GIS
                                                                        • 152. components
                                                                        • 153. Modules
                                                                          • Base: transformations, filtering, GeoJSON
                                                                          • 154. Featureserver: access data through Hibernate spatial
                                                                          • 155. Graph
                                                                          • 156. Mapserver
                                                                          • 157. Maprenderer
                                                                      project GeoLatte version ? site http://www.geolatte.org/ license LGPL
                                                                      • 158.
                                                                          Notable non-Java projects
                                                                          • OpenLayers
                                                                          • Not open source
                                                                            • Google maps / Bing / Yahoo! maps
                                                                        • 162.
                                                                            Java servers and frameworks
                                                                          • 172.
                                                                              GeoServer
                                                                              • Share and edit geospatial data
                                                                              • 173. Render data to WMS
                                                                              • 174. WFS interface to your data
                                                                              • 175. Integrated OpenLayers as default viewing engine
                                                                              • 176. Built on GeoTools
                                                                              • 177. Integrate with ArcGIS, Google Maps/Earth; Yahoo! Maps, MS Virtual Earth
                                                                            project GeoServer version 2.1.2 site http://geoserver.org/ license GPL
                                                                            • 178. project GeoServer
                                                                              • 179.
                                                                                  deegree
                                                                                  • supplies building blocks for Spatial Data Infrastructure
                                                                                  • 180. Implements OGC and ISO/TC 211 standards
                                                                                  • 181. Building blocks
                                                                                project deegree version 3.0.4 Celcius site http://www.deegree.org/ license LGPL
                                                                                • 186. project deegree
                                                                                  • 187.
                                                                                      uDig
                                                                                      • Desktop GIS
                                                                                      • 188. Based on Eclipse RCP, JTS, GeoTools
                                                                                      • 189. View, edit and print GIS data
                                                                                      • 190. Can be extended/customized using plug-ins
                                                                                        • Jgrass, Eurobios, DEWS
                                                                                    project uDig version 1.2.2 site http://udig.refractions.net/ license LGPL
                                                                                    • 191. project uDIG
                                                                                      • 192.
                                                                                          gvSig
                                                                                        project gvSig version 1.11 site http://www.gvsig.org/ license GPL
                                                                                        • 199. project gvSIG
                                                                                          • 200.
                                                                                              Puzzle-GIS
                                                                                              • Desktop GIS
                                                                                              • 201. Based on NetBeans platform
                                                                                              • 202. and GeoToolkit
                                                                                              • 203. Multi-screen, multi-project at same time
                                                                                              • 204. Clear separation source/map/view
                                                                                            project Puzzle-GIS version .07 site http://puzzle-gis.codehaus.org/ license LGPL
                                                                                            • 205. project Puzzle-GIS
                                                                                              • 206.
                                                                                                  OpenJUMP
                                                                                                  • Desktop GIS
                                                                                                  • 207. Save, edit-analyze GIS data
                                                                                                  • 208. Flexible plug-ins
                                                                                                project OpenJUMP version 1.4.2 site http://www.openjump.org/ license GPL
                                                                                                • 209. project OpenJUMP
                                                                                                  • 210.
                                                                                                      GeoKettle
                                                                                                      • Spatial extension of Kettle
                                                                                                      • 211. (Pentaho Data Integration)
                                                                                                      • 212. ETL tool, build spatial
                                                                                                      • 213. data warehouse
                                                                                                      • 214. Builds on GeoMondrian, spatial extension of Mondrian
                                                                                                      • 215. Extract also from spatial data sources
                                                                                                      • 216. Transform also spatial operations (project, geocode,...)
                                                                                                    project GeoKettle version 2.0 site www.spatialytics.org/projects/geokettle/ license LGPL
                                                                                                    • 217. project GeoKettle
                                                                                                      • 218.
                                                                                                          GeoNetwork
                                                                                                          • Catalog application to manage spatial resources
                                                                                                          • 219. Metadata editing
                                                                                                          • 220. Search functions
                                                                                                          • 221. Embeds GeoServer (optional)
                                                                                                        project GeoNetwork version 2.6.4 site http://geonetwork-opensource.org/ license GPL
                                                                                                        • 222. project GeoNetwork
                                                                                                          • 223.
                                                                                                              SEXTANTE
                                                                                                              • Spatial data analysis library
                                                                                                              • 224. +300 geo-algorithms for
                                                                                                              • 225. raster and vector data processing
                                                                                                              • 226. Graphical components to run and use those algorithms
                                                                                                                • Including graphical modeler
                                                                                                              • Integrates with many GIS tools
                                                                                                                • gvSig, OpenJUMP, uDIG
                                                                                                              • Split of from gvSig
                                                                                                            project SEXTANTE version 0.6 site http://sextante.forge.osor.eu/ license MIT
                                                                                                            • 227. project SEXTANTE
                                                                                                              • 228. project SEXTANTE
                                                                                                                • 229.
                                                                                                                    Geomajas
                                                                                                                    • Integrate, transform and secure GIS data
                                                                                                                    • 230. (web) application framework / Spatial Application Server
                                                                                                                    • 231. Built on GeoTools, JTS, Spring, GWT, Hibernate Spatial
                                                                                                                    • 232. Faces for front-end/clients
                                                                                                                      • GWT, SmartGWT, GeoJSON
                                                                                                                    • Generic layers for data access
                                                                                                                      • WMS, WFS, GeoTools data source, Hibernate Spatial
                                                                                                                    • Plug-ins for extension
                                                                                                                      • Caching and rasterization, printing/PDF, security services, geocoder
                                                                                                                  project Geomajas version 1.9.0 site http://www.geomajas.org/ license AGPL
                                                                                                                  • 233. project Geomajas
                                                                                                                    • 234.
                                                                                                                        • Thin client
                                                                                                                        • 235. Server for heavy-lifting
                                                                                                                          • Allows security
                                                                                                                          • 236. Data transformation
                                                                                                                          • 237. Integration with back-end processes
                                                                                                                      project Geomajas
                                                                                                                      • 238. project Geomajas
                                                                                                                        • 239. Q & A
                                                                                                                          • Joachim Van der Auwera http://blog.progs.be/ Geosparc [email_address] @joachimvda http://geosparc.com/