Codebase list mkgmap / upstream/0.0.0+svn4565
New upstream version 0.0.0+svn4565 Bas Couwenberg 3 years ago
10 changed file(s) with 45 addition(s) and 11 deletion(s). Raw diff Collapse all Expand all
206206 ;--mdr7-excl=name[,name...]
207207 : Specify words which should be omitted from the road index.
208208 It was added before option road-name-config and is probably no longer needed.
209 : Example usage: --x-mdr7-excl="Road, Street, Weg"
209 : Example usage: --mdr7-excl="Road, Street, Weg"
210210
211211 ;--mdr7-del=name[,name...]
212212 : Use this option if your style adds strings to the labels of roads which you
204204 --mdr7-excl=name[,name...]
205205 Specify words which should be omitted from the road index. It was added
206206 before option road-name-config and is probably no longer needed.
207 Example usage: --x-mdr7-excl="Road, Street, Weg"
207 Example usage: --mdr7-excl="Road, Street, Weg"
208208
209209 --mdr7-del=name[,name...]
210210 Use this option if your style adds strings to the labels of roads which you
0 svn.version: 4555
1 build.timestamp: 2020-06-22T17:00:46+0100
0 svn.version: 4565
1 build.timestamp: 2020-07-22T20:17:43+0100
1212 # 1 | 15 mph / 20 km/h
1313 # 0 | 3 mph / 5 km/h
1414 #
15
16 maxspeed:advisory=* {set maxspeed='${maxspeed:advisory}'}
17 #maxspeed:practial=* {set maxspeed='${maxspeed:practial}'}
18 # maxspeed:practial is disabled here in the default style because verifiability of it is disputed.
19 # see: https://wiki.openstreetmap.org/wiki/Key:maxspeed:practical
1520
1621 maxspeed=walk { set maxspeed=10 }
1722 maxspeed~'.*:living_street' { set maxspeed=10 }
3944 maxspeed=* & mkgmap:road-speed-max!=* & maxspeedkmh() <= 120 { set mkgmap:road-speed-max = 6 }
4045 # mkgmap:road-speed-max = 7 has no effect
4146 #maxspeed=* & mkgmap:road-speed-max!=* { set mkgmap:road-speed-max = 7 }
47
48 # Experiments with Garmin devices have deduced 7/unlimited speed to be device dependent; values of 112 &
49 # 132 km/h (70, 82 mph) seen: http://www.mkgmap.org.uk/pipermail/mkgmap-dev/2014q3/021620.html
50 # The following rule limits it for all countries except Germany. A few other roads elsewhere are unlimited
51 # and they would be expected to have a maxspeed:* tag that will override this.
52 highway=motorway & maxspeed!=* & mkgmap:road-speed-max!=* & mkgmap:country!=DEU {set mkgmap:road-speed-max=6}
23162316 ;1
23172317 [end]
23182318 [_point]
2319 type=0x021
2319 type=0x020
23202320 subtype=0x00
23212321 ;GRMN_TYPE: //
23222322 String=Exit
23402340 ;12345678
23412341 [end]
23422342 [_point]
2343 type=0x021
2343 type=0x023
23442344 subtype=0x0f
23452345 ;GRMN_TYPE: //
23462346 String=Services
150150 private final boolean linkPOIsToWays;
151151 private final boolean mergeRoads;
152152 private final boolean routable;
153 private boolean forceEndNodesRoutingNodes;
153154 private final Tags styleOptionTags;
154155 private static final String STYLE_OPTION_PREF = "mkgmap:option:";
155156 private final PrefixSuffixFilter prefixSuffixFilter;
223224 admLevelNod3 = props.getProperty("add-boundary-nodes-at-admin-boundaries", 2);
224225 addBoundaryNodesAtAdminBoundaries = routable && admLevelNod3 > 0;
225226 keepBlanks = props.containsKey("keep-blanks");
227 forceEndNodesRoutingNodes = !props.getProperty("no-force-end-nodes-routing-nodes", false);
226228 }
227229
228230 /**
514516
515517 /** One type result for nodes to avoid recreating one for each node. */
516518 private NodeTypeResult nodeTypeResult = new NodeTypeResult();
519
517520
518521 private class NodeTypeResult implements TypeResult {
519522 private Node node;
966969 if ("left".equals(driveOn) && numDriveOnLeftRoads == 0 && numDriveOnRightRoads > 0)
967970 log.warn("The drive-on-left flag is set but tile contains only drive-on-right roads");
968971 if ("right".equals(driveOn) && numDriveOnRightRoads == 0 && numDriveOnLeftRoads > 0)
969 log.warn("The drive-on-left flag is NOT set used but tile contains only drive-on-left roads");
972 log.warn("The drive-on-left flag is NOT set but tile contains only drive-on-left roads");
970973 }
971974 assert dol != null;
972975 return dol;
14981501 */
14991502 private void addRoadAfterSplittingLoops(ConvertedWay cw) {
15001503 Way way = cw.getWay();
1504
1505 if (routable && (forceEndNodesRoutingNodes || wayRelMap.containsKey(way.getId()))) {
1506 // make sure the way has nodes at each end
1507 way.getPoints().get(0).incHighwayCount();
1508 way.getPoints().get(way.getPoints().size() - 1).incHighwayCount();
1509 }
1510
15011511 // check if the way is a loop or intersects with itself
15021512
15031513 boolean wayWasSplit = true; // aka rescan required
21072117 int replType = -1;
21082118 try {
21092119 replType = Integer.decode(replTypeString);
2110 if (GType.isRoutableLineType(replType)) {
2120 if (GType.isSpecialRoutableLineType(replType)) {
21112121 replType = -1;
21122122 log.error("type value in", tagKey, "should not be a routable type:" + replTypeString);
21132123 }
259259 * known to cause routing errors if used for non-routable lines.
260260 */
261261 public static boolean isSpecialRoutableLineType(int type){
262 return type >= 0x01 && type <= 0x13 || type == 0x16 || type == 0x1a || type == 0x1b;
262 return type >= 0x01 && type <= 0x13 || type == 0x16 || type == 0x1a || type == 0x1b || type >= 0x2c && type <= 0x2f;
263263 }
264264
265265 /**
4747 private long firstNodeRef;
4848 private long lastNodeRef;
4949 private boolean missingNodeRef;
50 private boolean removeEmptyValue = true;
5051
5152 /**
5253 * Set a set of tags with values that are to be deleted on input.
100101 * should be discarded.
101102 */
102103 protected String keepTag(String key, String val) {
103 if (val.isEmpty())
104 if (removeEmptyValue && val.isEmpty())
104105 return null;
105106 if(deletedTags != null) {
106107 Set<String> vals = deletedTags.get(key);
205206 this.removeFixme = b;
206207 }
207208
209 /**
210 * Enable removal of tags / value pairs where value is empty.
211 * @param b true: enable the filter
212 */
213 public void setDeleteEmptyValueTag(boolean b) {
214 this.removeEmptyValue= b;
215 }
216
208217 public boolean isIgnoreBounds() {
209218 return ignoreBounds;
210219 }
233242 */
234243
235244 public abstract void parse(InputStream is) throws FormatException;
245
236246 }
218218 }
219219 if (getConfig().getProperty("ignore-fixme-values", false)) {
220220 handler.setDeleteFixmeValues(true);
221 }
222 if (getConfig().getProperty("keep-empty-value-tags", false)) {
223 handler.setDeleteEmptyValueTag(false);
221224 }
222225 }
223226
7070 case "NOD":
7171 count++;
7272 System.out.println("NOD size " + size);
73 assertEquals("NOD size", 146631, size);
73 assertEquals("NOD size", 170201, size);
7474 break;
7575 }
7676 }