Esri / Esri/geometry-api-java

Base Classes for entire ESRI Stack (Java)

Open
#91 6 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
710
Forks
269
Avg merge
7d 23h
Merged PRs (30d)
1

Description

In summary, I believe that this project (or refactored project) should be the base Geometry library for all ESRI Java projects, where other ESRI SDKs reference this project.

Quoting from my comments on the Early Adopter feedback forum (ArcGIS Runtime SDK for Android)

> I'd like to start a discussion around the various base classes that we use in the SDKs and other software.
>
> Many base classes (e.g. Point) are available from the [Geometry API Java](https://github.com/Esri/geometry-api-java), which is a great open source resource. It would be wonderful if the released SDKs also used those base classes (gradle / mvn dependency) as that helps avoid namespace collisions or boilerplate to convert one ESRI point to another ESRI point.
>
> Whilst working on the production API I have come across numerous collisions, which slows productivity. Right this second, The Geometry API has ["GeometryEngine.geodesicDistanceOnWGS84"](https://github.com/Esri/geometry-api-java/blob/master/src/main/java/com/esri/core/geometry/GeometryEngine.java#L900) whereas the Android SDK requires us to use [GeometryEngine.geodesicDistance"](https://developers.arcgis.com/android/api-reference/reference/com/esri/core/geometry/GeometryEngine.html#geodesicDistance%28com.esri.core.geometry.Point, com.esri.core.geometry.Point, com.esri.core.geometry.SpatialReference, com.esri.core.geometry.LinearUnit%29) - both in the same namespace. I see in the Quartz API we have [distanceBetween](https://developers.arcgis.com/android/beta/api-reference/reference/com/esri/arcgisruntime/geometry/GeometryEngine.html), which is a third permutation. Similarly, Geometry.dropAllAttributes is public in the geometry API _but_ default in the Android SDK.
>
> An ideal way forward would be to have well defined base classes (open source as the [geometry library](https://github.com/Esri/geometry-api-java) that everyone can use throughout their private code _but_ ALSO enables them to easily access the ESRI SDK methods.

@shellygill

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.