In the field of Java development, open source GIS (geographic information system) libraries play a vital role, providing developers with rich tools and frameworks to process geospatial data, build map applications, and perform complex geographic analysis. These libraries not only follow industry standards, such as a series of specifications developed by OGC (Open Geospatial Consortium), but are also highly customizable and scalable, lowering the threshold for geographic information system development.
The Java open source GIS library has extensive influence and application value in the geographic information science and technology industry with its outstanding technical contributions and active community support. Developers can flexibly select and integrate these libraries according to project needs to build powerful and efficient application systems. Here we share 4 common open source GIS platforms and software. How many have you used?
1. JTS
JTS Topology Suite (JTS) is an open source Java software library that provides an object model and basic geometry functions for plane geometry, complying with the “Simple Features for SQL” (SFSQL) specification released by OGC. JTS is designed to be used as a core component of vector-based geographic information software and can also be used as a general algorithm library for computational geometry.
Geometric relationship judgment
Function | describe |
---|---|
Equals | Geometric shapes are topologically equal |
Disjoint | Geometric shapes have no points in common |
Intersects | Geometric shapes have at least one point in common |
Touches | The geometry has at least one common boundary point, but no internal points |
Crosses | Geometries share some but not all interior points |
Within | The lines of geometric shape A are all inside geometric shape B |
Contains | The lines of geometric shape B are all inside geometric shape A |
Overlaps | Geometric shapes share some but not all common points, and intersections have their own common areas |
Geometric relationship analysis
Function | describe |
---|---|
Buffer analysis (Buffer) | Polygons and polygons containing all points within a specified distance |
Convex hull analysis (ConvexHull) | Minimal convex hull polygon containing all points of the geometry |
Intersection | A∩B intersection operation is the set of all common points in polygon AB |
Union | The joint operation of AUB AB is the set of all points of AB |
Difference | (AA∩B) The difference analysis of the AB shape is the set of all points where A has B but does not |
2. GeoTools
Geotools is an open source Java library (official website www.geotools.org ) for processing and analyzing geospatial data, and provides a set of tools and APIs to use geospatial data in Java applications. It is a mature GIS library with a wide range of functions and support, and can be used in a variety of application scenarios, including map production, data analysis, spatial query and visualization, etc. Geotools is rich in functions and its features include:
- Supports multiple open standards such as OGC, ISO and OpenGIS, allowing it to interact with other GIS and geographic information systems.
- Can handle a variety of data formats, including Shapefile, GeoJSON, KML, GML, etc.
- Supports multiple data sources, including files, databases, web services, etc.
- Provides a variety of spatial analysis tools, such as buffer analysis, spatial query, geocoding, spatial statistical analysis, etc.
- Supports multiple projections and coordinate systems, and provides definitions of some common projections and coordinate systems.
- Provides a variety of visualization tools, such as renderers, symbolization tools, annotations, etc., to help users create dynamic and interactive maps.
maven warehouse configuration
maven configuration
GeoTools POM dependencies
- gt-shapefile: Library for reading and writing Shapefile files.
- gt-swing: Library for creating Swing applications, including creating map frames and displaying maps.
- gt-epsg-hsql: Library for providing EPSG projection and coordinate system definitions.
- gt-geojson: Library for reading and writing GeoJSON files.
- gt-referencing: A library for working with coordinate reference systems and projections.
- gt-coverage: Library for processing raster coverage data.
3. GeoServer
GeoServer is a J2EE implementation of the OpenGIS Web server specification. GeoServer can be used to easily publish map data and allow users to update, delete, and insert feature data. GeoServer can quickly and easily share spatial geographic information among users.
GeoServer supports a series of services according to OGC standards, supports databases such as PostgreSQL and MySQL, as well as middleware and file resources such as ArcSDE and ShapeFile, and can output network maps into various images and data formats such as JPEG, PNG, KML, etc., and supports a variety of customers. End-end frameworks, such as Openlayers, mapbox, etc.
GeoServer interface
GeoServer’s common plug-in
GeoWebCache is an open source tile cache server that can be used in conjunction with GeoServer to improve map performance and scalability. GeoWebCache supports multiple data sources and projection methods and can cache various types of map data.
Illustration caching service
WPS Plugin is an open source GeoServer plug-in that supports the WPS (Web Processing Service) standard. It can expose GeoServer data and functions as WPS services, allowing users to perform geoprocessing tasks through a Web interface.
Image Mosaic JDBC Plugin is an open source GeoServer plug-in used to support image mosaic based on JDBC data sources. It can dynamically load image data from the database and supports various types of data sources and image formats.
CSS Styling Plugin is an open source GeoServer plug-in that supports map rendering based on CSS style sheets. It can control the style and layout of the map through simple CSS syntax, and supports various types of data sources and layers.
Style configuration
*{ fill: #02C6FF; fill-opacity: 0.7; stroke-width: 0.2; }
GeoServer SLD Styler is a JavaScript and XML-based plug-in for creating and editing GeoServer SLD style files. It provides a visual interface to easily edit styles, and also supports importing and exporting style files.
GeoServer Vector Tiles is a plug-in for creating and publishing vector tiles, supporting various types of vector data, including GeoJSON, KML, WKT, etc. It can conveniently publish vector data as vector tile services to improve the efficiency of data loading and rendering.
GeoServer-Manager is a Java library used to manage GeoServer configuration and data. It provides some simple and easy-to-use APIs that can be used to add, delete and modify layers, workspaces, styles, data storage, etc. in GeoServer. GeoServer-StyleEditor is a web application for editing GeoServer styles. It provides some visual tools and editors to quickly create and modify styles, and preview the effects in real time.
GeoServer-StyleEditor
GeoServer-FeatureInfo is used to enhance the functionality of WMS GetFeatureInfo requests. It can present the results of the GetFeatureInfo request in table form, supports custom styles and sorting, and provides some hook functions and APIs that can be used for extended functions and customized development.
App-Schema is an open source data conversion and publishing framework that can convert non-spatial data into spatial data and publish it to GeoServer. It supports a variety of data sources and formats, including XML, JSON, CSV, and more.
GeoServer-Printing is used to generate high-quality map printouts. It supports custom map layout, scale, legend, text annotation and other functions, and provides a variety of output formats and printing options.
4. uDig
uDig is an extension project of Geotools, an open source (EPL and BSD) desktop application framework, a desktop GIS (geographic information system) built on Eclipse RCP and GeoTools; it is an open source desktop GIS software, based on Java and Eclipse platforms. It can edit and view shp format map files; it is an open source spatial data viewer/editor with special enhancements to the OpenGIS standard, Internet GIS, network map servers and network function servers. uDig provides a general Java platform for building spatial applications using open source components.
The URL is: udig.refractions.net/download/
Follow Mapmost and continue to update GIS, 3D art, and computer technology information
Mapmost is a digital twin base platform featuring three-dimensional maps and spatio-temporal computing, including spatial data management tools (Studio), application development tools (SDK), and application creation tools (Alpha). The platform capabilities have covered the integration of urban spatiotemporal data, the release and management of multi-source data resources, and the digital twin application development tool chain, meeting the practical needs of enterprise developers and users to quickly build digital twin scenarios and helping to achieve industry leadership.