diff --git a/brouter-map-creator/src/main/java/btools/mapcreator/PosUnifier.java b/brouter-map-creator/src/main/java/btools/mapcreator/PosUnifier.java index e9a43fe..cea8cb5 100644 --- a/brouter-map-creator/src/main/java/btools/mapcreator/PosUnifier.java +++ b/brouter-map-creator/src/main/java/btools/mapcreator/PosUnifier.java @@ -28,6 +28,7 @@ public class PosUnifier extends MapCreatorBase { private DiffCoderDataOutputStream nodesOutStream; private DiffCoderDataOutputStream borderNodesOut; private File nodeTilesOut; + private File outNodeFile; private CompactLongSet[] positionSets; private Map srtmmap; @@ -107,8 +108,8 @@ public class PosUnifier extends MapCreatorBase { @Override public void nodeFileStart(File nodefile) throws Exception { resetElevationRaster(); - - nodesOutStream = createOutStream(fileFromTemplate(nodefile, nodeTilesOut, "u5d")); + outNodeFile = fileFromTemplate(nodefile, nodeTilesOut, "u5d"); + nodesOutStream = createOutStream(outNodeFile); positionSets = new CompactLongSet[2500]; } @@ -138,6 +139,12 @@ public class PosUnifier extends MapCreatorBase { @Override public void nodeFileEnd(File nodeFile) throws Exception { nodesOutStream.close(); + if (outNodeFile != null) { + if (lastSrtmRaster != null) { + String newName = outNodeFile.getAbsolutePath() + (lastSrtmRaster.nrows > 6001 ? "_1": "_3"); + outNodeFile.renameTo(new File(newName)); + } + } resetElevationRaster(); } diff --git a/brouter-map-creator/src/main/java/btools/mapcreator/WayLinker.java b/brouter-map-creator/src/main/java/btools/mapcreator/WayLinker.java index 91c70a9..0a01b93 100644 --- a/brouter-map-creator/src/main/java/btools/mapcreator/WayLinker.java +++ b/brouter-map-creator/src/main/java/btools/mapcreator/WayLinker.java @@ -51,6 +51,7 @@ public class WayLinker extends MapCreatorBase implements Runnable { private short lookupMinorVersion; private long creationTimeStamp; + private byte elevationType; private BExpressionContextWay expctxWay; @@ -217,7 +218,14 @@ public class WayLinker extends MapCreatorBase implements Runnable { File trafficFile = fileFromTemplate(wayfile, trafficTilesIn, "trf"); // process corresponding node-file, if any - File nodeFile = fileFromTemplate(wayfile, nodeTilesIn, "u5d"); + elevationType = 3; + File nodeFile = fileFromTemplate(wayfile, nodeTilesIn, "u5d_1"); + if (nodeFile.exists()) { + elevationType = 1; + } else { + nodeFile = fileFromTemplate(wayfile, nodeTilesIn, "u5d_3"); + if (!nodeFile.exists()) nodeFile = fileFromTemplate(wayfile, nodeTilesIn, "u5d"); + } if (nodeFile.exists()) { reset(); @@ -539,6 +547,7 @@ public class WayLinker extends MapCreatorBase implements Runnable { for (int i55 = 0; i55 < 25; i55++) { os.writeInt(fileHeaderCrcs[i55]); } + os.writeByte(elevationType); os.close();