com.graphhopper.util.Helper.degreeToInt()方法的使用及代码示例

x33g5p2x  于2022-01-20 转载在 其他  
字(9.2k)|赞(0)|评价(0)|浏览(160)

本文整理了Java中com.graphhopper.util.Helper.degreeToInt()方法的一些代码示例,展示了Helper.degreeToInt()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Helper.degreeToInt()方法的具体详情如下:
包路径:com.graphhopper.util.Helper
类名称:Helper
方法名:degreeToInt

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

  1. private void _setNode(int nodeId, double lat, double lon, double ele) {
  2. ensureNode(nodeId);
  3. long tmp = (long) nodeId * rowSizeInBytes;
  4. da.setInt(tmp + LAT, Helper.degreeToInt(lat));
  5. da.setInt(tmp + LON, Helper.degreeToInt(lon));
  6. if (is3D())
  7. da.setInt(tmp + ELE, Helper.eleToInt(ele));
  8. }

代码示例来源:origin: graphhopper/graphhopper

  1. protected int setNodesHeader() {
  2. nodes.setHeader(1 * 4, nodeEntryBytes);
  3. nodes.setHeader(2 * 4, nodeCount);
  4. nodes.setHeader(3 * 4, Helper.degreeToInt(bounds.minLon));
  5. nodes.setHeader(4 * 4, Helper.degreeToInt(bounds.maxLon));
  6. nodes.setHeader(5 * 4, Helper.degreeToInt(bounds.minLat));
  7. nodes.setHeader(6 * 4, Helper.degreeToInt(bounds.maxLat));
  8. if (bounds.hasElevation()) {
  9. nodes.setHeader(7 * 4, Helper.eleToInt(bounds.minEle));
  10. nodes.setHeader(8 * 4, Helper.eleToInt(bounds.maxEle));
  11. }
  12. nodes.setHeader(9 * 4, isFrozen() ? 1 : 0);
  13. return 10;
  14. }

代码示例来源:origin: graphhopper/graphhopper

  1. @Override
  2. public final void setNode(int nodeId, double lat, double lon, double ele) {
  3. that.ensureNodeIndex(nodeId);
  4. long tmp = (long) nodeId * that.nodeEntryBytes;
  5. that.nodes.setInt(tmp + that.N_LAT, Helper.degreeToInt(lat));
  6. that.nodes.setInt(tmp + that.N_LON, Helper.degreeToInt(lon));
  7. if (is3D()) {
  8. // meter precision is sufficient for now
  9. that.nodes.setInt(tmp + that.N_ELE, Helper.eleToInt(ele));
  10. that.bounds.update(lat, lon, ele);
  11. } else {
  12. that.bounds.update(lat, lon);
  13. }
  14. // set the default value for the additional field of this node
  15. if (that.extStorage.isRequireNodeField())
  16. that.nodes.setInt(tmp + that.N_ADDITIONAL, that.extStorage.getDefaultNodeFieldValue());
  17. }

代码示例来源:origin: graphhopper/graphhopper

  1. private byte[] createWayGeometryBytes(PointList pillarNodes, boolean reverse) {
  2. int len = pillarNodes.getSize();
  3. int dim = nodeAccess.getDimension();
  4. int totalLen = len * dim * 4 + 4;
  5. byte[] bytes = new byte[totalLen];
  6. bitUtil.fromInt(bytes, len, 0);
  7. if (reverse)
  8. pillarNodes.reverse();
  9. int tmpOffset = 4;
  10. boolean is3D = nodeAccess.is3D();
  11. for (int i = 0; i < len; i++) {
  12. double lat = pillarNodes.getLatitude(i);
  13. bitUtil.fromInt(bytes, Helper.degreeToInt(lat), tmpOffset);
  14. tmpOffset += 4;
  15. bitUtil.fromInt(bytes, Helper.degreeToInt(pillarNodes.getLongitude(i)), tmpOffset);
  16. tmpOffset += 4;
  17. if (is3D) {
  18. bitUtil.fromInt(bytes, Helper.eleToInt(pillarNodes.getElevation(i)), tmpOffset);
  19. tmpOffset += 4;
  20. }
  21. }
  22. return bytes;
  23. }

