Comments (3)
I'm not a Sedona developer, but can provide a few hints. Sedona currently uses GeoTools for coordinate transformations. There is a discussion about replacing GeoTools by Apache SIS at least for licensing reasons (there is also other advantages), but I do not know what would be the timeline.
The problem that you describe is very true, and is one of the spatial referencing complexities that not many developers are aware of. The PROJ and Apache SIS libraries can mitigate this problem by allowing users to specify an area of interest. Those libraries then select the coordinate transformation with a domain of validity having the largest intersection with the specified area. I do not remember if GeoTools has this capability too. But if Sedona used a library having this capability, then ideally Sedona should automatically provide the bounding box of the data (if this information is available cheaply) to the referencing library for allowing it to choose a better transformation. This approach would improve the results without additional effort from user's side.
Alternatively, for more advanced users, Apache SIS (and I think also PROJ) allows them to specify explicitly the EPSG code of the coordinate operation that they want to use. I guess that making such existing capabilities accessible to users may be suggestions for future Sedona evolution.
In the near future, with the evolution of standards such as ISO 19111:2019, providing the CRS will not be sufficient anymore for users who want a centimetric precision. It will also be necessary to specify the temporal epoch. So some evolution of Sedona API will be needed anyway.
from sedona.
Thank you for your input. I agree with what you say, although bounding box would solve some of the issues, we also have a historical/time dimension to it, where maybe currently we have a transformation which is better, but we would like to choose one which was used earlier in time, so we transform using the same definition.
from sedona.
Thank you for the insightful discussion. The Sedona community has realized the importance of a comprehensive CRS lib. We have started to migration to Apache SIS in 1.6.0 release. Hopefully this can be done in 1.6.1 or 1.7.0, which is 3 - 6 month.
from sedona.
Related Issues (20)
- Unable to use sedona.global.charset in ShapefileReader HOT 4
- Add `markdown-link-check` with `pre-commit` HOT 2
- Add documentation on `pre-commit` usage
- We should add `ruff-pre-commit` a `pre-commit` hook for `Ruff` for Python linting and formatting HOT 1
- Add some `pre-commit` hooks that target the `R` language
- Apache Sedona on Fabric, does not read parquet from Lakehouse HOT 7
- Images should have alternate text (alt text)
- AWS Glue official tutorial HOT 5
- Hidden requirement for geopandas in apache-sedona[spark] 1.5.2 HOT 4
- after latest update of sedona snow on snowflake side all functions are gone HOT 2
- datatype geometry is not supported when 'create table xxx (geom geometry)' HOT 3
- AttributeError: 'sedona' has no attribute 'read' HOT 2
- St_isempty(geometry) finds non null geometries but does not find null geometries. HOT 2
- ST_Snap example code does not work HOT 2
- Flink Sedona,geomTbl.execute().print() happen error: HOT 2
- Sedona fails to write Delta Lake on Databricks 15.3 Beta: ClassCastException HOT 7
- ST_IsPolygonCW, ST_IsPolygonCCW, ST_ForcePolygonCW and ST_ForcePolygonCCW fails on Polygons without interior ring
- Breaking change between 1.5.3 and 1.6.0 affecting RASTER functions java.lang.NoSuchMethodError: void org.geotools.coverage.grid.GridGeometry2D HOT 5
- There was garbled code when reading Chinese from shp file HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sedona.