website/versioned_docs/version-3.x/api/misc.mdx
import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem';
These functions include descriptions of the H3 grid system.
<Tabs groupId="language" defaultValue="c" values={[ {label: 'C', value: 'c'}, {label: 'Python', value: 'python'}, {label: 'Java', value: 'java'}, {label: 'JavaScript (Live)', value: 'javascript'}, ] }> <TabItem value="c">
double degsToRads(double degrees);
:::note
Use math.radians(degrees) instead.
:::
</TabItem> <TabItem value="java">:::note
Use java.lang.Math.toRadians(double degrees) instead.
:::
</TabItem> <TabItem value="javascript">h3.degsToRads(degrees)
function example() {
const degrees = 45;
return h3.degsToRads(degrees);
}
Converts degrees to radians.
<Tabs groupId="language" defaultValue="c" values={[ {label: 'C', value: 'c'}, {label: 'Python', value: 'python'}, {label: 'Java', value: 'java'}, {label: 'JavaScript (Live)', value: 'javascript'}, ] }> <TabItem value="c">
double radsToDegs(double radians);
:::note
Use math.degrees(radians) instead.
:::
</TabItem> <TabItem value="java">:::note
Use java.lang.Math.toDegrees(double radians) instead.
:::
</TabItem> <TabItem value="javascript">h3.radsToDegs(h)
function example() {
const radians = 3.14159;
return h3.radsToDegs(radians);
}
Converts radians to degrees.
<Tabs groupId="language" defaultValue="c" values={[ {label: 'C', value: 'c'}, {label: 'Python', value: 'python'}, {label: 'Java', value: 'java'}, {label: 'JavaScript (Live)', value: 'javascript'}, ] }> <TabItem value="c">
double hexAreaKm2(int res);
h3.hex_area(res, unit='km^2')
double hexArea(int res, AreaUnit unit);
h3.hexArea(res, h3.UNITS.km2)
function example() {
const res = 5;
return h3v3.hexArea(res, h3v3.UNITS.km2);
}
Average hexagon area in square kilometers at the given resolution.
<Tabs groupId="language" defaultValue="c" values={[ {label: 'C', value: 'c'}, {label: 'Python', value: 'python'}, {label: 'Java', value: 'java'}, {label: 'JavaScript (Live)', value: 'javascript'}, ] }> <TabItem value="c">
double hexAreaM2(int res);
h3.hex_area(res, unit='m^2')
double hexArea(int res, AreaUnit unit);
h3.hexArea(res, h3.UNITS.m2)
function example() {
const res = 5;
return h3v3.hexArea(res, h3v3.UNITS.m2);
}
Average hexagon area in square meters at the given resolution.
<Tabs groupId="language" defaultValue="c" values={[ {label: 'C', value: 'c'}, {label: 'Python', value: 'python'}, {label: 'Java', value: 'java'}, {label: 'JavaScript (Live)', value: 'javascript'}, ] }> <TabItem value="c">
double cellAreaM2(H3Index h);
h3.cell_area(h, unit='m^2')
double cellArea(long h3, AreaUnit unit);
int cellArea(String h3Address, AreaUnit unit);
h3.cellArea(h, h3.UNITS.m2)
function example() {
const h = '85283473fffffff';
return h3v3.cellArea(h, h3v3.UNITS.m2);
}
Exact area of specific cell in square meters.
<Tabs groupId="language" defaultValue="c" values={[ {label: 'C', value: 'c'}, {label: 'Python', value: 'python'}, {label: 'Java', value: 'java'}, {label: 'JavaScript (Live)', value: 'javascript'}, ] }> <TabItem value="c">
double cellAreaRads2(H3Index h);
h3.cell_area(h, unit='rads^2')
double cellArea(long h3, AreaUnit unit);
int cellArea(String h3Address, AreaUnit unit);
h3.cellArea(h, h3.UNITS.rads2)
function example() {
const h = '85283473fffffff';
return h3v3.cellArea(h, h3v3.UNITS.rads2);
}
Exact area of specific cell in square radians.
<Tabs groupId="language" defaultValue="c" values={[ {label: 'C', value: 'c'}, {label: 'Python', value: 'python'}, {label: 'Java', value: 'java'}, {label: 'JavaScript (Live)', value: 'javascript'}, ] }> <TabItem value="c">
double edgeLengthKm(int res);
h3.edge_length(res, unit='km')
double edgeLength(int res, LengthUnit unit);
h3.edgeLength(res, h3.UNITS.km)
function example() {
const res = 5;
return h3v3.edgeLength(res, h3v3.UNITS.km);
}
Average hexagon edge length in kilometers at the given resolution.
<Tabs groupId="language" defaultValue="c" values={[ {label: 'C', value: 'c'}, {label: 'Python', value: 'python'}, {label: 'Java', value: 'java'}, {label: 'JavaScript (Live)', value: 'javascript'}, ] }> <TabItem value="c">
double edgeLengthM(int res);
h3.edge_length(res, unit='m')
double edgeLength(int res, LengthUnit unit);
h3.edgeLength(res, h3.UNITS.m)
function example() {
const res = 5;
return h3v3.edgeLength(res, h3v3.UNITS.m);
}
Average hexagon edge length in meters at the given resolution.
<Tabs groupId="language" defaultValue="c" values={[ {label: 'C', value: 'c'}, {label: 'Python', value: 'python'}, {label: 'Java', value: 'java'}, {label: 'JavaScript (Live)', value: 'javascript'}, ] }> <TabItem value="c">
double exactEdgeLengthKm(H3Index edge);
h3.exact_edge_length(h, unit='km')
double exactEdgeLength(long h3, LengthUnit unit);
double exactEdgeLength(String h3Address, LengthUnit unit);
h3.exactEdgeLength(h3, h3.UNITS.km)
function example() {
const h = '115283473fffffff';
return h3v3.exactEdgeLength(h, h3v3.UNITS.km);
}
Exact edge length of specific unidirectional edge in kilometers.
<Tabs groupId="language" defaultValue="c" values={[ {label: 'C', value: 'c'}, {label: 'Python', value: 'python'}, {label: 'Java', value: 'java'}, {label: 'JavaScript (Live)', value: 'javascript'}, ] }> <TabItem value="c">
double exactEdgeLengthM(H3Index edge);
h3.exact_edge_length(h, unit='m')
double exactEdgeLength(long h3, LengthUnit unit);
double exactEdgeLength(String h3Address, LengthUnit unit);
h3.exactEdgeLength(h3, h3.UNITS.m)
function example() {
const h = '115283473fffffff';
return h3v3.exactEdgeLength(h, h3v3.UNITS.m);
}
Exact edge length of specific unidirectional edge in meters.
<Tabs groupId="language" defaultValue="c" values={[ {label: 'C', value: 'c'}, {label: 'Python', value: 'python'}, {label: 'Java', value: 'java'}, {label: 'JavaScript (Live)', value: 'javascript'}, ] }> <TabItem value="c">
double exactEdgeLengthRads(H3Index edge);
h3.exact_edge_length(h, unit='rads')
double exactEdgeLength(long h3, LengthUnit unit);
double exactEdgeLength(String h3Address, LengthUnit unit);
h3.exactEdgeLength(h3, h3.UNITS.rads)
function example() {
const h = '115283473fffffff';
return h3v3.exactEdgeLength(h, h3v3.UNITS.rads);
}
Exact edge length of specific unidirectional edge in radians.
<Tabs groupId="language" defaultValue="c" values={[ {label: 'C', value: 'c'}, {label: 'Python', value: 'python'}, {label: 'Java', value: 'java'}, {label: 'JavaScript (Live)', value: 'javascript'}, ] }> <TabItem value="c">
int64_t numHexagons(int res);
h3.num_hexagons(res)
long numHexagons(int res);
h3.numHexagons(res)
function example() {
const res = 5;
return h3v3.numHexagons(res);
}
Number of unique H3 indexes at the given resolution.
<Tabs groupId="language" defaultValue="c" values={[ {label: 'C', value: 'c'}, {label: 'Python', value: 'python'}, {label: 'Java', value: 'java'}, {label: 'JavaScript (Live)', value: 'javascript'}, ] }> <TabItem value="c">
void getRes0Indexes(H3Index *out);
h3.get_res0_indexes(res)
Collection<Long> getRes0Indexes(int res);
Collection<String> getRes0IndexesAddresses(int res);
h3.getRes0Indexes(res)
function example() {
const res = 5;
return h3v3.getRes0Indexes(res);
}
All the resolution 0 H3 indexes.
out must be an array of at least size res0IndexCount().
<Tabs groupId="language" defaultValue="c" values={[ {label: 'C', value: 'c'}, {label: 'Python', value: 'python'}, {label: 'Java', value: 'java'}, {label: 'JavaScript (Live)', value: 'javascript'}, ] }> <TabItem value="c">
int res0IndexCount(void);
:::note
This function exists for memory management and is not exposed.
:::
</TabItem> <TabItem value="java">:::note
This function exists for memory management and is not exposed.
:::
</TabItem> <TabItem value="javascript">:::note
This function exists for memory management and is not exposed.
:::
</TabItem> </Tabs>Number of resolution 0 H3 indexes.
<Tabs groupId="language" defaultValue="c" values={[ {label: 'C', value: 'c'}, {label: 'Python', value: 'python'}, {label: 'Java', value: 'java'}, {label: 'JavaScript (Live)', value: 'javascript'}, ] }> <TabItem value="c">
void getPentagonIndexes(int res, H3Index *out);
h3.get_pentagon_indexes(res)
Collection<Long> getPentagonIndexes(int res);
Collection<String> getPentagonIndexesAddresses(int res);
h3.getPentagonIndexes(res)
function example() {
const res = 5;
return h3v3.getPentagonIndexes(res);
}
All the pentagon H3 indexes at the specified resolution.
out must be an array of at least size pentagonIndexCount().
<Tabs groupId="language" defaultValue="c" values={[ {label: 'C', value: 'c'}, {label: 'Python', value: 'python'}, {label: 'Java', value: 'java'}, {label: 'JavaScript (Live)', value: 'javascript'}, ] }> <TabItem value="c">
int pentagonIndexCount(void);
:::note
This function exists for memory management and is not exposed.
:::
</TabItem> <TabItem value="java">:::note
This function exists for memory management and is not exposed.
:::
</TabItem> <TabItem value="javascript">:::note
This function exists for memory management and is not exposed.
:::
</TabItem> </Tabs>Number of pentagon H3 indexes per resolution. This is always 12, but provided as a convenience.
<Tabs groupId="language" defaultValue="c" values={[ {label: 'C', value: 'c'}, {label: 'Python', value: 'python'}, {label: 'Java', value: 'java'}, {label: 'JavaScript (Live)', value: 'javascript'}, ] }> <TabItem value="c">
double pointDistKm(const GeoCoord *a, const GeoCoord *b);
h3.point_dist(point1, point2, unit='km')
double pointDist(GeoCoord point1, GeoCoord point2, LengthUnit unit);
h3.pointDist(point1, point2, h3.UNITS.km)
function example() {
const point1 = [-10, 0];
const point2 = [10, 0];
return h3v3.pointDist(point1, point2, h3v3.UNITS.km)
}
Gives the "great circle" or "haversine" distance between pairs of GeoCoord points (lat/lng pairs) in kilometers.
<Tabs groupId="language" defaultValue="c" values={[ {label: 'C', value: 'c'}, {label: 'Python', value: 'python'}, {label: 'Java', value: 'java'}, {label: 'JavaScript (Live)', value: 'javascript'}, ] }> <TabItem value="c">
double pointDistM(const GeoCoord *a, const GeoCoord *b);
h3.point_dist(point1, point2, unit='m')
double pointDist(GeoCoord point1, GeoCoord point2, LengthUnit unit);
h3.pointDist(point1, point2, h3.UNITS.m)
function example() {
const point1 = [-10, 0];
const point2 = [10, 0];
return h3v3.pointDist(point1, point2, h3v3.UNITS.m)
}
Gives the "great circle" or "haversine" distance between pairs of GeoCoord points (lat/lng pairs) in meters.
<Tabs groupId="language" defaultValue="c" values={[ {label: 'C', value: 'c'}, {label: 'Python', value: 'python'}, {label: 'Java', value: 'java'}, {label: 'JavaScript (Live)', value: 'javascript'}, ] }> <TabItem value="c">
double pointDistRads(const GeoCoord *a, const GeoCoord *b);
h3.point_dist(point1, point2, unit='rads')
double pointDist(GeoCoord point1, GeoCoord point2, LengthUnit unit);
h3.pointDist(point1, point2, h3.UNITS.rads)
function example() {
const point1 = [-10, 0];
const point2 = [10, 0];
return h3v3.pointDist(point1, point2, h3v3.UNITS.rads)
}
Gives the "great circle" or "haversine" distance between pairs of GeoCoord points (lat/lng pairs) in radians.