Abstract: Basic introduction GeoTools is an open source Java code base that provides a series of standards-compliant methods for dealing wi...
Basic introduction
GeoTools is an open source Java code base that provides a series of standards-compliant methods for dealing with geospatial data, such as the implementation of geographic information systems. The GeoTools structure is based on the Open Space Association (OGC) specification.
- GeoTools is used by many projects, including web services, command line tools and desktop applications.
- GeoTools. NET (http://geotoolsnet. sourceforge. net/Index. html) is the .NET version corresponding to Java.
The Geotools project has a history of more than ten years. It has strong vitality and rich codes, includes several open GIS projects and is based on standard GIS interfaces. Geotools mainly provides various GIS algorithms for reading, writing and displaying various data formats. In terms of display, it is worse. It is just a simple way to view and operate the map with Swing. However, users can visualize their own real maps according to the algorithm provided by Geotools. OpenJump and udig are based on Geotools.
The two more important open source GIS toolkits used by Geotools are JTS and GeoAPI. The former mainly implements various GIS topology algorithms and is also based on GeoAPI. However, duo to the GeoAPI of the two toolkits are implemented by different Java codes, Geotools needs to convert each other when using, and has defined some of its own GeoAPI based on the two, so the code appears bloated and easy to be confused. Geotools expanded the GeoAPI itself due to its slow progress. In addition, Geotools is still based on 2D graphics, lacking support for 3D spatial data algorithm and display.
1.Main characteristics
- Geotools mainly provides various GIS algorithms for reading, writing and displaying various data formats.
- In terms of display, it is worse, it is just a simple view and operation of the map with Swing.
- The user can visualize the map according to the algorithm provided by Geotools. OpenJump and udig are based on Geotools.
- At present, most open source software, such as udig and geoserver, are supported by geotools for spatial data processing.
- Web services, command-line tools, and desktop programs can all be implemented by geotools.
- It is built on the OGC standard and is an implementation of the OGC idea. OGC is an international standard, so geotools will become the main tool for open-source spatial data processing in the future.
- The two more important open source GIS toolkits used by Geotools are JTS and GeoAPI. The former is mainly used to implement various GIS topology algorithms [except that the nine intersection model between graphics is not a topology algorithm between layers or layers], and is also based on GeoAPI.
- Geotools is still only based on 2D graphics, lacking support for 3D spatial data algorithm and display.
2.Data formats supported by Geotools
arcsde
,arcgrid
,geotiff
,grassraster
,gtopo30
,image(JPEG, TIFF, GIF, PNG)
,imageio-ext-gdal
,imagemoasaic
,imagepyramid
,JP2K,matlab
;- Supported database "jdbc ng":
db2
,h2
,mysql
,oracle
,postgis
,spatialite
,sqlserver
; - Supported vector formats and data access:
app-schema
,arcsde
,csv
,dxf
,edigeo
,excel
,geojson,org
,property
,shapefile
,wfs
; - XML binding. XML based Java data structures and bindings provide the following formats:
xsd core
(xml simple types),fes
,filter
,gml2
,gml3
,kml
,ows
,sld
,wcs
,wfs
,wms
,wps
, andvpf
. The encoding and parsing of additionalgeometry
,sld
andfilter
can be done throughdom
andsax
programs.
3.Support most OGC standards
- Sld/SE and rendering engine in OGC;
- OGC general element model includes simple element support;
- Grid image representation of grid information in OGC;
- WFS, WMS and additional WPS in OGC;
- ISO 19107 geometry specification;
4.Open source projects that Geotools relies on
- JTS:JTS is an open source Java API made by Vivid Solutions of Canada. It provides a set of core algorithms for spatial data operations, and provides 2D spatial predicate API for basic geometric operations in spatial object models compatible with OGC standards.
- GeoAPI: GeoAPI provides a set of Java interfaces for the OpenGIS specification.
5.GeoTools class library
GeoTools released the package and its dependence on some third-party class libraries, a total of about 168, understand which packages GeoTools depends on and what to do with these packages, to understand GeoTools this big guy must be helpful, For details, you can download the code to view it. Generally, you can find some useful information by searching on the Internet. The following are 79 jar packages of the core class library:
6.Learning addresses
- GeoTools official website address: https://docs.geotools.org/latest/userguide/geotools.html
- GeoTools GitHub address: https://github.com/geotools/geotools