version 1.4.9

This commit is contained in:
Arndt Brenschede 2017-09-24 17:11:04 +02:00
parent 0171ba39a0
commit c517ccc2df
43 changed files with 2002 additions and 508 deletions

View file

@ -14,6 +14,11 @@ public final class GeometryDecoder
private OsmTransferNode[] cachedNodes;
private int nCachedNodes = 128;
// result-cache
private OsmTransferNode firstTransferNode;
private boolean lastReverse;
private byte[] lastGeometry;
public GeometryDecoder()
{
// create some caches
@ -24,11 +29,14 @@ public final class GeometryDecoder
}
}
public OsmTransferNode decodeGeometry( byte[] geometry, OsmNode sourceNode, OsmNode targetNode, boolean reverseLink )
{
OsmTransferNode firstTransferNode = null;
if ( ( lastGeometry == geometry ) && ( lastReverse == reverseLink ) )
{
return firstTransferNode;
}
firstTransferNode = null;
OsmTransferNode lastTransferNode = null;
OsmNode startnode = reverseLink ? targetNode : sourceNode;
r.reset( geometry );
@ -64,6 +72,10 @@ public final class GeometryDecoder
lastTransferNode = trans;
}
}
lastReverse = reverseLink;
lastGeometry = geometry;
return firstTransferNode;
}
}

View file

@ -109,7 +109,7 @@ public class OsmNode extends OsmLink implements OsmPos
double dlat = ( ilat - p.getILat() ) / 1000000.;
double dlon = ( ilon - p.getILon() ) / 1000000. * coslat;
double d = Math.sqrt( dlat * dlat + dlon * dlon ) * ( 6378000. / 57.3 );
double d = Math.sqrt( dlat * dlat + dlon * dlon ) * 110984.; // 6378000. / 57.3;
return (int) ( d + 1.0 );
}