Your SlideShare is downloading. ×
Mapping, GIS and geolocating data in Java
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Mapping, GIS and geolocating data in Java

6,405

Published on

Published in: Economy & Finance
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
6,405
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
306
Comments
0
Likes
0
Embeds 0
No embeds

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 348
  • 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
              • 27.
                  Geometry limitations
                  • Constraints on allowed linestring and polygons
                • 28.
                    Spatial queries
                    • Distance, buffers, joins, intersections
                    • 29. CQL, ECQL
                  • 30.
                      Coordinate Reference Systems
                      • Coordinate notation
                      • 31. Spherical or ellipsoid approximation
                        • Which ellipsoid
                      • Origin: (Meridian, Greenwich)?
                      • 32. Unit: degrees, meters,...
                      • 33. Influence of time
                      • 34. WGS84 : global, used by GPS
                        • (lat,lon) or (lon,lat)
                      • Many local variants
                    • 35.
                        Projections
                        • The world is not flat
                        • 36. But a screen/paper is
                        • 37. Approximate using a sphere
                        • 38. Approximate using an ellipsoid
                        • 39. Some options
                          • Cylindrical
                          • 40. Start from a point (azimuthal)
                          • 41. Conical
                      • 42.
                          Projections, always a compromise
                            • Winkel Tripel
                            • 46. Lambert cyl
                            • Equirectangular
                            • 47. Sinusoidal
                            • Molleweide
                        • 48.
                            Waterman to the rescue?
                          • 49.
                              Coordinate Reference Systems
                              • EPSG database
                                • http://www.epsg-registry.org/
                                • EPSG:4326 is WGS84
                                • EPSG:3857 is Mercator
                                • 50. 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
                                • 51. WG:84
                            • 52.
                                CRS, SRS, SRID
                                • Coordinate Reference System (CRS)
                                • 53. often expressed as Well Known Text (WKT)
                                • 54. SRS, Spatial Reference Code
                                  • EPSG:54019
                                • SRID, Spatial Reference ID
                              • 57.
                                  Projecting raster images?
                                  • Aereal images need corrections
                                  • 58. Image affected by
                                    • Height of camera
                                    • 59. Projection + location (e.g. Mercator!)
                                    • 60. Angle of photo + height of surface
                                • 61.
                                    Precision
                                    • Precision allows aligning coordinates on a grid
                                      • Can skew results on spatial operations
                                  • 62.
                                      CRS transformations
                                      • Transformations can be inaccurate as lines turn into curves
                                    • 63.
                                        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
                                      • 64.
                                          Data and data formats
                                          • OGC Standards: WMS, WFS, WMST
                                          • 65. Raster formats: GeoTiff, JPEG2000, ...
                                          • 66. Vector formats: GeoJSON, KML, shape, ...
                                          • 67. Free data: OpenStreetMap, Natural Earth, local data
                                        • 68.
                                            Open Geospatial Consortium
                                            • Home to most of the GIS related standards
                                            • http://www.opengeospatial.org/
                                            • 69. WMS, Web Map Service
                                            • 70. WFS, Web Feature Service
                                            • 71. WMTS, Web Map Tile Service
                                            • 72. WKT, Well Known Text
                                            • 73. GML, Geographic Markup Language
                                            • 74. KML, Keyhole Markup Language (Google)
                                            • 75. SLD, Styled Layer Description
                                            • 76. WPS, Web Processing Service
                                            • 77. WCS, Web Coverage Service
                                            • 78. ...
                                          • 79.
                                              Other raster formats
                                            • 91.
                                                Other vector formats
                                                • Shape file (ESRI), very common
                                                • 92. GeoJSON
                                                • 93. TIGER
                                                • 94. DXF (AutoCad)
                                                • 95. SDF (Autodesk, MapGuide)
                                              • 96.
                                                  Open / free data
                                                  • OpenStreetMap, community built map
                                                    • http://www.openstreetmap.org/
                                                  • Natural Earth
                                                    • http://www.naturalearthdata.com/
                                                  • Local data
                                                • 97.
                                                    Database options
                                                    • Why a spatial database?
                                                      • Spatial operations
                                                      • 98. OGC “Simple Features for SQL” support
                                                        • … WHERE ST_Intersection(roads.geom, city.geom)
                                                      • Spatial indexes
                                                    • Relational
                                                    • NoSQL
                                                      • Neo4j
                                                  • 100.
                                                      PostGIS
                                                      • Spatial PostgreSQL
                                                      • 101. PostgreSQL 8.3 or higher
                                                    project PostGis version 1.5.2 site http://postgis.refractions.net/ license GPL (JDBC driver is BSD)
                                                    • 107.
                                                        GeoDB
                                                        • Spatial H2
                                                        • 108. 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
                                                      • 109.
                                                          Neo4j
                                                          • NoSQL, graph database
                                                          • geographic features stored as graphs
                                                          • 110. Great OpenStreetMap support (import etc)
                                                          • 111. Not all spatial operations (e.g. buffer)
                                                        project Neo4j spatial version 0.5 site wiki.neo4j.org/content/Neo4j_Spatial license AGPL
                                                        • 112.
                                                            Java Libraries
                                                          • 120.
                                                              JTS
                                                              • JTS Topology Suite
                                                              • 121. Geometric model
                                                              • 122. Geometric operations
                                                              • 123. Spatial structures and algorithms
                                                              • 124. I/O capabilities
                                                                • WKT, WKB, GML
                                                            project JTS version 1.11 site http://tsusiatsoftware.net/jts/main.html license LGPL
                                                            • 125.
                                                                GeoTools
                                                                • GIS tools covering a wide
                                                                • 126. range of topics
                                                              project GeoTools version 2.7.1 site http://www.geotools.org/ license LGPL
                                                              • 127.
                                                                  • Many modules
                                                                    • Referencing (CRS, transformations,...)
                                                                    • 128. Filtering (CQL, ECQL)
                                                                    • 129. Rendering
                                                                    • 130. Coverage (raster images in many formats)
                                                                    • 131. Data access (DB, WFS, raster, shape,...)
                                                                  • Extensions
                                                                project GeoTools
                                                                • 135.
                                                                    Hibernate Spatial
                                                                    • Spatial extension for
                                                                    • 136. Hibernate
                                                                    • 137. Register your data provider
                                                                      • hibernate.dialect=org.hibernatespatial.postgis.PostgisDialect
                                                                    • Special type for storing a Geometry
                                                                      • @Column(name = "geom")
                                                                      • 138. @Type(type = "org.hibernatespatial.GeometryUserType")
                                                                      • 139. private Geometry geometry;
                                                                    • Spatial queries, also using Criteria
                                                                    • 140. DB support: PostGis, Oracle10i, MySQL, MSSQL, GeoDB (H2)
                                                                  project Hibernate Spatial version 1.1 site http://www.hibernatespatial.org/ license LGPL
                                                                  • 141.
                                                                    • GeoToolkit
                                                                      • GIS tools covering a wide
                                                                      • 142. range of topics
                                                                      • Module based
                                                                      • Originally a fork of (part of) GeoTools but with cleanup and refactoring, and Java6 only
                                                                    project GeoToolkit version 3.18 site http://www.geotoolkit.org/ license LGPL
                                                                    • 146.
                                                                        Proj4J
                                                                        • Java version of Proj4
                                                                        • 147. CRS handling
                                                                        • 148. transformations
                                                                      project Proj4J version 0.1 (-snapshot) site http://trac.osgeo.org/proj4j/ license MIT?
                                                                      • 149.
                                                                          GeoLatte
                                                                          • Reusable GIS
                                                                          • 150. components
                                                                          • 151. Modules
                                                                            • Base: transformations, filtering, GeoJSON
                                                                            • 152. Featureserver: access data through Hibernate spatial
                                                                            • 153. Graph
                                                                            • 154. Mapserver
                                                                            • 155. Maprenderer
                                                                        project GeoLatte version ? site http://www.geolatte.org/ license LGPL
                                                                        • 156.
                                                                            Notable non-Java projects
                                                                            • OpenLayers
                                                                            • Not open source
                                                                              • Google maps / Bing / Yahoo! maps
                                                                          • 160.
                                                                              Java servers and frameworks
                                                                            • 170.
                                                                                GeoServer
                                                                                • Share and edit geospatial
                                                                                • 171. data
                                                                                • 172. Render data to WMS
                                                                                • 173. WFS interface to your data
                                                                                • 174. Integrated OpenLayers as default viewing engine
                                                                                • 175. Built on GeoTools
                                                                                • 176. Integrate with ArcGIS, Google Maps/Earth; Yahoo! Maps, MS Virtual Earth
                                                                              project GeoServer version 2.1.0 site http://geoserver.org/ license GPL
                                                                              • 177. project GeoServer
                                                                                • 178.
                                                                                    deegree
                                                                                    • supplies building blocks Spatial Data Infrastructure
                                                                                    • 179. Implements OGC and ISO/TC 211 standards
                                                                                    • 180. Building blocks
                                                                                  project deegree version 3.0.4 Celcius site http://www.deegree.org/ license LGPL
                                                                                  • 185. project deegree
                                                                                    • 186.
                                                                                        uDig
                                                                                        • Desktop GIS
                                                                                        • 187. Based on Eclipse RCP, JTS, GeoTools
                                                                                        • 188. View, edit and print GIS data
                                                                                        • 189. Can be extended/customized using plug-ins
                                                                                          • Jgrass, Eurobios, DEWS
                                                                                      project uDig version 1.2.1 site http://udig.refractions.net/ license LGPL
                                                                                      • 190. project uDIG
                                                                                        • 191.
                                                                                            gvSig
                                                                                          project gvSig version 1.11 site http://www.gvsig.org/ license GPL
                                                                                          • 198. project gvSIG
                                                                                            • 199.
                                                                                                Puzzle-GIS
                                                                                                • Desktop GIS
                                                                                                • 200. Based on NetBeans platform
                                                                                                • 201. and GeoToolkit
                                                                                                • 202. Multi-screen, multi-project at same time
                                                                                                • 203. Clear separation source/map/view
                                                                                              project Puzzle-GIS version .07 site http://puzzle-gis.codehaus.org/ license LGPL
                                                                                              • 204. project Puzzle-GIS
                                                                                                • 205.
                                                                                                    GeoKettle
                                                                                                    • Spatial extension of Kettle
                                                                                                    • 206. (Pentaho Data Integration)
                                                                                                    • 207. ETL tool, build spatial
                                                                                                    • 208. data warehouse
                                                                                                    • 209. Builds on GeoMondrian, spatial extension of Mondrian
                                                                                                    • 210. Extract also from spatial data sources
                                                                                                    • 211. Transform also spatial operations (project, geocode,...)
                                                                                                  project GeoKettle version 3.2.0 site www.spatialytics.org/projects/geokettle/ license LGPL
                                                                                                  • 212. project GeoKettle
                                                                                                    • 213.
                                                                                                        OpenJUMP
                                                                                                        • Desktop GIS
                                                                                                        • 214. Save, edit-analyze GIS data
                                                                                                        • 215. Flexible plug-ins
                                                                                                      project OpenJUMP version 1.4.0.3 site http://www.openjump.org/ license GPL
                                                                                                      • 216. project OpenJUMP
                                                                                                        • 217.
                                                                                                            GeoNetwork
                                                                                                            • Catalog application to manage spatial resources
                                                                                                            • 218. Metadata editing
                                                                                                            • 219. Search functions
                                                                                                            • 220. Embeds GeoServer (optional)
                                                                                                          project GeoNetwork version 2.6.4 site http://geonetwork-opensource.org/ license GPL
                                                                                                          • 221. project GeoNetwork
                                                                                                            • 222.
                                                                                                                SEXTANTE
                                                                                                                • Spatial data analysis library
                                                                                                                • 223. +300 geo-algorithms for
                                                                                                                • 224. raster and vector data processing
                                                                                                                • 225. 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
                                                                                                              • 226. project SEXTANTE
                                                                                                                • 227. project SEXTANTE
                                                                                                                  • 228.
                                                                                                                      Geomajas
                                                                                                                      • Integrate, transform and
                                                                                                                      • 229. secure GIS data
                                                                                                                      • 230. (web) application framework
                                                                                                                      • 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.8.0 site http://www.geomajas.org/ license AGPL
                                                                                                                    • 233. project Geomajas
                                                                                                                      • 234.
                                                                                                                          • Thin client
                                                                                                                          • 235. Server for heavy-lifting
                                                                                                                        project Geomajas
                                                                                                                        • 239. project Geomajas
                                                                                                                          • 240.
                                                                                                                              Joachim Van der Auwera http://geosparc.com/
                                                                                                                            • Geosparc [email_address] @joachimvda

                                                                                                                          ×