代码示例来源:origin: graphhopper/graphhopper

  1. @Test
  2. public void testHeader() {
  3. DataAccess da = createDataAccess(name);
  4. da.create(300);
  5. da.setHeader(7 * 4, 123);
  6. assertEquals(123, da.getHeader(7 * 4));
  7. da.setHeader(10 * 4, Integer.MAX_VALUE / 3);
  8. assertEquals(Integer.MAX_VALUE / 3, da.getHeader(10 * 4));
  9. da.setHeader(11 * 4, Helper.degreeToInt(123.321));
  10. assertEquals(123.321, Helper.intToDegree(da.getHeader(11 * 4)), 1e-4);
  11. da.flush();
  12. da.close();
  13. da = createDataAccess(name);
  14. assertTrue(da.loadExisting());
  15. assertEquals(123, da.getHeader(7 * 4));
  16. da.close();
  17. }

代码示例来源:origin: com.graphhopper/graphhopper

  1. private void _setNode( int nodeId, double lat, double lon, double ele )
  2. {
  3. ensureNode(nodeId);
  4. long tmp = (long) nodeId * rowSizeInBytes;
  5. da.setInt(tmp + LAT, Helper.degreeToInt(lat));
  6. da.setInt(tmp + LON, Helper.degreeToInt(lon));
  7. if (is3D())
  8. da.setInt(tmp + ELE, Helper.eleToInt(ele));
  9. }

代码示例来源:origin: com.graphhopper/graphhopper-core

  1. private void _setNode(int nodeId, double lat, double lon, double ele) {
  2. ensureNode(nodeId);
  3. long tmp = (long) nodeId * rowSizeInBytes;
  4. da.setInt(tmp + LAT, Helper.degreeToInt(lat));
  5. da.setInt(tmp + LON, Helper.degreeToInt(lon));
  6. if (is3D())
  7. da.setInt(tmp + ELE, Helper.eleToInt(ele));
  8. }

代码示例来源:origin: com.rgi-corp/graphhopper

  1. private void _setNode(int nodeId, double lat, double lon, double ele) {
  2. ensureNode(nodeId);
  3. long tmp = (long) nodeId * rowSizeInBytes;
  4. da.setInt(tmp + LAT, Helper.degreeToInt(lat));
  5. da.setInt(tmp + LON, Helper.degreeToInt(lon));
  6. if (is3D())
  7. da.setInt(tmp + ELE, Helper.eleToInt(ele));
  8. }

代码示例来源:origin: com.rgi-corp/graphhopper

  1. protected int setNodesHeader() {
  2. nodes.setHeader(1 * 4, nodeEntryBytes);
  3. nodes.setHeader(2 * 4, nodeCount);
  4. nodes.setHeader(3 * 4, Helper.degreeToInt(bounds.minLon));
  5. nodes.setHeader(4 * 4, Helper.degreeToInt(bounds.maxLon));
  6. nodes.setHeader(5 * 4, Helper.degreeToInt(bounds.minLat));
  7. nodes.setHeader(6 * 4, Helper.degreeToInt(bounds.maxLat));
  8. if (bounds.hasElevation()) {
  9. nodes.setHeader(7 * 4, Helper.eleToInt(bounds.minEle));
  10. nodes.setHeader(8 * 4, Helper.eleToInt(bounds.maxEle));
  11. }
  12. nodes.setHeader(9 * 4, isFrozen() ? 1 : 0);
  13. return 10;
  14. }

