reworked csv-listing
This commit is contained in:
parent
65d150fd43
commit
1ee41026c1
@ -98,6 +98,8 @@ final class OsmPath implements OsmLinkHolder
|
||||
int linkdist = 0;
|
||||
int linkelevationcost = 0;
|
||||
int linkturncost = 0;
|
||||
int linknodecost = 0;
|
||||
int linkinitcost = 0;
|
||||
|
||||
OsmTransferNode transferNode = link.decodeFirsttransfer();
|
||||
OsmNode targetNode = link.targetNode;
|
||||
@ -139,6 +141,8 @@ final class OsmPath implements OsmLinkHolder
|
||||
linkdist = 0;
|
||||
linkelevationcost = 0;
|
||||
linkturncost = 0;
|
||||
linknodecost = 0;
|
||||
linkinitcost = 0;
|
||||
}
|
||||
|
||||
int dist = rc.calcDistance( lon1, lat1, lon2, lat2 );
|
||||
@ -176,7 +180,7 @@ final class OsmPath implements OsmLinkHolder
|
||||
linkdisttotal += dist;
|
||||
|
||||
|
||||
// *** penalty for way-change
|
||||
// *** penalty for turning angles
|
||||
if ( origin.originElement != null )
|
||||
{
|
||||
// penalty proportional to direction change
|
||||
@ -283,6 +287,7 @@ final class OsmPath implements OsmLinkHolder
|
||||
lastCostfactor = newcostfactor;
|
||||
float initialcost = rc.expctxWay.getInitialcost();
|
||||
int iicost = (int)initialcost;
|
||||
linkinitcost += iicost;
|
||||
cost += iicost;
|
||||
}
|
||||
|
||||
@ -296,7 +301,9 @@ final class OsmPath implements OsmLinkHolder
|
||||
+ iCost + "\t"
|
||||
+ linkelevationcost
|
||||
+ "\t" + linkturncost
|
||||
+ rc.expctxWay.getCsvDescription( link.counterLinkWritten, description );
|
||||
+ "\t" + linknodecost
|
||||
+ "\t" + linkinitcost
|
||||
+ rc.expctxWay.getKeyValueDescription( link.counterLinkWritten, description );
|
||||
}
|
||||
|
||||
if ( stopAtEndpoint )
|
||||
@ -305,6 +312,7 @@ final class OsmPath implements OsmLinkHolder
|
||||
{
|
||||
originElement = new OsmPathElement( rc.ilonshortest, rc.ilatshortest, ele2, originElement );
|
||||
originElement.cost = cost;
|
||||
originElement.message = lastMessage;
|
||||
}
|
||||
if ( rc.nogomatch )
|
||||
{
|
||||
@ -359,6 +367,7 @@ final class OsmPath implements OsmLinkHolder
|
||||
return;
|
||||
}
|
||||
int iicost = (int)initialcost;
|
||||
linknodecost += iicost;
|
||||
cost += iicost;
|
||||
}
|
||||
}
|
||||
|
||||
@ -349,11 +349,7 @@ public final class OsmTrack
|
||||
{
|
||||
// csv-header-line
|
||||
|
||||
String header = "Longitude\tLatitude\tElevation\tDistance\tCostPerKm\tElevCost\tTurnCost";
|
||||
if ( rc.expctxWay != null )
|
||||
{
|
||||
header += rc.expctxWay.getCsvHeader();
|
||||
}
|
||||
String header = "Longitude\tLatitude\tElevation\tDistance\tCostPerKm\tElevCost\tTurnCost\tNodeCost\tInitialCost\tOsmTags";
|
||||
dumpLine( bw, header );
|
||||
for( OsmPathElement n : nodes )
|
||||
{
|
||||
|
||||
@ -166,7 +166,7 @@ public final class BExpressionContext
|
||||
decode( ld2, ab );
|
||||
for( int inum = 0; inum < lookupValues.size(); inum++ ) // loop over lookup names
|
||||
{
|
||||
if ( ld2[inum] != ld[inum] ) throw new RuntimeException( "assertion failed encoding " + getKeyValueDescription(ab) );
|
||||
if ( ld2[inum] != ld[inum] ) throw new RuntimeException( "assertion failed encoding " + getKeyValueDescription(false, ab) );
|
||||
}
|
||||
|
||||
return ab;
|
||||
@ -273,7 +273,7 @@ public final class BExpressionContext
|
||||
}
|
||||
}
|
||||
|
||||
public String getCsvDescription( boolean inverseDirection, byte[] ab )
|
||||
public String getKeyValueDescription( boolean inverseDirection, byte[] ab )
|
||||
{
|
||||
int inverseBitByteIndex = meta.readVarLength ? 0 : 7;
|
||||
int abLen = ab.length;
|
||||
@ -284,31 +284,6 @@ public final class BExpressionContext
|
||||
StringBuilder sb = new StringBuilder( 200 );
|
||||
decode( lookupData, ab_copy );
|
||||
for( int inum = 0; inum < lookupValues.size(); inum++ ) // loop over lookup names
|
||||
{
|
||||
int idx = meta.readVarLength ? (inum+1)%lookupValues.size() : inum; // reversebit at the end..
|
||||
|
||||
BExpressionLookupValue[] va = lookupValues.get(idx);
|
||||
sb.append( '\t' ).append( va[lookupData[idx]].toString() );
|
||||
}
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
public String getCsvHeader()
|
||||
{
|
||||
StringBuilder sb = new StringBuilder( 200 );
|
||||
for( int inum = 0; inum < lookupNames.size(); inum++ ) // loop over lookup names
|
||||
{
|
||||
int idx = meta.readVarLength ? (inum+1)%lookupValues.size() : inum; // reversebit at the end..
|
||||
sb.append( '\t' ).append( lookupNames.get(idx) );
|
||||
}
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
public String getKeyValueDescription( byte[] ab )
|
||||
{
|
||||
StringBuilder sb = new StringBuilder( 200 );
|
||||
decode( lookupData, ab );
|
||||
for( int inum = 0; inum < lookupValues.size(); inum++ ) // loop over lookup names
|
||||
{
|
||||
BExpressionLookupValue[] va = lookupValues.get(inum);
|
||||
String value = va[lookupData[inum]].toString();
|
||||
|
||||
@ -131,7 +131,7 @@ public class RelationMerger extends MapCreatorBase
|
||||
expctxCheck.evaluate( false, data.description, null );
|
||||
ok = expctxCheck.getCostfactor() < 10000.;
|
||||
|
||||
System.out.println( "** relation access conflict for wid = " + data.wid + " tags:" + expctxReport.getKeyValueDescription( data.description ) + " (ok=" + ok + ")" );
|
||||
System.out.println( "** relation access conflict for wid = " + data.wid + " tags:" + expctxReport.getKeyValueDescription( false, data.description ) + " (ok=" + ok + ")" );
|
||||
}
|
||||
|
||||
if ( ok )
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user