mirror of
https://github.com/cfpwastaken/planetiler-openmaptiles.git
synced 2026-02-04 12:31:10 +00:00
OpenMapTiles 3.15.0 SNAPSHOT (#126)
* version bumped from 3.14.0 to 3.15.0-SNAPSHOT
* regenerate-openmaptiles.sh 07f243c5d9efa558fa539d7a31b2ae50507aaa9d (to match content of OMT PR 1457)
* SQL -> Java re-implementation of OMT PR 1457
* version bumped from 3.14.0 to 3.15.0-SNAPSHOT
* WaterName.areaToMinZoom(): improved handling of rounding and precission + added unit tests
* mvn spotless:apply
* water label min. zoom calculation simplified
* comment adjusted to be hopefully more useful
* mvn spotless:apply
* minzoom for CA_TRANSCANADA and US_INTERSTATE trunk now 4 (to match OMT PR 1440)
* minzoom for some other Canada trunks now 4 (to match OMT PR 1446)
* equals() simplified + clean-up of comments
* regenerate-openmaptiles.sh 5f7b2c11b3224759a21133381ca7d959a1f3cf51 (to match content of OMT PR 1465)
* GB road relations processing adjusted to match OMT PR 1465, e.g. handle also primary and secondary roads
* regenerate-openmaptiles.sh edb42f2db3c2b0ec37045367720eed84d7bbd71f (to match content of OMT PR 1466)
* IE road relations processing adjusted to match OMT PR 1466, e.g. handle IE roates in similar way as GB routes
* fixed handling of networkType for secondary GB routes
* clean-up: case statements simplified
* mvn spotless:apply
* clazz calculation moved up so that minzoom can be set to 3 for only lakes (to match OMT PR 1475)
* unit tests adjusted + extended to cover 'minzoom=3 fore lakes' change
* fixed minor typo from previous PR
* render POIs for large universities at low zoom (to match OMT PR 1479)
* clean-up, to make the diff/PR smaller
* regenerate-openmaptiles.sh 5e9b7c475d53a5bd5ea394da361594d3f4ce2d66 (to match content of OMT PR 1485)
* handle 'grade1' and 'tracktype' as per OMT PR 1485
* added implementation of agg_stop
It is based on OMT PR 1480 (which contains latest the fix) and the rest of older code
(which was not worling properly until the fix).
* clean-up: mvn spotless:apply
* Long ferries (as per OMT PR 1486)
* regenerate-openmaptiles.sh b3d67ed5b327c9059aeea0b3304772c6b4c8c7e9 (to match content of OMT PR 1489)
* Add aboriginal lands (as per OMT PR 1489)
* handle duplicate route relations (to match OMT PR 1501)
* regenerate-openmaptiles.sh master, to match several OMT PRs which adjusted only YML
* URLs in comments adjusted to match OMT PR 1560
* Convert separated addresses to dashed addresses
* add brunnel (and layer) attributes only for certain zoomlevels, depending on feature size (matching OMT PR 1579)
* unit test testInterstateMotorway(): brunnel tag for test line no longer available at Z8
* unit test testInterstateMotorway() clean-up: Z13 was tested twice
* minor clean-up: fixed unit test naming
* partial fix for differences in transportation_name layer
The difference is between OpenMapTiles/master (OMT) and
planetiler-openmaptiles/omt_3_15_0 (PT-OMT) (e.g. development versions).
The point is, that while PT-OMT was using limit of "8km" for Z9-Z11, OMT
is using limit "ST_Length(geometry) > 8000 / POWER(2, zoom_level - 9)
AND zoom_level BETWEEN 9 AND 11".
Some further differences still visible, hence further commits expected.
* further adjustments to better match what is done with ferries in OMT
... (as per OMT PR 1486)
But FERRY_MIN_PIXEL_SIZE is "too much" in the contexct of Planetiler,
since it is applied within tiles, hence causes gaps in lines if a line
"strikes a little" certain tile. Hence we will need to divert a little.
* ferry minLength tweak + clean-up
* mvn spotless:apply
* fixed minor typo
* minor reformatting
* ferry line length filter replaced with min. zoom calculation
hence the results are much closer to what OMT is doing for Z4-Z9
* testFerry() adjusted to match previous commit
ferry test polygon with area 1 now qualifies for min. zoom 5
* clea-up of unused stuff + mvn spotless:apply
* mvn spotless:apply
* added TODO node for follow-up pull-request/simplification
* clean-up: common getMinZoom() code moved to Utils
* minzoom clipping for brunnel was adjusted do Z9-Z12 -> test adjusted too
* clean-up
* use same tolerance for all transportation items, like OSM does
* clean-up, since ferry and non-ferry procesing is now same
* we need regenerate to work with master branch for now
* first sub-class search for agg_stop simplified a little
* contains() used instead of indexOf() for better readability
* numbers as list, not array, so that getFirst() and getLast() can be used
* better trimming and filtring of housenumbers
* adjusted handling of large house numbers
* several unit tests collapsed to one with @ParameterizedTest + @CsvSource
* AGG_STOP_SUBCLASS_ORDER simplified from Map to List
* fixed major omission from previous commit
* clamp() used to replace min()&max() combo
* agg_stop now implemented
* fixed typo in the error message
* prepare IE and GB boundary geometry outside of synchronized{}
* fixed typo in the error message
* mvn spotless:apply
* switch statements for IE and GB route networks simplified
* avoid RouteNetwork->String mapping, not needed for anyMatch()
* fix: attr. brunnel optional based on size on Z4-Z11, attr. layer optional between Z9-Z11
* tolerance change in transportation reverted, added note to README as per why
* fix: monzoom for sea&co. is Z0-Z14 based on area, for the rest it is Z3-Z14 again based on area
* clean-up: avoid doing area->side->area, do just area
* regenerate-openmaptiles.sh 6c31841f4674f15e15afde346a060cf7c22e6cdd (to match content of OMT PR 1591)
* relevant process() functions adjusted to match changes in transportation/mapping.yaml
* regenerate-openmaptiles.sh master, instead of 6c31841f4674f15e15afde346a060cf7c22e6cdd (to match content of OMT PR 1591, in a cleaner way)
* introduce duplicate housenumber filtering (matching OMT PR 1391)
* (less related) clean-up: use isEmpty() instead if size check
* testContainsHousenumber UT adjusted, since duplicate housenumber filtering is reducing amount of house numbers
* use combination of uic_ref, name, network and operator as key for agg_stop sets
If we rely on only on `uic_ref` we group together also stations which are
too far apart (even different cities). With this combo results seem OK,
e.g. all grouped stations are within around 950m (1000 pixels at Z14) of
each other (1000 being used in `PARTITION BY LabelGrid(...` in
`layers/poi/poi.sql` in OpenMapTiles).
* agg_stop comparison made more explicit, since we want to match same exact one
* mvn spotless:apply
* name now important for agg_stop processing, hence name:es (ab)used for unit tests
* agg_stop: simplified processing of nearest station
Results still same, only ordering is different:
- previously: agg_stop=1 first
- now: FIFO
* agg_stop: forther code simplification
* fixed major typo introduced in previous merge
* setMinPixelSize() + setMinZoom() used instead of areaToMinZoom()
* clean-up: unused stuff removed
* mvn spotless:apply
* setAttrWithMinSize() used instead of getBrunnelMinzoom()
getFerryMinzoom() kept since we'd like to replicate `sql_filter: ST_Length(...` from OMT
* getMinZoomForLength() no longer used, hence removed
* clean-up: LOG2 not used, hence removed
* added BY_TEMP_HAS_NAME comparator to avoid its repeated construction during run-time
* duplicate houcenumber processing simplified further
* clean-up: get(0) replaced with getFirst()
* clean-up: CPU-intensive prepare() moved out of synchronized block
* regenerate-openmaptiles.sh 3cf77e2a542d8a369bb08bf2538cdde0b3effb2b (to match content of OMT PR 1423)
* unit test adjusted for POI office class changes
* regenerate-openmaptiles.sh master (to match content of OMT PR 1544)
* added charging_station implementation matching OMT PR 1544
* use setMinPixelSizeBelowZoom() instead of uniAreaToMinZoom()
* use setMinPixelSizeBelowZoom() instead of getFerryMinzoom()
* fixed unit test, to match recent tweaks
This commit is contained in:
@@ -49,8 +49,8 @@ import org.openmaptiles.Layer;
|
||||
|
||||
/**
|
||||
* All vector tile layer definitions, attributes, and allowed values generated from the
|
||||
* <a href="https://github.com/openmaptiles/openmaptiles/blob/v3.14/openmaptiles.yaml">OpenMapTiles vector tile schema
|
||||
* v3.14</a>.
|
||||
* <a href="https://github.com/openmaptiles/openmaptiles/blob/master/openmaptiles.yaml">OpenMapTiles vector tile schema
|
||||
* master</a>.
|
||||
*/
|
||||
@SuppressWarnings("unused")
|
||||
public class OpenMapTilesSchema {
|
||||
@@ -59,11 +59,11 @@ public class OpenMapTilesSchema {
|
||||
public static final String VERSION = "3.14.0";
|
||||
public static final String ATTRIBUTION =
|
||||
"<a href=\"https://www.openmaptiles.org/\" target=\"_blank\">© OpenMapTiles</a> <a href=\"https://www.openstreetmap.org/copyright\" target=\"_blank\">© OpenStreetMap contributors</a>";
|
||||
public static final List<String> LANGUAGES = List.of("am", "ar", "az", "be", "bg", "br", "bs", "ca", "co", "cs", "cy",
|
||||
"da", "de", "el", "en", "eo", "es", "et", "eu", "fi", "fr", "fy", "ga", "gd", "he", "hi", "hr", "hu", "hy", "id",
|
||||
"is", "it", "ja", "ja_kana", "ja_rm", "ja-Latn", "ja-Hira", "ka", "kk", "kn", "ko", "ko-Latn", "ku", "la", "lb",
|
||||
"lt", "lv", "mk", "mt", "ml", "nl", "no", "oc", "pl", "pt", "rm", "ro", "ru", "sk", "sl", "sq", "sr", "sr-Latn",
|
||||
"sv", "ta", "te", "th", "tr", "uk", "zh");
|
||||
public static final List<String> LANGUAGES = List.of("am", "ar", "az", "be", "bg", "bn", "br", "bs", "ca", "co", "cs",
|
||||
"cy", "da", "de", "el", "en", "eo", "es", "et", "eu", "fa", "fi", "fr", "fy", "ga", "gd", "he", "hi", "hr", "hu",
|
||||
"hy", "id", "is", "it", "ja", "ja_kana", "ja_rm", "ja-Latn", "ja-Hira", "ka", "kk", "kn", "ko", "ko-Latn", "ku",
|
||||
"la", "lb", "lt", "lv", "mk", "mt", "ml", "nl", "no", "oc", "pa", "pnb", "pl", "pt", "rm", "ro", "ru", "sk", "sl",
|
||||
"sq", "sr", "sr-Latn", "sv", "ta", "te", "th", "tr", "uk", "ur", "vi", "zh", "zh-Hant", "zh-Hans");
|
||||
|
||||
/** Returns a list of expected layer implementation instances from the {@code layers} package. */
|
||||
public static List<Layer> createInstances(Translations translations, PlanetilerConfig config, Stats stats) {
|
||||
@@ -96,7 +96,7 @@ public class OpenMapTilesSchema {
|
||||
* boundaries show up. So you might not be able to use border styling for ocean water features.
|
||||
*
|
||||
* Generated from
|
||||
* <a href="https://github.com/openmaptiles/openmaptiles/blob/v3.14/layers/water/water.yaml">water.yaml</a>
|
||||
* <a href="https://github.com/openmaptiles/openmaptiles/blob/master/layers/water/water.yaml">water.yaml</a>
|
||||
*/
|
||||
public interface Water extends Layer {
|
||||
double BUFFER_SIZE = 4.0;
|
||||
@@ -117,11 +117,15 @@ public class OpenMapTilesSchema {
|
||||
|
||||
/**
|
||||
* All water polygons from <a href="http://osmdata.openstreetmap.de/">OpenStreetMapData</a> have the class
|
||||
* <code>ocean</code>. Water bodies with the
|
||||
* <a href="http://wiki.openstreetmap.org/wiki/Tag:water=river"><code>water=river</code></a> tag are classified as
|
||||
* river. Wet and dry docks tagged
|
||||
* <code>ocean</code>. The water-covered areas of flowing water bodies with the
|
||||
* <a href="http://wiki.openstreetmap.org/wiki/Tag:water=river"><code>water=river</code></a>,
|
||||
* <a href="http://wiki.openstreetmap.org/wiki/Tag:water=canal"><code>water=canal</code></a>,
|
||||
* <a href="http://wiki.openstreetmap.org/wiki/Tag:water=stream"><code>water=stream</code></a>,
|
||||
* <a href="http://wiki.openstreetmap.org/wiki/Tag:water=ditch"><code>water=ditch</code></a>, or
|
||||
* <a href="http://wiki.openstreetmap.org/wiki/Tag:water=drain"><code>water=drain</code></a> tags are classified
|
||||
* as river. Wet and dry docks tagged
|
||||
* <a href="http://wiki.openstreetmap.org/wiki/Tag:waterway=dock"><code>waterway=dock</code></a> are classified as
|
||||
* a <code>dock</code>. Swimming pools tagged
|
||||
* a <code>dock</code>. Various minor waterbodies are classified as a <code>pond</code>. Swimming pools tagged
|
||||
* <a href="https://wiki.openstreetmap.org/wiki/Tag:leisure=swimming_pool"><code>leisure=swimming_pool</code></a>
|
||||
* are classified as a <code>swimming_pool</code> All other water bodies are classified as <code>lake</code>.
|
||||
* <p>
|
||||
@@ -129,6 +133,7 @@ public class OpenMapTilesSchema {
|
||||
* <ul>
|
||||
* <li>dock
|
||||
* <li>river
|
||||
* <li>pond
|
||||
* <li>lake
|
||||
* <li>ocean
|
||||
* <li>swimming_pool
|
||||
@@ -163,10 +168,11 @@ public class OpenMapTilesSchema {
|
||||
final class FieldValues {
|
||||
public static final String CLASS_DOCK = "dock";
|
||||
public static final String CLASS_RIVER = "river";
|
||||
public static final String CLASS_POND = "pond";
|
||||
public static final String CLASS_LAKE = "lake";
|
||||
public static final String CLASS_OCEAN = "ocean";
|
||||
public static final String CLASS_SWIMMING_POOL = "swimming_pool";
|
||||
public static final Set<String> CLASS_VALUES = Set.of("dock", "river", "lake", "ocean", "swimming_pool");
|
||||
public static final Set<String> CLASS_VALUES = Set.of("dock", "river", "pond", "lake", "ocean", "swimming_pool");
|
||||
public static final String BRUNNEL_BRIDGE = "bridge";
|
||||
public static final String BRUNNEL_TUNNEL = "tunnel";
|
||||
public static final Set<String> BRUNNEL_VALUES = Set.of("bridge", "tunnel");
|
||||
@@ -175,8 +181,9 @@ public class OpenMapTilesSchema {
|
||||
final class FieldMappings {
|
||||
public static final MultiExpression<String> Class =
|
||||
MultiExpression.of(List.of(MultiExpression.entry("dock", matchAny("waterway", "dock")),
|
||||
MultiExpression.entry("river", matchAny("water", "river")), MultiExpression.entry("lake", FALSE),
|
||||
MultiExpression.entry("ocean", FALSE),
|
||||
MultiExpression.entry("river", matchAny("water", "river", "stream", "canal", "ditch", "drain")),
|
||||
MultiExpression.entry("pond", matchAny("water", "pond", "basin", "wastewater")),
|
||||
MultiExpression.entry("lake", FALSE), MultiExpression.entry("ocean", FALSE),
|
||||
MultiExpression.entry("swimming_pool", matchAny("leisure", "swimming_pool"))));
|
||||
}
|
||||
}
|
||||
@@ -188,7 +195,7 @@ public class OpenMapTilesSchema {
|
||||
* field applied. Waterways do not have a <code>subclass</code> field.
|
||||
*
|
||||
* Generated from
|
||||
* <a href="https://github.com/openmaptiles/openmaptiles/blob/v3.14/layers/waterway/waterway.yaml">waterway.yaml</a>
|
||||
* <a href="https://github.com/openmaptiles/openmaptiles/blob/master/layers/waterway/waterway.yaml">waterway.yaml</a>
|
||||
*/
|
||||
public interface Waterway extends Layer {
|
||||
double BUFFER_SIZE = 4.0;
|
||||
@@ -273,7 +280,7 @@ public class OpenMapTilesSchema {
|
||||
* layer is to style wood (<code>class=wood</code>) and grass (<code>class=grass</code>) areas.
|
||||
*
|
||||
* Generated from <a href=
|
||||
* "https://github.com/openmaptiles/openmaptiles/blob/v3.14/layers/landcover/landcover.yaml">landcover.yaml</a>
|
||||
* "https://github.com/openmaptiles/openmaptiles/blob/master/layers/landcover/landcover.yaml">landcover.yaml</a>
|
||||
*/
|
||||
public interface Landcover extends Layer {
|
||||
double BUFFER_SIZE = 4.0;
|
||||
@@ -430,7 +437,7 @@ public class OpenMapTilesSchema {
|
||||
* residential (urban) areas and at higher zoom levels mostly OSM <code>landuse</code> tags.
|
||||
*
|
||||
* Generated from
|
||||
* <a href="https://github.com/openmaptiles/openmaptiles/blob/v3.14/layers/landuse/landuse.yaml">landuse.yaml</a>
|
||||
* <a href="https://github.com/openmaptiles/openmaptiles/blob/master/layers/landuse/landuse.yaml">landuse.yaml</a>
|
||||
*/
|
||||
public interface Landuse extends Layer {
|
||||
double BUFFER_SIZE = 4.0;
|
||||
@@ -526,7 +533,7 @@ public class OpenMapTilesSchema {
|
||||
* <a href="http://wiki.openstreetmap.org/wiki/Tag:natural%3Dpeak">Natural peaks</a>
|
||||
*
|
||||
* Generated from <a href=
|
||||
* "https://github.com/openmaptiles/openmaptiles/blob/v3.14/layers/mountain_peak/mountain_peak.yaml">mountain_peak.yaml</a>
|
||||
* "https://github.com/openmaptiles/openmaptiles/blob/master/layers/mountain_peak/mountain_peak.yaml">mountain_peak.yaml</a>
|
||||
*/
|
||||
public interface MountainPeak extends Layer {
|
||||
double BUFFER_SIZE = 64.0;
|
||||
@@ -594,14 +601,18 @@ public class OpenMapTilesSchema {
|
||||
}
|
||||
}
|
||||
/**
|
||||
* The park layer contains parks from OpenStreetMap tagged with
|
||||
* <a href="http://wiki.openstreetmap.org/wiki/Tag:boundary%3Dnational_park"><code>boundary=national_park</code></a>,
|
||||
* The park layer in OpenMapTiles contains natural and protected areas from OpenStreetMap, such as parks tagged with
|
||||
* <a href="https://wiki.openstreetmap.org/wiki/Tag:boundary%3Dnational_park"><code>boundary=national_park</code></a>,
|
||||
* <a href=
|
||||
* "http://wiki.openstreetmap.org/wiki/Tag:boundary%3Dprotected_area"><code>boundary=protected_area</code></a>, or
|
||||
* <a href="http://wiki.openstreetmap.org/wiki/Tag:leisure%3Dnature_reserve"><code>leisure=nature_reserve</code></a>.
|
||||
* "https://wiki.openstreetmap.org/wiki/Tag:boundary%3Dprotected_area"><code>boundary=protected_area</code></a>, or
|
||||
* <a href="https://wiki.openstreetmap.org/wiki/Tag:leisure%3Dnature_reserve"><code>leisure=nature_reserve</code></a>.
|
||||
* This layer also includes boundaries for indigenous lands tagged with <a href=
|
||||
* "https://wiki.openstreetmap.org/wiki/Tag:boundary%3Daboriginal_lands"><code>boundary=aboriginal_lands</code></a>.
|
||||
* Indigenous boundaries are not parks, but they are included in this layer for technical reasons related to data
|
||||
* processing. These boundaries represent areas with special legal and administrative status for indigenous peoples.
|
||||
*
|
||||
* Generated from
|
||||
* <a href="https://github.com/openmaptiles/openmaptiles/blob/v3.14/layers/park/park.yaml">park.yaml</a>
|
||||
* <a href="https://github.com/openmaptiles/openmaptiles/blob/master/layers/park/park.yaml">park.yaml</a>
|
||||
*/
|
||||
public interface Park extends Layer {
|
||||
double BUFFER_SIZE = 4.0;
|
||||
@@ -615,15 +626,16 @@ public class OpenMapTilesSchema {
|
||||
/** Attribute names for map elements in the park layer. */
|
||||
final class Fields {
|
||||
/**
|
||||
* Use the <strong>class</strong> to differentiate between different parks. The class for
|
||||
* <code>boundary=protected_area</code> parks is the lower-case of the
|
||||
* Use the <strong>class</strong> to differentiate between different kinds of features in the <code>parks</code>
|
||||
* layer, for example between parks and non-parks. The class for <code>boundary=protected_area</code> parks is the
|
||||
* lower-case of the
|
||||
* <a href="http://wiki.openstreetmap.org/wiki/key:protection_title"><code>protection_title</code></a> value with
|
||||
* blanks replaced by <code>_</code>. <code>national_park</code> is the class of
|
||||
* <code>protection_title=National Park</code> and <code>boundary=national_park</code>.
|
||||
* <code>nature_reserve</code> is the class of <code>protection_title=Nature Reserve</code> and
|
||||
* <code>leisure=nature_reserve</code>. The class for other
|
||||
* <a href="http://wiki.openstreetmap.org/wiki/key:protection_title"><code>protection_title</code></a> values is
|
||||
* similarly assigned.
|
||||
* similarly assigned. The class for <code>boundary=aboriginal_lands</code> is <code>aboriginal_lands</code>.
|
||||
*/
|
||||
public static final String CLASS = "class";
|
||||
/**
|
||||
@@ -661,7 +673,7 @@ public class OpenMapTilesSchema {
|
||||
* but for most styles it makes sense to just style <code>admin_level=2</code> and <code>admin_level=4</code>.
|
||||
*
|
||||
* Generated from
|
||||
* <a href="https://github.com/openmaptiles/openmaptiles/blob/v3.14/layers/boundary/boundary.yaml">boundary.yaml</a>
|
||||
* <a href="https://github.com/openmaptiles/openmaptiles/blob/master/layers/boundary/boundary.yaml">boundary.yaml</a>
|
||||
*/
|
||||
public interface Boundary extends Layer {
|
||||
double BUFFER_SIZE = 4.0;
|
||||
@@ -762,7 +774,7 @@ public class OpenMapTilesSchema {
|
||||
* in the <strong>aeroway</strong> layer.
|
||||
*
|
||||
* Generated from
|
||||
* <a href="https://github.com/openmaptiles/openmaptiles/blob/v3.14/layers/aeroway/aeroway.yaml">aeroway.yaml</a>
|
||||
* <a href="https://github.com/openmaptiles/openmaptiles/blob/master/layers/aeroway/aeroway.yaml">aeroway.yaml</a>
|
||||
*/
|
||||
public interface Aeroway extends Layer {
|
||||
double BUFFER_SIZE = 4.0;
|
||||
@@ -822,7 +834,7 @@ public class OpenMapTilesSchema {
|
||||
* features like plazas.
|
||||
*
|
||||
* Generated from <a href=
|
||||
* "https://github.com/openmaptiles/openmaptiles/blob/v3.14/layers/transportation/transportation.yaml">transportation.yaml</a>
|
||||
* "https://github.com/openmaptiles/openmaptiles/blob/master/layers/transportation/transportation.yaml">transportation.yaml</a>
|
||||
*/
|
||||
public interface Transportation extends Layer {
|
||||
double BUFFER_SIZE = 4.0;
|
||||
@@ -907,8 +919,9 @@ public class OpenMapTilesSchema {
|
||||
* The network type derived mainly from
|
||||
* <a href="http://wiki.openstreetmap.org/wiki/Key:network"><code>network</code></a> tag of the road. See more
|
||||
* info about <a href="http://wiki.openstreetmap.org/wiki/Road_signs_in_the_United_States"><code>us- </code></a>,
|
||||
* <a href="https://en.wikipedia.org/wiki/Trans-Canada_Highway"><code>ca-transcanada</code></a>, or
|
||||
* <a href="http://wiki.openstreetmap.org/wiki/United_Kingdom_Tagging_Guidelines#UK_roads"><code>gb- </code></a>.
|
||||
* <a href="https://en.wikipedia.org/wiki/Trans-Canada_Highway"><code>ca-transcanada</code></a>,
|
||||
* <a href="http://wiki.openstreetmap.org/wiki/United_Kingdom_Tagging_Guidelines#UK_roads"><code>gb- </code></a>,
|
||||
* or <a href="http://wiki.openstreetmap.org/wiki/Ireland/Roads"><code>ie- </code></a>.
|
||||
*/
|
||||
public static final String NETWORK = "network";
|
||||
|
||||
@@ -1166,7 +1179,7 @@ public class OpenMapTilesSchema {
|
||||
* location:underground are excluded.
|
||||
*
|
||||
* Generated from
|
||||
* <a href="https://github.com/openmaptiles/openmaptiles/blob/v3.14/layers/building/building.yaml">building.yaml</a>
|
||||
* <a href="https://github.com/openmaptiles/openmaptiles/blob/master/layers/building/building.yaml">building.yaml</a>
|
||||
*/
|
||||
public interface Building extends Layer {
|
||||
double BUFFER_SIZE = 4.0;
|
||||
@@ -1208,7 +1221,7 @@ public class OpenMapTilesSchema {
|
||||
* from OSM water bodies. Only the most important lakes contain labels.
|
||||
*
|
||||
* Generated from <a href=
|
||||
* "https://github.com/openmaptiles/openmaptiles/blob/v3.14/layers/water_name/water_name.yaml">water_name.yaml</a>
|
||||
* "https://github.com/openmaptiles/openmaptiles/blob/master/layers/water_name/water_name.yaml">water_name.yaml</a>
|
||||
*/
|
||||
public interface WaterName extends Layer {
|
||||
double BUFFER_SIZE = 256.0;
|
||||
@@ -1231,11 +1244,14 @@ public class OpenMapTilesSchema {
|
||||
public static final String NAME_DE = "name_de";
|
||||
|
||||
/**
|
||||
* Distinguish between <code>lake</code>, <code>ocean</code> and <code>sea</code>.
|
||||
* Distinguish between <code>lake</code>, <code>ocean</code>, <code>bay</code>, <code>strait</code>, and
|
||||
* <code>sea</code>.
|
||||
* <p>
|
||||
* allowed values:
|
||||
* <ul>
|
||||
* <li>"lake"
|
||||
* <li>"bay"
|
||||
* <li>"strait"
|
||||
* <li>"sea"
|
||||
* <li>"ocean"
|
||||
* </ul>
|
||||
@@ -1257,9 +1273,11 @@ public class OpenMapTilesSchema {
|
||||
/** Attribute values for map elements in the water_name layer. */
|
||||
final class FieldValues {
|
||||
public static final String CLASS_LAKE = "lake";
|
||||
public static final String CLASS_BAY = "bay";
|
||||
public static final String CLASS_STRAIT = "strait";
|
||||
public static final String CLASS_SEA = "sea";
|
||||
public static final String CLASS_OCEAN = "ocean";
|
||||
public static final Set<String> CLASS_VALUES = Set.of("lake", "sea", "ocean");
|
||||
public static final Set<String> CLASS_VALUES = Set.of("lake", "bay", "strait", "sea", "ocean");
|
||||
}
|
||||
/** Complex mappings to generate attribute values from OSM element tags in the water_name layer. */
|
||||
final class FieldMappings {
|
||||
@@ -1273,7 +1291,7 @@ public class OpenMapTilesSchema {
|
||||
* while for other roads you should use <code>name</code>.
|
||||
*
|
||||
* Generated from <a href=
|
||||
* "https://github.com/openmaptiles/openmaptiles/blob/v3.14/layers/transportation_name/transportation_name.yaml">transportation_name.yaml</a>
|
||||
* "https://github.com/openmaptiles/openmaptiles/blob/master/layers/transportation_name/transportation_name.yaml">transportation_name.yaml</a>
|
||||
*/
|
||||
public interface TransportationName extends Layer {
|
||||
double BUFFER_SIZE = 8.0;
|
||||
@@ -1316,8 +1334,14 @@ public class OpenMapTilesSchema {
|
||||
* <li>"us-highway"
|
||||
* <li>"us-state"
|
||||
* <li>"ca-transcanada"
|
||||
* <li>"ca-provincial-arterial"
|
||||
* <li>"ca-provincial"
|
||||
* <li>"gb-motorway"
|
||||
* <li>"gb-trunk"
|
||||
* <li>"gb-primary"
|
||||
* <li>"ie-motorway"
|
||||
* <li>"ie-national"
|
||||
* <li>"ie-regional"
|
||||
* <li>"road (default)"
|
||||
* </ul>
|
||||
*/
|
||||
@@ -1427,11 +1451,18 @@ public class OpenMapTilesSchema {
|
||||
public static final String NETWORK_US_HIGHWAY = "us-highway";
|
||||
public static final String NETWORK_US_STATE = "us-state";
|
||||
public static final String NETWORK_CA_TRANSCANADA = "ca-transcanada";
|
||||
public static final String NETWORK_CA_PROVINCIAL_ARTERIAL = "ca-provincial-arterial";
|
||||
public static final String NETWORK_CA_PROVINCIAL = "ca-provincial";
|
||||
public static final String NETWORK_GB_MOTORWAY = "gb-motorway";
|
||||
public static final String NETWORK_GB_TRUNK = "gb-trunk";
|
||||
public static final String NETWORK_GB_PRIMARY = "gb-primary";
|
||||
public static final String NETWORK_IE_MOTORWAY = "ie-motorway";
|
||||
public static final String NETWORK_IE_NATIONAL = "ie-national";
|
||||
public static final String NETWORK_IE_REGIONAL = "ie-regional";
|
||||
public static final String NETWORK_ROAD = "road";
|
||||
public static final Set<String> NETWORK_VALUES =
|
||||
Set.of("us-interstate", "us-highway", "us-state", "ca-transcanada", "gb-motorway", "gb-trunk", "road");
|
||||
Set.of("us-interstate", "us-highway", "us-state", "ca-transcanada", "ca-provincial-arterial", "ca-provincial",
|
||||
"gb-motorway", "gb-trunk", "gb-primary", "ie-motorway", "ie-national", "ie-regional", "road");
|
||||
public static final String CLASS_MOTORWAY = "motorway";
|
||||
public static final String CLASS_TRUNK = "trunk";
|
||||
public static final String CLASS_PRIMARY = "primary";
|
||||
@@ -1490,7 +1521,7 @@ public class OpenMapTilesSchema {
|
||||
* create a text hierarchy.
|
||||
*
|
||||
* Generated from
|
||||
* <a href="https://github.com/openmaptiles/openmaptiles/blob/v3.14/layers/place/place.yaml">place.yaml</a>
|
||||
* <a href="https://github.com/openmaptiles/openmaptiles/blob/master/layers/place/place.yaml">place.yaml</a>
|
||||
*/
|
||||
public interface Place extends Layer {
|
||||
double BUFFER_SIZE = 256.0;
|
||||
@@ -1542,6 +1573,7 @@ public class OpenMapTilesSchema {
|
||||
* <li>"town"
|
||||
* <li>"village"
|
||||
* <li>"hamlet"
|
||||
* <li>"borough"
|
||||
* <li>"suburb"
|
||||
* <li>"quarter"
|
||||
* <li>"neighbourhood"
|
||||
@@ -1579,13 +1611,14 @@ public class OpenMapTilesSchema {
|
||||
public static final String CLASS_TOWN = "town";
|
||||
public static final String CLASS_VILLAGE = "village";
|
||||
public static final String CLASS_HAMLET = "hamlet";
|
||||
public static final String CLASS_BOROUGH = "borough";
|
||||
public static final String CLASS_SUBURB = "suburb";
|
||||
public static final String CLASS_QUARTER = "quarter";
|
||||
public static final String CLASS_NEIGHBOURHOOD = "neighbourhood";
|
||||
public static final String CLASS_ISOLATED_DWELLING = "isolated_dwelling";
|
||||
public static final String CLASS_ISLAND = "island";
|
||||
public static final Set<String> CLASS_VALUES = Set.of("continent", "country", "state", "province", "city", "town",
|
||||
"village", "hamlet", "suburb", "quarter", "neighbourhood", "isolated_dwelling", "island");
|
||||
"village", "hamlet", "borough", "suburb", "quarter", "neighbourhood", "isolated_dwelling", "island");
|
||||
}
|
||||
/** Complex mappings to generate attribute values from OSM element tags in the place layer. */
|
||||
final class FieldMappings {
|
||||
@@ -1595,10 +1628,11 @@ public class OpenMapTilesSchema {
|
||||
/**
|
||||
* Everything in OpenStreetMap which contains a <code>addr:housenumber</code> tag useful for labelling housenumbers on
|
||||
* a map. This adds significant size to <em>z14</em>. For buildings the centroid of the building is used as
|
||||
* housenumber.
|
||||
* housenumber. Duplicates within a tile are dropped if they have the same street/block_number (records without name
|
||||
* tag are prioritized for preservation).
|
||||
*
|
||||
* Generated from <a href=
|
||||
* "https://github.com/openmaptiles/openmaptiles/blob/v3.14/layers/housenumber/housenumber.yaml">housenumber.yaml</a>
|
||||
* "https://github.com/openmaptiles/openmaptiles/blob/master/layers/housenumber/housenumber.yaml">housenumber.yaml</a>
|
||||
*/
|
||||
public interface Housenumber extends Layer {
|
||||
double BUFFER_SIZE = 8.0;
|
||||
@@ -1611,7 +1645,10 @@ public class OpenMapTilesSchema {
|
||||
|
||||
/** Attribute names for map elements in the housenumber layer. */
|
||||
final class Fields {
|
||||
/** Value of the <a href="http://wiki.openstreetmap.org/wiki/Key:addr"><code>addr:housenumber</code></a> tag. */
|
||||
/**
|
||||
* Value of the <a href="http://wiki.openstreetmap.org/wiki/Key:addr"><code>addr:housenumber</code></a> tag. If
|
||||
* there are multiple values separated by semi-colons, the first and last value separated by a dash.
|
||||
*/
|
||||
public static final String HOUSENUMBER = "housenumber";
|
||||
}
|
||||
/** Attribute values for map elements in the housenumber layer. */
|
||||
@@ -1627,7 +1664,7 @@ public class OpenMapTilesSchema {
|
||||
* <a href="http://wiki.openstreetmap.org/wiki/Points_of_interest">Points of interests</a> containing a of a variety
|
||||
* of OpenStreetMap tags. Mostly contains amenities, sport, shop and tourist POIs.
|
||||
*
|
||||
* Generated from <a href="https://github.com/openmaptiles/openmaptiles/blob/v3.14/layers/poi/poi.yaml">poi.yaml</a>
|
||||
* Generated from <a href="https://github.com/openmaptiles/openmaptiles/blob/master/layers/poi/poi.yaml">poi.yaml</a>
|
||||
*/
|
||||
public interface Poi extends Layer {
|
||||
double BUFFER_SIZE = 64.0;
|
||||
@@ -1656,6 +1693,7 @@ public class OpenMapTilesSchema {
|
||||
* allowed values:
|
||||
* <ul>
|
||||
* <li>shop
|
||||
* <li>office
|
||||
* <li>town_hall
|
||||
* <li>golf
|
||||
* <li>fast_food
|
||||
@@ -1689,6 +1727,7 @@ public class OpenMapTilesSchema {
|
||||
* <li>swimming
|
||||
* <li>castle
|
||||
* <li>atm
|
||||
* <li>fuel
|
||||
* </ul>
|
||||
*/
|
||||
public static final String CLASS = "class";
|
||||
@@ -1751,6 +1790,7 @@ public class OpenMapTilesSchema {
|
||||
/** Attribute values for map elements in the poi layer. */
|
||||
final class FieldValues {
|
||||
public static final String CLASS_SHOP = "shop";
|
||||
public static final String CLASS_OFFICE = "office";
|
||||
public static final String CLASS_TOWN_HALL = "town_hall";
|
||||
public static final String CLASS_GOLF = "golf";
|
||||
public static final String CLASS_FAST_FOOD = "fast_food";
|
||||
@@ -1784,10 +1824,11 @@ public class OpenMapTilesSchema {
|
||||
public static final String CLASS_SWIMMING = "swimming";
|
||||
public static final String CLASS_CASTLE = "castle";
|
||||
public static final String CLASS_ATM = "atm";
|
||||
public static final Set<String> CLASS_VALUES = Set.of("shop", "town_hall", "golf", "fast_food", "park", "bus",
|
||||
"railway", "aerialway", "entrance", "campsite", "laundry", "grocery", "library", "college", "lodging",
|
||||
public static final String CLASS_FUEL = "fuel";
|
||||
public static final Set<String> CLASS_VALUES = Set.of("shop", "office", "town_hall", "golf", "fast_food", "park",
|
||||
"bus", "railway", "aerialway", "entrance", "campsite", "laundry", "grocery", "library", "college", "lodging",
|
||||
"ice_cream", "post", "cafe", "school", "alcohol_shop", "bar", "harbor", "car", "hospital", "cemetery",
|
||||
"attraction", "beer", "music", "stadium", "art_gallery", "clothing_store", "swimming", "castle", "atm");
|
||||
"attraction", "beer", "music", "stadium", "art_gallery", "clothing_store", "swimming", "castle", "atm", "fuel");
|
||||
}
|
||||
/** Complex mappings to generate attribute values from OSM element tags in the poi layer. */
|
||||
final class FieldMappings {
|
||||
@@ -1798,8 +1839,18 @@ public class OpenMapTilesSchema {
|
||||
"erotic", "electronics", "fabric", "florist", "frozen_food", "furniture", "video_games", "video", "general",
|
||||
"gift", "hardware", "hearing_aids", "hifi", "ice_cream", "interior_decoration", "jewelry", "kiosk",
|
||||
"locksmith", "lamps", "mall", "massage", "motorcycle", "mobile_phone", "newsagent", "optician", "outdoor",
|
||||
"perfumery", "perfume", "pet", "photo", "second_hand", "shoes", "sports", "stationery", "tailor", "tattoo",
|
||||
"ticket", "tobacco", "toys", "travel_agency", "watches", "weapons", "wholesale")),
|
||||
"paint", "perfumery", "perfume", "pet", "photo", "second_hand", "shoes", "sports", "stationery", "tailor",
|
||||
"tattoo", "ticket", "tobacco", "toys", "travel_agency", "watches", "weapons", "wholesale")),
|
||||
MultiExpression.entry("office",
|
||||
matchAny("subclass", "accountant", "advertising_agency", "architect", "association", "bail_bond_agent",
|
||||
"charity", "company", "construction_company", "consulting", "cooperative", "courier", "coworking",
|
||||
"diplomatic", "educational_institution", "employment_agency", "energy_supplier", "engineer", "estate_agent",
|
||||
"financial", "financial_advisor", "forestry", "foundation", "geodesist", "government", "graphic_design",
|
||||
"guide", "harbour_master", "health_insurance", "insurance", "interior_design", "it", "lawyer", "logistics",
|
||||
"marketing", "moving_company", "newspaper", "ngo", "notary", "physician", "political_party",
|
||||
"private_investigator", "property_management", "publisher", "quango", "religion", "research", "security",
|
||||
"surveyor", "tax_advisor", "taxi", "telecommunication", "therapist", "translator", "travel_agent",
|
||||
"tutoring", "union", "university", "water_utility", "web_design", "wedding_planner")),
|
||||
MultiExpression.entry("town_hall",
|
||||
matchAny("subclass", "townhall", "public_building", "courthouse", "community_centre")),
|
||||
MultiExpression.entry("golf", matchAny("subclass", "golf", "golf_course", "miniature_golf")),
|
||||
@@ -1839,14 +1890,15 @@ public class OpenMapTilesSchema {
|
||||
MultiExpression.entry("clothing_store", matchAny("subclass", "bag", "clothes")),
|
||||
MultiExpression.entry("swimming", matchAny("subclass", "swimming_area", "swimming")),
|
||||
MultiExpression.entry("castle", matchAny("subclass", "castle", "ruins")),
|
||||
MultiExpression.entry("atm", matchAny("subclass", "atm"))));
|
||||
MultiExpression.entry("atm", matchAny("subclass", "atm")),
|
||||
MultiExpression.entry("fuel", matchAny("subclass", "fuel", "charging_station"))));
|
||||
}
|
||||
}
|
||||
/**
|
||||
* <a href="http://wiki.openstreetmap.org/wiki/Tag:aeroway%3Daerodrome">Aerodrome labels</a>
|
||||
*
|
||||
* Generated from <a href=
|
||||
* "https://github.com/openmaptiles/openmaptiles/blob/v3.14/layers/aerodrome_label/aerodrome_label.yaml">aerodrome_label.yaml</a>
|
||||
* "https://github.com/openmaptiles/openmaptiles/blob/master/layers/aerodrome_label/aerodrome_label.yaml">aerodrome_label.yaml</a>
|
||||
*/
|
||||
public interface AerodromeLabel extends Layer {
|
||||
double BUFFER_SIZE = 64.0;
|
||||
|
||||
Reference in New Issue
Block a user