Comments (6)
https://github.com/geoHeil/GeoSpark/tree/shadingJTS here is a prototype built with the instructions of http://stackoverflow.com/questions/21021485/how-to-configure-maven-shade-plugin-in-a-multi-module-project
Why did you not use the parent pom
in the modules?
from sedona.
When not minimizing the resulting jar, the contents are fine. Whilst at it I would suggest to shade guava as well in order to not clash with i.e. geotools but mostly geospark
from sedona.
Hi @geoHeil , thanks for your comments! You gave me lots of great suggestion.
I have several questions about this issue: 1. In the new PR, it seems you create another module to make the shading work. This module packaged all GeoSpark and Babylon together. This is not expected. I will update JTSplus repository to avoid this conflict. 2. I am not sure why Guava is packaged into GeoSpark. I think I should totally exclude it. Will this solve the Guava conflict?
from sedona.
@jiayuasu , to my knowledge there are 2-3 Problems
- JTS geospark is using JTSPlus which is a mashup of JTS and additional functionality
- guava, spark is using guava as well, this simply should be shaded
- Geotools C dependencies (JAI) are not included / not included in the right version. (very tricky) http://stackoverflow.com/questions/43910006/geotools-jai-fatjar-causing-problems-in-native-dependencies
What I want to achieve is: Read ESRi ASCII Grid files into geoSpark. Currently I use geotools to read the raster data and create polygons from it.
When having both geospark and geotools in the project, the wrong dependencies are selected. However when shading is applied as outlined above it works.
But it only works if the right assembly strategy (fat-jar) is applied when creating the spark job: http://stackoverflow.com/questions/43910006/geotools-jai-fatjar-causing-problems-in-native-dependencies do you know why the MergeStrategy.first
is working (but has the downside that you do not know what first will be. The more elaborate strategy does seem to fail.
from sedona.
@geoHeil , I will do two things to help you out. 1. I will rename all JTSplus root package name. 2. Remove Guava dependency.
Guava dependency is introduced because GeoSpark 0.6.2 depends SerNetCDF which package lots of unrelated packages.
After this, I will push a snapshot version for you to test.
from sedona.
@geoHeil , in GeoSpark 0.7.0,
-
I have integrated the latest GeoTools (17.0) into GeoSpark. I also removed all duplicated classes under JTS root folder. Only JTSplus version JTS exists in GeoSpark fat jar.
-
I changed SerNetCDF to an optional dependency. Therefore, you won't see any unrelated libraries in the GeoSpark fat jar such as Guava.
Thanks,
Jia
from sedona.
Related Issues (20)
- Support of 3D?
- Feature request: ST_Snap HOT 1
- Microsoft Fabric HOT 26
- Apache Sedona backend for Ibis project?
- Save / Load indexed spatial & partitioned Rdd HOT 2
- Clarify SedonaUtils documentation HOT 1
- Write a geotiff raster , but just found _SUCCESS file in output HDFS dir HOT 3
- Noisy warnings on optional imports
- Map RDD and GeometryType (not an instance of type GeometryType()) HOT 2
- When I resample a raster to very width*height raster , Serde.serialize is limited in 2GB HOT 2
- When I use Bicubic alg to resample a raster with no data pixel , the output raster would be filled unexpected data in no data pixel HOT 3
- fieldNames - AttributeError: Not available before 1.0.0 sedona version HOT 4
- Undeclared IPython dependency HOT 1
- GeometryType(geom) triggered an exception HOT 6
- ST_Difference function crashes while working on some geometries HOT 3
- executor logs : WARN factory: Can't load a service for category "Operation"
- Preserve Spatial Partitioning From RDD to Dataframe HOT 2
- issue about function RS_SetBandNoDataValue HOT 1
- ST_Pixelize small polygon error HOT 6
- ST_Pixelize drawing polygon perimeter rather than all pixels in polygon 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.