Replies: 5 comments 12 replies
-
Hello @jsorel, Yes, Apache SIS was listed in our proposal when joining the incubator of the Apache Foundation. I think SIS has the potential to become a very good alternative to GeoTools. Our main use case is the importation of vector data (shapefile, GeoPackage, etc.) into a database for producing vector tiles. I conducted a few experiments last year with Geotoolkit, but couldn't merge them due to license restrictions. As the shapefile reader in Apache SIS is unstable and has not been released, I ended up copying some of its sources into Apache Baremaps. I'd love to rely on Apache SIS and GeoAPI for this in the future. That being said, I found the feature API quite complex and believe the amount of work to implement a codecs is quite significant. A second use case I have in mind is the handling of a raster digital elevation models for producing contour lines and vector hillshades. From what I recently read, Apache SIS will soon provide a Cloud Optimized GeoTIFF reader, and the isoline tracer looks really interesting. I hope I will find time to work on this topic soon. On your side, have you identified some areas on which the two project overlap and should exchange or collaborate? Best, Bertil |
Beta Was this translation helpful? Give feedback.
-
Hello all
Actually Apache SIS has referencing services since 2015. In EPSG terminology, it is a late-binding implementation. PROJ4 and PROJ4J by contrast are early-binding implementations, which was a cause of errors ranging from a few centimetres to 1 or 2 metres. It was a PROJ4 design flaw with profound implications, not a simple bug. PROJ 5 and latter resolved their issue with a 144,000$ fund raising by taking inspiration from Apache SIS (search "SIS" on GDAL barn page). But PROJ4J to my knowledge is still based on the PROJ4 design. Apache SIS provides EPSG data in a separated JAR files since the beginning. The separated JAR file uses the Alternatively, if doing a JavaFX or a console application, Apache SIS also provides mechanisms for interactively propose to the users to download that JAR file when first needed. The EPSG terms of uses are shown to the users, and if they click on "yes" on the question "Do you accept those terms", the JAR file is automatically added to the module path. That mechanism may need to be tweaked for each application however. |
Beta Was this translation helpful? Give feedback.
-
Hello again, The shapefile part in SIS has been revisited, with as you asked, both a high level API (WritableFeatureSet) and a low level one (Shp, Dbf, Shx, Cpg, readers and writers). Here is the javadoc with read/write code examples in each package. Could you have a look and tell me if it seems okay for your needs ? |
Beta Was this translation helpful? Give feedback.
-
@jsorel @desruisseaux I'm currenly working on the creation of vector tiles containing contours and hillshades (all stored as polygons) based on raster DEM and this may be a good opportunity to integrate Apache SIS. The current solution is based on Terrain Tiles but could be adapted to any tiled dataset. It uses ImageIO to access the elevation data stored in the png files. I initially thought about using gdal2tiles to produces similar raster tiles from datasets such as SRTM or Copernicus DEM, however I'd prefer if the whole pipeline was developped in java. Is this something I could achieve with Apache SIS? From what I understand the GridCoverage does not allows for multiple zoom levels (tile pyramid), but it allows for resampling images and getting the data within a bounding box. Let me know your thoughts on the best way to do this. |
Beta Was this translation helpful? Give feedback.
-
Hello Bertil. Thanks for the update and the tip about S3 integration! For EPSG:3857, one way is to create the CRS as below: var crs = CRS.parseWKT(
"""
ProjectedCRS["WGS 84 / Pseudo-Mercator",
BaseGeodCRS["WGS 84",
Datum["World Geodetic System 1984",
Ellipsoid["WGS 84", 6378137.0, 298.257223563]],
Unit["degree", 0.017453292519943295]],
Conversion["Popular Visualisation Pseudo-Mercator",
Method["Popular Visualisation Pseudo Mercator"]],
CS[Cartesian, 2],
Axis["Easting (X)", east],
Axis["Northing (Y)", north],
Unit["metre", 1],
Scope["Certain Web mapping and visualisation applications."],
Id["EPSG", 3857]]
"""); Then it should be possible to use that CRS in |
Beta Was this translation helpful? Give feedback.
-
Hello,
I would like to know if you have any plan to use Apache SIS (https://sis.apache.org/ - https://github.com/apache/sis) ?
There is some overlapping between both projects since SIS is dedicated to Spatial Information System.
Thanks
Beta Was this translation helpful? Give feedback.
All reactions