代码示例来源:origin: com.graphhopper/graphhopper-core

  1. protected int setNodesHeader() {
  2. nodes.setHeader(1 * 4, nodeEntryBytes);
  3. nodes.setHeader(2 * 4, nodeCount);
  4. nodes.setHeader(3 * 4, Helper.degreeToInt(bounds.minLon));
  5. nodes.setHeader(4 * 4, Helper.degreeToInt(bounds.maxLon));
  6. nodes.setHeader(5 * 4, Helper.degreeToInt(bounds.minLat));
  7. nodes.setHeader(6 * 4, Helper.degreeToInt(bounds.maxLat));
  8. if (bounds.hasElevation()) {
  9. nodes.setHeader(7 * 4, Helper.eleToInt(bounds.minEle));
  10. nodes.setHeader(8 * 4, Helper.eleToInt(bounds.maxEle));
  11. }
  12. nodes.setHeader(9 * 4, isFrozen() ? 1 : 0);
  13. return 10;
  14. }

代码示例来源:origin: com.graphhopper/graphhopper

  1. protected int setNodesHeader()
  2. {
  3. nodes.setHeader(1 * 4, nodeEntryBytes);
  4. nodes.setHeader(2 * 4, nodeCount);
  5. nodes.setHeader(3 * 4, Helper.degreeToInt(bounds.minLon));
  6. nodes.setHeader(4 * 4, Helper.degreeToInt(bounds.maxLon));
  7. nodes.setHeader(5 * 4, Helper.degreeToInt(bounds.minLat));
  8. nodes.setHeader(6 * 4, Helper.degreeToInt(bounds.maxLat));
  9. if (bounds.hasElevation())
  10. {
  11. nodes.setHeader(7 * 4, Helper.eleToInt(bounds.minEle));
  12. nodes.setHeader(8 * 4, Helper.eleToInt(bounds.maxEle));
  13. }
  14. nodes.setHeader(9 * 4, isFrozen() ? 1 : 0);
  15. return 10;
  16. }

代码示例来源:origin: com.graphhopper/graphhopper-core

  1. @Override
  2. public final void setNode(int nodeId, double lat, double lon, double ele) {
  3. that.ensureNodeIndex(nodeId);
  4. long tmp = (long) nodeId * that.nodeEntryBytes;
  5. that.nodes.setInt(tmp + that.N_LAT, Helper.degreeToInt(lat));
  6. that.nodes.setInt(tmp + that.N_LON, Helper.degreeToInt(lon));
  7. if (is3D()) {
  8. // meter precision is sufficient for now
  9. that.nodes.setInt(tmp + that.N_ELE, Helper.eleToInt(ele));
  10. that.bounds.update(lat, lon, ele);
  11. } else {
  12. that.bounds.update(lat, lon);
  13. }
  14. // set the default value for the additional field of this node
  15. if (that.extStorage.isRequireNodeField())
  16. that.nodes.setInt(tmp + that.N_ADDITIONAL, that.extStorage.getDefaultNodeFieldValue());
  17. }

代码示例来源:origin: com.rgi-corp/graphhopper

  1. @Override
  2. public final void setNode(int nodeId, double lat, double lon, double ele) {
  3. that.ensureNodeIndex(nodeId);
  4. long tmp = (long) nodeId * that.nodeEntryBytes;
  5. that.nodes.setInt(tmp + that.N_LAT, Helper.degreeToInt(lat));
  6. that.nodes.setInt(tmp + that.N_LON, Helper.degreeToInt(lon));
  7. if (is3D()) {
  8. // meter precision is sufficient for now
  9. that.nodes.setInt(tmp + that.N_ELE, Helper.eleToInt(ele));
  10. that.bounds.update(lat, lon, ele);
  11. } else {
  12. that.bounds.update(lat, lon);
  13. }
  14. // set the default value for the additional field of this node
  15. if (that.extStorage.isRequireNodeField())
  16. that.nodes.setInt(tmp + that.N_ADDITIONAL, that.extStorage.getDefaultNodeFieldValue());
  17. }

