• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Mapping, GIS and geolocating data in Java
 

Mapping, GIS and geolocating data in Java

on

  • 5,989 views

 

Statistics

Views

Total Views
5,989
Views on SlideShare
5,986
Embed Views
3

Actions

Likes
0
Downloads
260
Comments
0

2 Embeds 3

https://si0.twimg.com 2
http://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Mapping, GIS and geolocating data in Java Mapping, GIS and geolocating data in Java Presentation Transcript

    • Mapping, GIS and geolocating data in Java
        Using Open Source software
        Joachim Van der Auwera Geosparc 348
      • AGENDA
        • GIS basics
        • Data and data formats
        • Database options
        • Java libraries
        • Java servers and frameworks
        • GIS basics
          • Maps, layers, tiles and features
          • Geometries
          • Spatial operations and queries
          • Projections and Coordinate Reference Systems
          • Location?
          • Layers
            • Handling complexity
            • Data is split
            • Overlays
            • Transparency
            • Tiles
              • Handling size
              • Data is split
              • Stitched together at joins
              • Fixed size
              • WMTS
              • Eases cacheability
              • Features
                • Represents a real-world phenomenon
                • Has geometry, linking to location on earth
                • Has attributes, e.g. “maximum depth” for a lake
                • Geometry
                  • Point, multi-
                  • Linestring, multi-
                  • Linear ring, multi-
                  • Polygon, multi-
                  • Usually only one type per layer
                  • Geometry limitations
                    • Constraints on allowed linestring and polygons
                    • Spatial queries
                      • Distance, buffers, joins, intersections
                      • CQL, ECQL
                      • Coordinate Reference Systems
                        • Coordinate notation
                        • Spherical or ellipsoid approximation
                          • Which ellipsoid
                        • Origin: (Meridian, Greenwich)?
                        • Unit: degrees, meters,...
                        • Influence of time
                        • WGS84 : global, used by GPS
                          • (lat,lon) or (lon,lat)
                        • Many local variants
                        • Projections
                          • The world is not flat
                          • But a screen/paper is
                          • Approximate using a sphere
                          • Approximate using an ellipsoid
                          • Some options
                            • Cylindrical
                            • Start from a point (azimuthal)
                            • Conical
                          • Projections, always a compromise
                            • Conformal
                            • Equal-area
                            • Equidistant
                            • e.g
                              • Mercator
                              • Winkel Tripel
                              • Lambert cyl
                              • Equirectangular
                              • Sinusoidal
                              • Molleweide
                            • Waterman to the rescue?
                              • Coordinate Reference Systems
                                • EPSG database
                                  • http://www.epsg-registry.org/
                                  • EPSG:4326 is WGS84
                                  • EPSG:3857 is Mercator
                                  • 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
                                  • WG:84
                                • CRS, SRS, SRID
                                  • Coordinate Reference System (CRS)
                                  • often expressed as Well Known Text (WKT)
                                  • SRS, Spatial Reference Code
                                    • EPSG:54019
                                  • SRID, Spatial Reference ID
                                    • 54019
                                    • Depends on authority!
                                    • Usually EPSG
                                  • Projecting raster images?
                                    • Aereal images need corrections
                                    • Image affected by
                                      • Height of camera
                                      • Projection + location (e.g. Mercator!)
                                      • Angle of photo + height of surface
                                    • Precision
                                      • Precision allows aligning coordinates on a grid
                                        • Can skew results on spatial operations
                                      • CRS transformations
                                        • Transformations can be inaccurate as lines turn into curves
                                        • 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
                                          • Data and data formats
                                            • OGC Standards: WMS, WFS, WMST
                                            • Raster formats: GeoTiff, JPEG2000, ...
                                            • Vector formats: GeoJSON, KML, shape, ...
                                            • Free data: OpenStreetMap, Natural Earth, local data
                                            • Open Geospatial Consortium
                                              • Home to most of the GIS related standards
                                              • http://www.opengeospatial.org/
                                              • WMS, Web Map Service
                                              • WFS, Web Feature Service
                                              • WMTS, Web Map Tile Service
                                              • WKT, Well Known Text
                                              • GML, Geographic Markup Language
                                              • KML, Keyhole Markup Language (Google)
                                              • SLD, Styled Layer Description
                                              • WPS, Web Processing Service
                                              • WCS, Web Coverage Service
                                              • ...
                                              • Other raster formats
                                                • GeoTIFF
                                                • JPEG2000
                                                • MrSID
                                                • Erdas Imagine
                                                • SDTS
                                                • ECW
                                                • DTED
                                                • NITF
                                                • NASA ELAS
                                                • GRASS rasters
                                                • ESRI grid
                                                • NetCDF
                                                • ...
                                                • Other vector formats
                                                  • Shape file (ESRI), very common
                                                  • GeoJSON
                                                  • TIGER
                                                  • DXF (AutoCad)
                                                  • SDF (Autodesk, MapGuide)
                                                  • Open / free data
                                                    • OpenStreetMap, community built map
                                                      • http://www.openstreetmap.org/
                                                    • Natural Earth
                                                      • http://www.naturalearthdata.com/
                                                    • Local data
                                                    • Database options
                                                      • Why a spatial database?
                                                        • Spatial operations
                                                        • OGC “Simple Features for SQL” support
                                                          • … WHERE ST_Intersection(roads.geom, city.geom)
                                                        • Spatial indexes
                                                      • Relational
                                                        • PostGis
                                                        • GeoDB / H2
                                                      • NoSQL
                                                        • Neo4j
                                                      • PostGIS
                                                        • Spatial PostgreSQL
                                                        • PostgreSQL 8.3 or higher
                                                        • (non-Java)
                                                        • High Performance
                                                        • Data Integrity
                                                        • Complete support
                                                          • All spatial operations
                                                          • Coordinate transformations
                                                          • n-dimensional
                                                      project PostGis version 1.5.2 site http://postgis.refractions.net/ license GPL (JDBC driver is BSD)
                                                        • GeoDB
                                                          • Spatial H2
                                                          • 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
                                                          • Neo4j
                                                            • NoSQL, graph database
                                                            • geographic features stored as graphs
                                                            • Great OpenStreetMap support (import etc)
                                                            • Not all spatial operations (e.g. buffer)
                                                          project Neo4j spatial version 0.5 site wiki.neo4j.org/content/Neo4j_Spatial license AGPL
                                                            • Java Libraries
                                                              • JTS
                                                              • GeoTools
                                                              • Hibernate Spatial
                                                              • GeoToolkit
                                                              • Proj4j
                                                              • GeoLatte
                                                              • OpenLayers ?
                                                              • Google, Bing!, Yahoo! Maps ?
                                                              • JTS
                                                                • JTS Topology Suite
                                                                • Geometric model
                                                                • Geometric operations
                                                                • Spatial structures and algorithms
                                                                • I/O capabilities
                                                                  • WKT, WKB, GML
                                                              project JTS version 1.11 site http://tsusiatsoftware.net/jts/main.html license LGPL
                                                                • GeoTools
                                                                  • GIS tools covering a wide
                                                                  • range of topics
                                                                project GeoTools version 2.7.1 site http://www.geotools.org/ license LGPL
                                                                    • Many modules
                                                                      • Referencing (CRS, transformations,...)
                                                                      • Filtering (CQL, ECQL)
                                                                      • Rendering
                                                                      • Coverage (raster images in many formats)
                                                                      • Data access (DB, WFS, raster, shape,...)
                                                                    • Extensions
                                                                      • Schema
                                                                      • Graph
                                                                      • WMS client
                                                                      • Validation
                                                                  project GeoTools
                                                                    • Hibernate Spatial
                                                                      • Spatial extension for
                                                                      • Hibernate
                                                                      • Register your data provider
                                                                        • hibernate.dialect=org.hibernatespatial.postgis.PostgisDialect
                                                                      • Special type for storing a Geometry
                                                                        • @Column(name = "geom")
                                                                        • @Type(type = "org.hibernatespatial.GeometryUserType")
                                                                        • private Geometry geometry;
                                                                      • Spatial queries, also using Criteria
                                                                      • DB support: PostGis, Oracle10i, MySQL, MSSQL, GeoDB (H2)
                                                                    project Hibernate Spatial version 1.1 site http://www.hibernatespatial.org/ license LGPL
                                                                      • GeoToolkit
                                                                        • GIS tools covering a wide
                                                                        • range of topics
                                                                        • Module based
                                                                          • Referencing
                                                                          • Coverage
                                                                          • Display (swing)
                                                                          • Analytics
                                                                        • 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
                                                                        • Proj4J
                                                                          • Java version of Proj4
                                                                          • CRS handling
                                                                          • transformations
                                                                        project Proj4J version 0.1 (-snapshot) site http://trac.osgeo.org/proj4j/ license MIT?
                                                                          • GeoLatte
                                                                            • Reusable GIS
                                                                            • components
                                                                            • Modules
                                                                              • Base: transformations, filtering, GeoJSON
                                                                              • Featureserver: access data through Hibernate spatial
                                                                              • Graph
                                                                              • Mapserver
                                                                              • Maprenderer
                                                                          project GeoLatte version ? site http://www.geolatte.org/ license LGPL
                                                                            • Notable non-Java projects
                                                                              • OpenLayers
                                                                                • JavaScript
                                                                                • Powerful
                                                                                • Popular
                                                                              • Not open source
                                                                                • Google maps / Bing / Yahoo! maps
                                                                                  • Free/open?
                                                                                  • Data +/-
                                                                              • Java servers and frameworks
                                                                                • GeoServer
                                                                                • Deegree
                                                                                • uDig
                                                                                • gvSig
                                                                                • Puzzle-GIS
                                                                                • GeoKettle
                                                                                • OpenJUMP
                                                                                • GeoNetwork
                                                                                • SEXTANTE
                                                                                • Geomajas
                                                                                • GeoServer
                                                                                  • Share and edit geospatial
                                                                                  • data
                                                                                  • Render data to WMS
                                                                                  • WFS interface to your data
                                                                                  • Integrated OpenLayers as default viewing engine
                                                                                  • Built on GeoTools
                                                                                  • Integrate with ArcGIS, Google Maps/Earth; Yahoo! Maps, MS Virtual Earth
                                                                                project GeoServer version 2.1.0 site http://geoserver.org/ license GPL
                                                                                • project GeoServer
                                                                                    • deegree
                                                                                      • supplies building blocks Spatial Data Infrastructure
                                                                                      • Implements OGC and ISO/TC 211 standards
                                                                                      • Building blocks
                                                                                        • Web services (WMS, WFS, WPS, WCS, Gazetteer,...)
                                                                                        • iGeoPortal
                                                                                        • iGeoSecurity
                                                                                        • iGeo3D
                                                                                        • iGeoDesktop
                                                                                    project deegree version 3.0.4 Celcius site http://www.deegree.org/ license LGPL
                                                                                    • project deegree
                                                                                        • uDig
                                                                                          • Desktop GIS
                                                                                          • Based on Eclipse RCP, JTS, GeoTools
                                                                                          • View, edit and print GIS data
                                                                                          • Can be extended/customized using plug-ins
                                                                                            • Jgrass, Eurobios, DEWS
                                                                                        project uDig version 1.2.1 site http://udig.refractions.net/ license LGPL
                                                                                        • project uDIG
                                                                                            • gvSig
                                                                                              • Desktop GIS
                                                                                              • Same view local and remote
                                                                                              • (through OGC standards)
                                                                                              • Extensible
                                                                                              • GvSig Mobile
                                                                                              • Remote sensing
                                                                                              • 3D support
                                                                                            project gvSig version 1.11 site http://www.gvsig.org/ license GPL
                                                                                            • project gvSIG
                                                                                                • Puzzle-GIS
                                                                                                  • Desktop GIS
                                                                                                  • Based on NetBeans platform
                                                                                                  • and GeoToolkit
                                                                                                  • Multi-screen, multi-project at same time
                                                                                                  • Clear separation source/map/view
                                                                                                project Puzzle-GIS version .07 site http://puzzle-gis.codehaus.org/ license LGPL
                                                                                                • project Puzzle-GIS
                                                                                                    • GeoKettle
                                                                                                      • Spatial extension of Kettle
                                                                                                      • (Pentaho Data Integration)
                                                                                                      • ETL tool, build spatial
                                                                                                      • data warehouse
                                                                                                      • Builds on GeoMondrian, spatial extension of Mondrian
                                                                                                      • Extract also from spatial data sources
                                                                                                      • Transform also spatial operations (project, geocode,...)
                                                                                                    project GeoKettle version 3.2.0 site www.spatialytics.org/projects/geokettle/ license LGPL
                                                                                                    • project GeoKettle
                                                                                                        • OpenJUMP
                                                                                                          • Desktop GIS
                                                                                                          • Save, edit-analyze GIS data
                                                                                                          • Flexible plug-ins
                                                                                                        project OpenJUMP version 1.4.0.3 site http://www.openjump.org/ license GPL
                                                                                                        • project OpenJUMP
                                                                                                            • GeoNetwork
                                                                                                              • Catalog application to manage spatial resources
                                                                                                              • Metadata editing
                                                                                                              • Search functions
                                                                                                              • Embeds GeoServer (optional)
                                                                                                            project GeoNetwork version 2.6.4 site http://geonetwork-opensource.org/ license GPL
                                                                                                            • project GeoNetwork
                                                                                                                • SEXTANTE
                                                                                                                  • Spatial data analysis library
                                                                                                                  • +300 geo-algorithms for
                                                                                                                  • raster and vector data processing
                                                                                                                  • 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
                                                                                                                • project SEXTANTE
                                                                                                                  • project SEXTANTE
                                                                                                                      • Geomajas
                                                                                                                        • Integrate, transform and
                                                                                                                        • secure GIS data
                                                                                                                        • (web) application framework
                                                                                                                        • Built on GeoTools, JTS, Spring, GWT, Hibernate Spatial
                                                                                                                        • 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
                                                                                                                      • project Geomajas
                                                                                                                            • Thin client
                                                                                                                            • Server for heavy-lifting
                                                                                                                              • Allows security
                                                                                                                              • Data transformation
                                                                                                                              • Integration with back-end
                                                                                                                              • processes
                                                                                                                          project Geomajas
                                                                                                                          • project Geomajas
                                                                                                                              • Joachim Van der Auwera http://geosparc.com/
                                                                                                                              • Geosparc [email_address] @joachimvda