GeoPubby  Version 0.1.0.0
GeobufEncoder Class Reference
Collaboration diagram for GeobufEncoder:

Public Member Functions

Coordinate convertCoordinate (Coordinate coord)
 

Static Package Functions

 [static initializer]
 

Package Attributes

Integer e =1
 
Double maxPrecision =1e6
 

Static Package Attributes

static Map< String, Integer > geomMap
 

Member Function Documentation

◆ [static initializer]()

[static initializer]
staticpackage

References GeobufEncoder.geomMap.

◆ convertCoordinate()

Coordinate convertCoordinate ( Coordinate  coord)
52  {
53  Integer length=0;
54  Double[] point= {coord.getX(),coord.getY(),coord.getZ(),coord.getM()};
55  if(Double.isNaN(coord.getX()))
56  length++;
57  if(Double.isNaN(coord.getY()))
58  length++;
59  if(Double.isNaN(coord.getZ()))
60  length++;
61  if(Double.isNaN(coord.getM()))
62  length++;
63  Double dim = Math.max(2., length);
64  Coordinate result=new Coordinate();
65  // find max precision
66  for (int i = 0; i < length; i++) {
67  if(!Double.isNaN(point[i])) {
68  while (Math.round(point[i] * e) / e != point[i] && e < maxPrecision) e *= 10;
69  }
70  }
71  if(Double.isNaN(coord.getX()))
72  result.x=coord.getX();
73  if(Double.isNaN(coord.getY()))
74  result.y=coord.getY();
75  if(Double.isNaN(coord.getZ()))
76  result.z=coord.getZ();
77  if(Double.isNaN(coord.getM()))
78  result.setM(coord.getM());
79  return result;
80  }
Integer e
Definition: GeobufEncoder.java:27
Double maxPrecision
Definition: GeobufEncoder.java:29

References GeobufEncoder.e, and GeobufEncoder.maxPrecision.

Member Data Documentation

◆ e

Integer e =1
package

◆ geomMap

Map<String,Integer> geomMap
staticpackage

◆ maxPrecision

Double maxPrecision =1e6
package