This library provides Java bindings for the H3 Core Library. For API reference, please see the H3 Documentation.
Add it to your pom.xml:
<dependency>
<groupId>com.uber</groupId>
<artifactId>h3</artifactId>
<version>4.5.0</version>
</dependency>Or, using Gradle:
compile("com.uber:h3:4.5.0")Encode a location into a hexagon address:
H3Core h3 = H3Core.newInstance();
double lat = 37.775938728915946;
double lng = -122.41795063018799;
int res = 9;
String hexAddr = h3.latLngToCellAddress(lat, lng, res);Decode a hexagon address into coordinates:
List<LatLng> LatLngs = h3.cellToGeoBoundary(hexAddr);H3-Java provides bindings to the H3 library, which is written in C. The built artifact supports the following:
| Operating System | Architectures |
|---|---|
| Linux | x64, x86, ARM64, ARMv5, ARMv7, PPC64LE, s390x |
| Windows | x64, x86 |
| Darwin (Mac OSX) | x64, ARM64 |
| FreeBSD | x64 |
| Android | ARM, ARM64 |
You may be able to build H3-Java locally if you need to use an operating system or architecture not listed above.
Building the library requires a JDK, Gradle, CMake, and a C compiler. To build:
./gradlew assemble test -Ph3UseDocker=falseAdditional information on how the build process works is available in the build process documentaiton.
# To install build dependencies
sudo pkg install openjdk11 cmake bash
# Ensure /usr/local/openjdk11/bin is on your pathTo build Javadocs documentation:
./gradlew javadoc -Ph3UseDocker=falseThen open the file build/docs/javadoc/index.html.
To run benchmarks, either execute them from IntelliJ or run the following from shell:
./gradlew benchmark -Ph3UseDocker=false拉取请求 and Github issues are welcome. Please see our contributing guide for more information.
Before we can merge your changes, you must agree to the Uber Contributor License Agreement.
H3-Java is licensed under the Apache 2.0 License.
DGGRID Copyright (c) 2015 Southern Oregon University