代码示例来源:origin: com.graphhopper/graphhopper

  1. @Override
  2. public final void setNode( int nodeId, double lat, double lon, double ele )
  3. {
  4. that.ensureNodeIndex(nodeId);
  5. long tmp = (long) nodeId * that.nodeEntryBytes;
  6. that.nodes.setInt(tmp + that.N_LAT, Helper.degreeToInt(lat));
  7. that.nodes.setInt(tmp + that.N_LON, Helper.degreeToInt(lon));
  8. if (is3D())
  9. {
  10. // meter precision is sufficient for now
  11. that.nodes.setInt(tmp + that.N_ELE, Helper.eleToInt(ele));
  12. that.bounds.update(lat, lon, ele);
  13. } else
  14. {
  15. that.bounds.update(lat, lon);
  16. }
  17. // set the default value for the additional field of this node
  18. if (that.extStorage.isRequireNodeField())
  19. that.nodes.setInt(tmp + that.N_ADDITIONAL, that.extStorage.getDefaultNodeFieldValue());
  20. }

代码示例来源:origin: com.rgi-corp/graphhopper

  1. private byte[] createWayGeometryBytes(PointList pillarNodes, boolean reverse) {
  2. int len = pillarNodes.getSize();
  3. int dim = nodeAccess.getDimension();
  4. int totalLen = len * dim * 4 + 4;
  5. byte[] bytes = new byte[totalLen];
  6. bitUtil.fromInt(bytes, len, 0);
  7. if (reverse)
  8. pillarNodes.reverse();
  9. int tmpOffset = 4;
  10. boolean is3D = nodeAccess.is3D();
  11. for (int i = 0; i < len; i++) {
  12. double lat = pillarNodes.getLatitude(i);
  13. bitUtil.fromInt(bytes, Helper.degreeToInt(lat), tmpOffset);
  14. tmpOffset += 4;
  15. bitUtil.fromInt(bytes, Helper.degreeToInt(pillarNodes.getLongitude(i)), tmpOffset);
  16. tmpOffset += 4;
  17. if (is3D) {
  18. bitUtil.fromInt(bytes, Helper.eleToInt(pillarNodes.getElevation(i)), tmpOffset);
  19. tmpOffset += 4;
  20. }
  21. }
  22. return bytes;
  23. }

代码示例来源:origin: com.graphhopper/graphhopper-core

  1. private byte[] createWayGeometryBytes(PointList pillarNodes, boolean reverse) {
  2. int len = pillarNodes.getSize();
  3. int dim = nodeAccess.getDimension();
  4. int totalLen = len * dim * 4 + 4;
  5. byte[] bytes = new byte[totalLen];
  6. bitUtil.fromInt(bytes, len, 0);
  7. if (reverse)
  8. pillarNodes.reverse();
  9. int tmpOffset = 4;
  10. boolean is3D = nodeAccess.is3D();
  11. for (int i = 0; i < len; i++) {
  12. double lat = pillarNodes.getLatitude(i);
  13. bitUtil.fromInt(bytes, Helper.degreeToInt(lat), tmpOffset);
  14. tmpOffset += 4;
  15. bitUtil.fromInt(bytes, Helper.degreeToInt(pillarNodes.getLongitude(i)), tmpOffset);
  16. tmpOffset += 4;
  17. if (is3D) {
  18. bitUtil.fromInt(bytes, Helper.eleToInt(pillarNodes.getElevation(i)), tmpOffset);
  19. tmpOffset += 4;
  20. }
  21. }
  22. return bytes;
  23. }

代码示例来源:origin: com.graphhopper/graphhopper

  1. bitUtil.fromInt(bytes, Helper.degreeToInt(lat), tmpOffset);
  2. tmpOffset += 4;
  3. bitUtil.fromInt(bytes, Helper.degreeToInt(pillarNodes.getLongitude(i)), tmpOffset);
  4. tmpOffset += 4;

相关文章