From fb4bf8e0cd14ade797eda71c3d07b04e94c80545 Mon Sep 17 00:00:00 2001 From: Arndt Date: Sun, 13 Jul 2014 16:19:44 +0200 Subject: [PATCH] 1.0 preparations --- .../src/main/java/btools/router/OsmTrack.java | 20 +++++- .../java/btools/router/RoutingContext.java | 14 ++++ .../java/btools/router/RoutingEngine.java | 62 +++++++++++++++++- brouter-routing-app/assets/profiles2.zip | Bin 11406 -> 12172 bytes .../btools/routingapp/BInstallerSizes.java | 14 +++- .../btools/routingapp/BInstallerView.java | 34 +++++++--- .../btools/routingapp/BRouterActivity.java | 25 ++++++- .../java/btools/routingapp/BRouterView.java | 19 ++++-- .../scripts/mapcreation/process_pbf_planet.sh | 8 +-- 9 files changed, 169 insertions(+), 27 deletions(-) diff --git a/brouter-core/src/main/java/btools/router/OsmTrack.java b/brouter-core/src/main/java/btools/router/OsmTrack.java index 909d2a5..3909c2f 100644 --- a/brouter-core/src/main/java/btools/router/OsmTrack.java +++ b/brouter-core/src/main/java/btools/router/OsmTrack.java @@ -11,6 +11,7 @@ import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.DataInputStream; import java.io.DataOutputStream; +import java.io.EOFException; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; @@ -25,7 +26,8 @@ import btools.util.FrozenLongMap; public final class OsmTrack { public MatchedWaypoint endPoint; - + public long[] nogoChecksums; + private class OsmPathElementHolder { public OsmPathElement node; @@ -86,10 +88,13 @@ public final class OsmTrack { node.writeToStream( dos ); } + dos.writeLong( nogoChecksums[0] ); + dos.writeLong( nogoChecksums[1] ); + dos.writeLong( nogoChecksums[2] ); dos.close(); } - public static OsmTrack readBinary( String filename, OsmNodeNamed newEp ) + public static OsmTrack readBinary( String filename, OsmNodeNamed newEp, long[] nogoChecksums ) { OsmTrack t = null; if ( filename != null ) @@ -119,7 +124,18 @@ public final class OsmTrack t.cost = last_pe.cost; t.buildMap(); } + long[] al = new long[3]; + try + { + al[0] = dis.readLong(); + al[1] = dis.readLong(); + al[2] = dis.readLong(); + } catch( EOFException eof ) { /* kind of expected */ } dis.close(); + boolean nogoCheckOk = Math.abs( al[0] - nogoChecksums[0] ) <= 20 + && Math.abs( al[1] - nogoChecksums[1] ) <= 20 + && Math.abs( al[2] - nogoChecksums[2] ) <= 20; + if ( !nogoCheckOk ) return null; } catch( Exception e ) { diff --git a/brouter-core/src/main/java/btools/router/RoutingContext.java b/brouter-core/src/main/java/btools/router/RoutingContext.java index a6b8a0d..7792786 100644 --- a/brouter-core/src/main/java/btools/router/RoutingContext.java +++ b/brouter-core/src/main/java/btools/router/RoutingContext.java @@ -92,6 +92,20 @@ public final class RoutingContext implements DistanceChecker } } + public long[] getNogoChecksums() + { + long[] cs = new long[3]; + int n = nogopoints == null ? 0 : nogopoints.size(); + for( int i=0; i 0 ) parentcost += c; + if ( parentcost < firstMatchCost ) firstMatchCost = parentcost; int costEstimate = path.cost diff --git a/brouter-routing-app/assets/profiles2.zip b/brouter-routing-app/assets/profiles2.zip index 11418aad7d3de80d8f0e1ee847933d408750c100..dd0e81a5cf3686b47e231a0022104729f297db17 100644 GIT binary patch literal 12172 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 Xhl(;_;Q#pw{`b}d0s!#o|Fil(I8gL= literal 11406 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 0 && tilesize < min_size ) { tidx_min = tidx; @@ -229,6 +233,7 @@ public class BInstallerView extends View } private Matrix mat; + private Matrix matText; public void startInstaller() { @@ -249,8 +254,8 @@ public class BInstallerView extends View tileStatus = new int[72*36]; scanExistingFiles(); - float scaleX = imgw / ((float)bmp.getWidth()); - float scaley = imgh / ((float)bmp.getHeight()); + float scaleX = imgwOrig / ((float)bmp.getWidth()); + float scaley = imghOrig / ((float)bmp.getHeight()); viewscale = scaleX < scaley ? scaleX : scaley; @@ -270,8 +275,17 @@ public class BInstallerView extends View DisplayMetrics metrics = new DisplayMetrics(); ((Activity)getContext()).getWindowManager().getDefaultDisplay().getMetrics(metrics); - imgw = metrics.widthPixels; - imgh = metrics.heightPixels; + imgwOrig = metrics.widthPixels; + imghOrig = metrics.heightPixels; + int im = imgwOrig > imghOrig ? imgwOrig : imghOrig; + + scaleOrig = im / 480.f; + + matText = new Matrix(); + matText.preScale( scaleOrig, scaleOrig ); + + imgw = (int)(imgwOrig / scaleOrig); + imgh = (int)(imghOrig / scaleOrig); } @Override @@ -328,7 +342,7 @@ public class BInstallerView extends View pnt_2.setStrokeWidth(2); drawSelectedTiles( canvas, pnt_2, fw, fh, MASK_SELECTED_RD5, MASK_SELECTED_CD5, true, drawGrid ); - canvas.setMatrix( null ); + canvas.setMatrix( matText ); Paint paint = new Paint(); paint.setColor(Color.RED); @@ -388,13 +402,13 @@ float tx, ty; boolean isCd5 = (tileStatus[tidx] & maskCd5) != 0; if ( isRd5 || isCd5 ) { - int tilesize = BInstallerSizes.rd5_sizes[tidx]; + int tilesize = BInstallerSizes.getRd5Size(tidx); if ( tilesize > 0 ) { if ( doCount ) { - if ( isRd5) { rd5Tiles++; totalSize += BInstallerSizes.rd5_sizes[tidx]; }; - if ( isCd5) { cd5Tiles++; totalSize += BInstallerSizes.cd5_sizes[tidx]; }; + if ( isRd5) { rd5Tiles++; totalSize += BInstallerSizes.getRd5Size(tidx); }; + if ( isCd5) { cd5Tiles++; totalSize += BInstallerSizes.getCd5Size(tidx); }; } if ( !doDraw ) continue; if ( isRd5 ) canvas.drawLine( fw*ix, fh*iy, fw*(ix+1), fh*(iy+1), pnt); @@ -499,7 +513,7 @@ float tx, ty; } // download button? - if ( rd5Tiles + cd5Tiles > 0 && event.getX() > imgh - btnh && event.getY() > imgh-btnh ) + if ( rd5Tiles + cd5Tiles > 0 && event.getX() > imgwOrig - btnw*scaleOrig && event.getY() > imghOrig-btnh*scaleOrig ) { toggleDownload(); invalidate(); diff --git a/brouter-routing-app/src/main/java/btools/routingapp/BRouterActivity.java b/brouter-routing-app/src/main/java/btools/routingapp/BRouterActivity.java index 1e358c6..b98d8c5 100644 --- a/brouter-routing-app/src/main/java/btools/routingapp/BRouterActivity.java +++ b/brouter-routing-app/src/main/java/btools/routingapp/BRouterActivity.java @@ -35,6 +35,7 @@ public class BRouterActivity extends Activity implements OnInitListener { private static final int DIALOG_PICKWAYPOINT_ID = 10; private static final int DIALOG_SELECTBASEDIR_ID = 11; private static final int DIALOG_MAINACTION_ID = 12; + private static final int DIALOG_OLDDATAHINT_ID = 13; private BRouterView mBRouterView; private PowerManager mPowerManager; @@ -106,6 +107,21 @@ public class BRouterActivity extends Activity implements OnInitListener { } }); return builder.create(); + case DIALOG_OLDDATAHINT_ID: + builder = new AlertDialog.Builder(this); + builder.setTitle( "Local setup needs reset" ) + .setMessage( "You are currently using an old version of the lookup-table " + + "together with routing data made for this old table. " + + "Before downloading new datafiles made for the new table, " + + "you have to reset your local setup by 'moving away' (or deleting) " + + "your /brouter directory and start a new setup by calling the " + + "BRouter App again." ) + .setPositiveButton( "OK", new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + finish(); + } + }); + return builder.create(); case DIALOG_ROUTINGMODES_ID: builder = new AlertDialog.Builder(this); builder.setTitle( message ); @@ -319,7 +335,14 @@ public class BRouterActivity extends Activity implements OnInitListener { @SuppressWarnings("deprecation") public void startDownloadManager() { - showDialog( DIALOG_SHOW_DM_INFO_ID ); + if ( !mBRouterView.hasUpToDateLookups() ) + { + showDialog( DIALOG_OLDDATAHINT_ID ); + } + else + { + showDialog( DIALOG_SHOW_DM_INFO_ID ); + } } @SuppressWarnings("deprecation") diff --git a/brouter-routing-app/src/main/java/btools/routingapp/BRouterView.java b/brouter-routing-app/src/main/java/btools/routingapp/BRouterView.java index a60b9d0..84ffff4 100644 --- a/brouter-routing-app/src/main/java/btools/routingapp/BRouterView.java +++ b/brouter-routing-app/src/main/java/btools/routingapp/BRouterView.java @@ -191,12 +191,6 @@ public class BRouterView extends View if ( fileName.endsWith( ".cd5" ) ) segmentFound = true; } } - if ( !segmentFound ) - { - ((BRouterActivity)getContext()).startDownloadManager(); - waitingForSelection = true; - return; - } fileNames = new File( profileDir ).list(); ArrayList profiles = new ArrayList(); @@ -222,6 +216,12 @@ public class BRouterView extends View + " contains no routing profiles (*.brf)." + " see www.dr-brenschede.de/brouter for setup instructions." ); } + if ( !segmentFound ) + { + ((BRouterActivity)getContext()).startDownloadManager(); + waitingForSelection = true; + return; + } ((BRouterActivity)getContext()).selectProfile( profiles.toArray( new String[0]) ); } catch( Exception e ) @@ -234,6 +234,13 @@ public class BRouterView extends View waitingForSelection = true; } + public boolean hasUpToDateLookups() + { + BExpressionMetaData meta = new BExpressionMetaData(); + meta.readMetaData( new File( profileDir, "lookups.dat" ) ); + return meta.lookupVersion == 10; + } + public void continueProcessing() { waitingForSelection = false; diff --git a/misc/scripts/mapcreation/process_pbf_planet.sh b/misc/scripts/mapcreation/process_pbf_planet.sh index ec980cc..6dd1f7b 100644 --- a/misc/scripts/mapcreation/process_pbf_planet.sh +++ b/misc/scripts/mapcreation/process_pbf_planet.sh @@ -14,15 +14,15 @@ rm -rf /var/www/brouter/segments2_lastrun mkdir tmp cd tmp mkdir nodetiles -/java/bin/java -Xmx256m -Xms256m -Xmn32m -cp ../pbfparser.jar:../brouter.jar btools.mapcreator.OsmCutter ../lookups.dat nodetiles ways.dat relations.dat ../planet-latest.osm.pbf - -/java/bin/java -Xmx2600M -Xms2600M -Xmn32M -cp ../brouter.jar -Ddeletetmpfiles=true -DuseDenseMaps=true btools.mapcreator.RelationMerger ways.dat ways2.dat relations.dat ../lookups.dat ../trekking.brf ../softaccess.brf +/java/bin/java -Xmx256m -Xms256m -Xmn32m -cp ../pbfparser.jar:../brouter.jar btools.mapcreator.OsmCutter ../lookups.dat nodetiles ways.dat relations.dat ../all.brf ../planet-latest.osm.pbf mkdir ftiles /java/bin/java -Xmx512M -Xms512M -Xmn32M -cp ../brouter.jar -Ddeletetmpfiles=true -DuseDenseMaps=true btools.mapcreator.NodeFilter nodetiles ways.dat ftiles +/java/bin/java -Xmx2600M -Xms2600M -Xmn32M -cp ../brouter.jar -Ddeletetmpfiles=true -DuseDenseMaps=true btools.mapcreator.RelationMerger ways.dat ways2.dat relations.dat ../lookups.dat ../trekking.brf ../softaccess.brf + mkdir waytiles -/java/bin/java -Xmx2600M -Xms2600M -Xmn32M -cp ../brouter.jar -Ddeletetmpfiles=true -DuseDenseMaps=true btools.mapcreator.WayCutter ftiles ways.dat waytiles +/java/bin/java -Xmx2600M -Xms2600M -Xmn32M -cp ../brouter.jar -Ddeletetmpfiles=true -DuseDenseMaps=true btools.mapcreator.WayCutter ftiles ways2.dat waytiles mkdir waytiles55 /java/bin/java -Xmx2600M -Xms2600M -Xmn32M -cp ../brouter.jar -Ddeletetmpfiles=true -DuseDenseMaps=true btools.mapcreator.WayCutter5 ftiles waytiles waytiles55 bordernids.dat