本文整理了Java中com.graphhopper.util.Helper.degreeToInt()
方法的一些代码示例,展示了Helper.degreeToInt()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Helper.degreeToInt()
方法的具体详情如下:
包路径:com.graphhopper.util.Helper
类名称:Helper
方法名:degreeToInt
[英]Converts into an integer to be compatible with the still limited DataAccess class (accepts only integer values). But this conversion also reduces memory consumption where the precision loss is acceptable. As +- 180° and +-90° are assumed as maximum values.
[中]转换为整数以与仍然有限的DataAccess类兼容(仅接受整数值)。但在精度损失可以接受的情况下,这种转换还可以减少内存消耗。假定+180°和+90°为最大值。
代码示例来源:origin: graphhopper/graphhopper
private void _setNode(int nodeId, double lat, double lon, double ele) {
ensureNode(nodeId);
long tmp = (long) nodeId * rowSizeInBytes;
da.setInt(tmp + LAT, Helper.degreeToInt(lat));
da.setInt(tmp + LON, Helper.degreeToInt(lon));
if (is3D())
da.setInt(tmp + ELE, Helper.eleToInt(ele));
}
代码示例来源:origin: graphhopper/graphhopper
protected int setNodesHeader() {
nodes.setHeader(1 * 4, nodeEntryBytes);
nodes.setHeader(2 * 4, nodeCount);
nodes.setHeader(3 * 4, Helper.degreeToInt(bounds.minLon));
nodes.setHeader(4 * 4, Helper.degreeToInt(bounds.maxLon));
nodes.setHeader(5 * 4, Helper.degreeToInt(bounds.minLat));
nodes.setHeader(6 * 4, Helper.degreeToInt(bounds.maxLat));
if (bounds.hasElevation()) {
nodes.setHeader(7 * 4, Helper.eleToInt(bounds.minEle));
nodes.setHeader(8 * 4, Helper.eleToInt(bounds.maxEle));
}
nodes.setHeader(9 * 4, isFrozen() ? 1 : 0);
return 10;
}
代码示例来源:origin: graphhopper/graphhopper
@Override
public final void setNode(int nodeId, double lat, double lon, double ele) {
that.ensureNodeIndex(nodeId);
long tmp = (long) nodeId * that.nodeEntryBytes;
that.nodes.setInt(tmp + that.N_LAT, Helper.degreeToInt(lat));
that.nodes.setInt(tmp + that.N_LON, Helper.degreeToInt(lon));
if (is3D()) {
// meter precision is sufficient for now
that.nodes.setInt(tmp + that.N_ELE, Helper.eleToInt(ele));
that.bounds.update(lat, lon, ele);
} else {
that.bounds.update(lat, lon);
}
// set the default value for the additional field of this node
if (that.extStorage.isRequireNodeField())
that.nodes.setInt(tmp + that.N_ADDITIONAL, that.extStorage.getDefaultNodeFieldValue());
}
代码示例来源:origin: graphhopper/graphhopper
private byte[] createWayGeometryBytes(PointList pillarNodes, boolean reverse) {
int len = pillarNodes.getSize();
int dim = nodeAccess.getDimension();
int totalLen = len * dim * 4 + 4;
byte[] bytes = new byte[totalLen];
bitUtil.fromInt(bytes, len, 0);
if (reverse)
pillarNodes.reverse();
int tmpOffset = 4;
boolean is3D = nodeAccess.is3D();
for (int i = 0; i < len; i++) {
double lat = pillarNodes.getLatitude(i);
bitUtil.fromInt(bytes, Helper.degreeToInt(lat), tmpOffset);
tmpOffset += 4;
bitUtil.fromInt(bytes, Helper.degreeToInt(pillarNodes.getLongitude(i)), tmpOffset);
tmpOffset += 4;
if (is3D) {
bitUtil.fromInt(bytes, Helper.eleToInt(pillarNodes.getElevation(i)), tmpOffset);
tmpOffset += 4;
}
}
return bytes;
}
代码示例来源:origin: graphhopper/graphhopper
@Test
public void testHeader() {
DataAccess da = createDataAccess(name);
da.create(300);
da.setHeader(7 * 4, 123);
assertEquals(123, da.getHeader(7 * 4));
da.setHeader(10 * 4, Integer.MAX_VALUE / 3);
assertEquals(Integer.MAX_VALUE / 3, da.getHeader(10 * 4));
da.setHeader(11 * 4, Helper.degreeToInt(123.321));
assertEquals(123.321, Helper.intToDegree(da.getHeader(11 * 4)), 1e-4);
da.flush();
da.close();
da = createDataAccess(name);
assertTrue(da.loadExisting());
assertEquals(123, da.getHeader(7 * 4));
da.close();
}
代码示例来源:origin: com.graphhopper/graphhopper
private void _setNode( int nodeId, double lat, double lon, double ele )
{
ensureNode(nodeId);
long tmp = (long) nodeId * rowSizeInBytes;
da.setInt(tmp + LAT, Helper.degreeToInt(lat));
da.setInt(tmp + LON, Helper.degreeToInt(lon));
if (is3D())
da.setInt(tmp + ELE, Helper.eleToInt(ele));
}
代码示例来源:origin: com.graphhopper/graphhopper-core
private void _setNode(int nodeId, double lat, double lon, double ele) {
ensureNode(nodeId);
long tmp = (long) nodeId * rowSizeInBytes;
da.setInt(tmp + LAT, Helper.degreeToInt(lat));
da.setInt(tmp + LON, Helper.degreeToInt(lon));
if (is3D())
da.setInt(tmp + ELE, Helper.eleToInt(ele));
}
代码示例来源:origin: com.rgi-corp/graphhopper
private void _setNode(int nodeId, double lat, double lon, double ele) {
ensureNode(nodeId);
long tmp = (long) nodeId * rowSizeInBytes;
da.setInt(tmp + LAT, Helper.degreeToInt(lat));
da.setInt(tmp + LON, Helper.degreeToInt(lon));
if (is3D())
da.setInt(tmp + ELE, Helper.eleToInt(ele));
}
代码示例来源:origin: com.rgi-corp/graphhopper
protected int setNodesHeader() {
nodes.setHeader(1 * 4, nodeEntryBytes);
nodes.setHeader(2 * 4, nodeCount);
nodes.setHeader(3 * 4, Helper.degreeToInt(bounds.minLon));
nodes.setHeader(4 * 4, Helper.degreeToInt(bounds.maxLon));
nodes.setHeader(5 * 4, Helper.degreeToInt(bounds.minLat));
nodes.setHeader(6 * 4, Helper.degreeToInt(bounds.maxLat));
if (bounds.hasElevation()) {
nodes.setHeader(7 * 4, Helper.eleToInt(bounds.minEle));
nodes.setHeader(8 * 4, Helper.eleToInt(bounds.maxEle));
}
nodes.setHeader(9 * 4, isFrozen() ? 1 : 0);
return 10;
}
代码示例来源:origin: com.graphhopper/graphhopper-core
protected int setNodesHeader() {
nodes.setHeader(1 * 4, nodeEntryBytes);
nodes.setHeader(2 * 4, nodeCount);
nodes.setHeader(3 * 4, Helper.degreeToInt(bounds.minLon));
nodes.setHeader(4 * 4, Helper.degreeToInt(bounds.maxLon));
nodes.setHeader(5 * 4, Helper.degreeToInt(bounds.minLat));
nodes.setHeader(6 * 4, Helper.degreeToInt(bounds.maxLat));
if (bounds.hasElevation()) {
nodes.setHeader(7 * 4, Helper.eleToInt(bounds.minEle));
nodes.setHeader(8 * 4, Helper.eleToInt(bounds.maxEle));
}
nodes.setHeader(9 * 4, isFrozen() ? 1 : 0);
return 10;
}
代码示例来源:origin: com.graphhopper/graphhopper
protected int setNodesHeader()
{
nodes.setHeader(1 * 4, nodeEntryBytes);
nodes.setHeader(2 * 4, nodeCount);
nodes.setHeader(3 * 4, Helper.degreeToInt(bounds.minLon));
nodes.setHeader(4 * 4, Helper.degreeToInt(bounds.maxLon));
nodes.setHeader(5 * 4, Helper.degreeToInt(bounds.minLat));
nodes.setHeader(6 * 4, Helper.degreeToInt(bounds.maxLat));
if (bounds.hasElevation())
{
nodes.setHeader(7 * 4, Helper.eleToInt(bounds.minEle));
nodes.setHeader(8 * 4, Helper.eleToInt(bounds.maxEle));
}
nodes.setHeader(9 * 4, isFrozen() ? 1 : 0);
return 10;
}
代码示例来源:origin: com.graphhopper/graphhopper-core
@Override
public final void setNode(int nodeId, double lat, double lon, double ele) {
that.ensureNodeIndex(nodeId);
long tmp = (long) nodeId * that.nodeEntryBytes;
that.nodes.setInt(tmp + that.N_LAT, Helper.degreeToInt(lat));
that.nodes.setInt(tmp + that.N_LON, Helper.degreeToInt(lon));
if (is3D()) {
// meter precision is sufficient for now
that.nodes.setInt(tmp + that.N_ELE, Helper.eleToInt(ele));
that.bounds.update(lat, lon, ele);
} else {
that.bounds.update(lat, lon);
}
// set the default value for the additional field of this node
if (that.extStorage.isRequireNodeField())
that.nodes.setInt(tmp + that.N_ADDITIONAL, that.extStorage.getDefaultNodeFieldValue());
}
代码示例来源:origin: com.rgi-corp/graphhopper
@Override
public final void setNode(int nodeId, double lat, double lon, double ele) {
that.ensureNodeIndex(nodeId);
long tmp = (long) nodeId * that.nodeEntryBytes;
that.nodes.setInt(tmp + that.N_LAT, Helper.degreeToInt(lat));
that.nodes.setInt(tmp + that.N_LON, Helper.degreeToInt(lon));
if (is3D()) {
// meter precision is sufficient for now
that.nodes.setInt(tmp + that.N_ELE, Helper.eleToInt(ele));
that.bounds.update(lat, lon, ele);
} else {
that.bounds.update(lat, lon);
}
// set the default value for the additional field of this node
if (that.extStorage.isRequireNodeField())
that.nodes.setInt(tmp + that.N_ADDITIONAL, that.extStorage.getDefaultNodeFieldValue());
}
代码示例来源:origin: com.graphhopper/graphhopper
@Override
public final void setNode( int nodeId, double lat, double lon, double ele )
{
that.ensureNodeIndex(nodeId);
long tmp = (long) nodeId * that.nodeEntryBytes;
that.nodes.setInt(tmp + that.N_LAT, Helper.degreeToInt(lat));
that.nodes.setInt(tmp + that.N_LON, Helper.degreeToInt(lon));
if (is3D())
{
// meter precision is sufficient for now
that.nodes.setInt(tmp + that.N_ELE, Helper.eleToInt(ele));
that.bounds.update(lat, lon, ele);
} else
{
that.bounds.update(lat, lon);
}
// set the default value for the additional field of this node
if (that.extStorage.isRequireNodeField())
that.nodes.setInt(tmp + that.N_ADDITIONAL, that.extStorage.getDefaultNodeFieldValue());
}
代码示例来源:origin: com.rgi-corp/graphhopper
private byte[] createWayGeometryBytes(PointList pillarNodes, boolean reverse) {
int len = pillarNodes.getSize();
int dim = nodeAccess.getDimension();
int totalLen = len * dim * 4 + 4;
byte[] bytes = new byte[totalLen];
bitUtil.fromInt(bytes, len, 0);
if (reverse)
pillarNodes.reverse();
int tmpOffset = 4;
boolean is3D = nodeAccess.is3D();
for (int i = 0; i < len; i++) {
double lat = pillarNodes.getLatitude(i);
bitUtil.fromInt(bytes, Helper.degreeToInt(lat), tmpOffset);
tmpOffset += 4;
bitUtil.fromInt(bytes, Helper.degreeToInt(pillarNodes.getLongitude(i)), tmpOffset);
tmpOffset += 4;
if (is3D) {
bitUtil.fromInt(bytes, Helper.eleToInt(pillarNodes.getElevation(i)), tmpOffset);
tmpOffset += 4;
}
}
return bytes;
}
代码示例来源:origin: com.graphhopper/graphhopper-core
private byte[] createWayGeometryBytes(PointList pillarNodes, boolean reverse) {
int len = pillarNodes.getSize();
int dim = nodeAccess.getDimension();
int totalLen = len * dim * 4 + 4;
byte[] bytes = new byte[totalLen];
bitUtil.fromInt(bytes, len, 0);
if (reverse)
pillarNodes.reverse();
int tmpOffset = 4;
boolean is3D = nodeAccess.is3D();
for (int i = 0; i < len; i++) {
double lat = pillarNodes.getLatitude(i);
bitUtil.fromInt(bytes, Helper.degreeToInt(lat), tmpOffset);
tmpOffset += 4;
bitUtil.fromInt(bytes, Helper.degreeToInt(pillarNodes.getLongitude(i)), tmpOffset);
tmpOffset += 4;
if (is3D) {
bitUtil.fromInt(bytes, Helper.eleToInt(pillarNodes.getElevation(i)), tmpOffset);
tmpOffset += 4;
}
}
return bytes;
}
代码示例来源:origin: com.graphhopper/graphhopper
bitUtil.fromInt(bytes, Helper.degreeToInt(lat), tmpOffset);
tmpOffset += 4;
bitUtil.fromInt(bytes, Helper.degreeToInt(pillarNodes.getLongitude(i)), tmpOffset);
tmpOffset += 4;
内容来源于网络,如有侵权,请联系作者删除!