Compare commits
13
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
529ab7cd5f | ||
|
|
857f64ce81 | ||
|
|
fd1d93972f | ||
|
|
5388163246 | ||
|
|
680c44e92c | ||
|
|
3211170ca5 | ||
|
|
fe9e9b593e | ||
|
|
f8ede7f4a6 | ||
|
|
1ab5382d05 | ||
|
|
d3ee396809 | ||
|
|
dfaa54ed8e | ||
|
|
ac550e327d | ||
|
|
2f6f86f4ea |
@@ -0,0 +1,5 @@
|
||||
garmin2osmand-v3/*.osm
|
||||
*.obf*
|
||||
*.ocbf*
|
||||
compiling-obf/*
|
||||
bgmountains-build/*
|
||||
@@ -10,3 +10,10 @@
|
||||
## 0.2.0
|
||||
- TYP line, polygons, icons, LBL codepage and antialiasing improvements.
|
||||
- Real-map 2,033-tile Rila test, 36.29 MiB, 34 seconds, peak 28 MiB.
|
||||
|
||||
## v0.6 (2026-10-14)
|
||||
- Reviewed 67 POI code icons directly against supplied BGMountains legend; 48 semantic default updates and a detailed CSV log.
|
||||
- Corrected extended POI LBL pointer offset (117 changed decoded labels) and added a subdivision-bounds sanity check (5,602 suspicious points filtered).
|
||||
- Added optional coordinate/name exact-match CSV fixes, no automatic speculative place-name correction.
|
||||
- Added strict reviewed nationwide type catalog, annotated legacy catalog, 16×16 TYP bitmap offline explorer, and GPXSee QA waypoint file.
|
||||
- Original OBF has not been validated, and no actual IMG is included in this source release.
|
||||
|
||||
+9
-1
@@ -1,5 +1,5 @@
|
||||
cmake_minimum_required(VERSION 3.16)
|
||||
project(garmin2osmand VERSION 0.5.0 LANGUAGES CXX)
|
||||
project(garmin2osmand VERSION 0.8.0 LANGUAGES CXX)
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
find_package(PNG REQUIRED)
|
||||
@@ -21,4 +21,12 @@ find_package(Python3 COMPONENTS Interpreter QUIET)
|
||||
if(Python3_Interpreter_FOUND)
|
||||
add_test(NAME classic_and_gmp_end_to_end COMMAND ${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/tests/test_smoke.py $<TARGET_FILE:garmin2osmand>)
|
||||
add_test(NAME native_vector_export COMMAND ${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/tests/test_vector.py $<TARGET_FILE:garmin2osm>)
|
||||
add_test(NAME bgmountains_legend_audit COMMAND ${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/tests/test_legend_audit.py)
|
||||
endif()
|
||||
if(Python3_Interpreter_FOUND)
|
||||
add_test(NAME osmand_obf_pipeline_xml COMMAND ${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/tests/test_obf_pipeline.py)
|
||||
endif()
|
||||
|
||||
if(Python3_Interpreter_FOUND)
|
||||
add_test(NAME bgmountains_v08_display_mappings COMMAND ${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/tests/test_v08_config.py)
|
||||
endif()
|
||||
|
||||
@@ -1,155 +1,103 @@
|
||||
# BGMountains Garmin IMG → OSM → OBF: C++ converter + POI audit toolkit (v0.5)
|
||||
# BGMountains Garmin IMG → OSM → OsmAnd OBF v0.8
|
||||
|
||||
The source code, PNG icons, full-country inventory, editable 1,871-row POI configuration, source manifest, and comparison tools are included in this archive.
|
||||
**This release fixes the v0.7 icon-visibility blind spot and anonymous POIs.**
|
||||
|
||||
**Important:** The converter source is GPL-3.0-or-later. The original BGMountains map data and any extracted/converted geographic data have **separate** licenses. There is no blanket permission to merge this data into openstreetmap.org. No IMG or OBF binaries are bundled.
|
||||
- Every one of the **263 validated retained Garmin POI types** has at least one conventional OSM semantic/display tag in `config/poi-overrides-all-types.csv`, in addition to raw `bgm_poi`/`garmin:*` provenance tags.
|
||||
- **87 codes** occur at least 100 times in the source catalog (409,154 source POIs). **46** use conventional feature categories recognized by stock OsmAnd in principle; **41** use an explicitly marked, synthetic `tourism=information;information=board` **local-OsmAnd display fallback**. Some additional lower-frequency codes also need fallback. This DOES NOT assert that the physical object is an information board.
|
||||
- Missing original IMG names become stable Bulgarian descriptive names, e.g. `Вода - Каптаж - 1THF1SDNTKJ`, with `bgm:generated_name=yes`. Original nonempty names are preserved.
|
||||
- `--jobs N` enables parallel extraction, **default one thread**.
|
||||
- New `tools/audit_icon_coverage.py` verifies source OSM classification coverage, names and produces per-type coordinate report. It **does not** prove OBF index presence or visual display; use an OBF inspector and OsmAnd for that.
|
||||
- Map-derived icon art and datasets remain governed by BGMountains' applicable copyright conditions. These synthetic POI tags are **not appropriate for uploading unchanged to the real OpenStreetMap database**.
|
||||
|
||||
## Build
|
||||
## Quick build (Ubuntu/Debian)
|
||||
|
||||
```sh
|
||||
sudo apt-get install -y cmake g++ make libpng-dev libsqlite3-dev python3
|
||||
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
|
||||
cmake --build build -j "$(nproc)"
|
||||
ctest --test-dir build --output-on-failure
|
||||
sudo apt update
|
||||
sudo apt install -y build-essential cmake libpng-dev libsqlite3-dev python3 openjdk-21-jre-headless unzip
|
||||
|
||||
python3 scripts/build_bgmountains.py \
|
||||
--img /absolute/path/to/gmapsupp.img \
|
||||
--out ./BGMountains-out \
|
||||
--download-creator
|
||||
```
|
||||
|
||||
## Bundled resources
|
||||
`--download-creator` is for the official OsmAndMapCreator, and the pipeline downloads the original official `poi_types.xml` and `rendering_types.xml` the first time as needed. Network access is required for these unless you already supply the files. **This runtime did not have MapCreator, so full OBF compilation was not executed here.**
|
||||
|
||||
Already installed OsmAndMapCreator:
|
||||
|
||||
```sh
|
||||
python3 scripts/build_bgmountains.py --img ./gmapsupp.img --out ./BGMountains-out \
|
||||
--creator /path/to/OsmAndMapCreator
|
||||
```
|
||||
|
||||
Opt-in parallelism: add `--jobs 4`. The output directory must be fresh: the converter refuses to overwrite an existing OSM or staging files.
|
||||
|
||||
Prepare and validate the OSM without invoking the Java OBF builder:
|
||||
|
||||
```sh
|
||||
python3 scripts/build_bgmountains.py --img ./gmapsupp.img --out ./BGMountains-preview \
|
||||
--prepare-only
|
||||
```
|
||||
|
||||
**IMPORTANT: You must REBUILD the OSM and OBF.** This update cannot modify an already compiled `.obf` or give v0.7 output its new tags in place.
|
||||
|
||||
## What the configuration files mean
|
||||
|
||||
| File | Purpose |
|
||||
|---|---|
|
||||
| `data/BGMountains-unique-poi-types.csv` | **All 1,871 observed POI hex types**, counts, named counts, current default classification, icon availability and five source coordinates/names/mapset IDs per hex type |
|
||||
| `config/poi-overrides-all-types.csv` | **Editable configurator**: one row per hex, with count, default and an example embedded in the notes. Rules initially have empty tags, therefore do not change output |
|
||||
| `config/poi-overrides.csv` | Minimal template with explanation and an intentionally commented example |
|
||||
| `data/BGMountains-source-pois.csv.gz` | Complete extracted inventory (416,165 source records) for audit/provenance comparisons; *this is map-derived data* |
|
||||
| `data/poi-icons/*.png` | 96 successfully decoded Garmin TYP icons indexed by hex code; facilitates visual comparison with GPXSee |
|
||||
| `tools/validate_pois.py` | Disk-backed, streaming comparison of source manifest against OSM POIs; optional semantic override assertions; OsmAnd inspector wrapper |
|
||||
| `tests/demo.img` | Synthetic Garmin fixture suitable for reproducing baseline smoke tests |
|
||||
| `config/poi-overrides-all-types.csv` | **Active** 1,871-row config, including 263 retained types with revised tags. `mode=replace` replaces old hardcoded semantics, retaining provenance/name. All non-present legacy type rows remain for historical comparison. |
|
||||
| `config/poi-overrides-all-types-v07-user-upload.csv` | Exact backup of the CSV you supplied. |
|
||||
| `config/poi-labels-bg.csv` | New 263-row Bulgarian fallback name prefixes, editable. |
|
||||
| `config/poi-icon-audit.csv` | All 263 types, count, original tags vs new tags, classification confidence and sample coordinates. |
|
||||
| `config/osmand-icons.csv` | Optional **custom render style** icon names/visibility; never controls the default `tourism=information` fallback injected through the active overrides. |
|
||||
| `data/BGMountains-frequent-poi-types-100plus-v08.csv` | All 87 frequent types, with reviewed tags, classification mode and coordinates. |
|
||||
| `tools/audit_icon_coverage.py` | Independent POI OSM field audit; one row per present type. |
|
||||
|
||||
## Produce a countrywide OSM export + inventory
|
||||
**How to edit a type:** find `code=0x6500` in active overrides. Edit the **tags** column, leaving a `key=value;key=value` list. Change `mode=replace` only if you understand how the C++ built-in classifications merge. Set a Bulgarian text prefix in `config/poi-labels-bg.csv`. Run again from scratch to rebuild OSM then OBF.
|
||||
|
||||
Default execution is **serial** (`--jobs 1`, even if not supplied). Set `--jobs 4` or another integer 1–64 to opt into parallel mapset processing. Parallel processing uses independent SQLite stages; all OSM nodes are emitted before ways and node refs are rebased correctly.
|
||||
### Why 0x6500 is not `amenity=drinking_water`
|
||||
|
||||
The original legend labels this a **каптаж** (water intake/catchment), not necessarily a drinking-water source. v0.8 records `man_made=water_intake` but adds an explicit *presentation-only* `tourism=information;information=board;bgm:synthetic_icon=yes` for common OsmAnd rendering. The "information board" is NOT a physical claim. The default Bulgarian name prefix is `Вода - Каптаж`. If you want `Вода - Резервоар`, just edit the label CSV; do not misrepresent a small intake as an artificial lake (`natural=water;water=reservoir`).
|
||||
|
||||
`0x6602` already has `tourism=viewpoint` and does not use a synthetic board marker. Its failure to appear in a particular existing OBF could be an old build, incomplete POI indexing, or display suppression—only inspecting that actual OBF can distinguish these.
|
||||
|
||||
### Stable anonymous names
|
||||
|
||||
For an unnamed POI, `name = Bulgarian_label + " - " + FNV1a_base36_11(mapset|type|quantized_lat|quantized_lon)`. The output is deterministic for an identical IMG and coordinates across threads and builds. A very small collision probability remains; the coordinates/mapset/type remain available. These generated names are for an offline map, **not actual surveyed names**.
|
||||
|
||||
### Test against your three sample coordinates
|
||||
|
||||
| Type | Coordinates | Expected tags | v0.8 generated name |
|
||||
|---|---|---|---|
|
||||
| `0x6602` | `42.0346141,24.6528697` | `tourism=viewpoint` | `Панорама - Гледка - 25IVP49H823` |
|
||||
| `0x6500` | `42.0347643,24.6522689` | `man_made=water_intake;tourism=information;information=board` | `Вода - Каптаж - 1THF1SDNTKJ` |
|
||||
| `0x6500` | `42.0340991,24.6520114` | Same | `Вода - Каптаж - ED03D455VTZ` |
|
||||
|
||||
These examples were directly extracted from the 422MiB IMG into a Plovdiv test OSM and compared to a source manifest. All 57 POIs in that test passed exact semantic-tag checks, with **zero missing and extra**. Serial vs `--jobs 4` POI identities/tags were equal.
|
||||
|
||||
## Review before copying `.obf` into OsmAnd
|
||||
|
||||
Pipeline artifacts in `--out`:
|
||||
- `BGMountains.osm` — exact source XML for the OBF builder
|
||||
- `source-pois.csv`, `poi-types.csv` — extraction manifest and type counts
|
||||
- `validation.json`, `mismatches.csv` — original-source to OSM audit
|
||||
- `poi-coverage.csv`, `poi-coverage.json` — export display mapping coverage
|
||||
- `osmand-config/poi_types.bgmountains.xml`, `rendering_types.bgmountains.xml` — registrations added to **complete upstream XML**
|
||||
- `osmand-config/BGMountains-custom.render.xml` — optional style; exact Garmin TYP art is NOT embedded into stock OsmAnd
|
||||
- `*.obf` plus `mapcreator.log`, `obf-poi-index.txt` (only after a successful Java compilation)
|
||||
|
||||
The `tourism=information` fallback should give OsmAnd a native searchable POI category in an appropriate compatible build. **Neither an OSM tag nor an indexed OBF proves a symbol will be drawn at every zoom**: the map style, profile, POI filters, icon availability, density/collision and selected offline map still affect visibility. Test at zoom 17–20 with POI layers enabled. Avoid having an old overlapping BGMountains OBF selected at the same time.
|
||||
|
||||
To inspect your built file with OsmAndMapCreator:
|
||||
|
||||
```sh
|
||||
./build/garmin2osm \
|
||||
--input '/path/to/gmapsupp.img' \
|
||||
--output Bulgaria.osm \
|
||||
--poi-overrides config/poi-overrides-all-types.csv \
|
||||
--poi-types-out unique-poi-types.csv \
|
||||
--poi-manifest source-pois.csv \
|
||||
--poi-examples 5 \
|
||||
--jobs 4
|
||||
/path/to/OsmAndMapCreator/inspector.sh -vpoi -vpoiobjects \
|
||||
-bbox=24.64,42.05,24.665,42.02 ./BGMountains-out/*.obf \
|
||||
> ./BGMountains-out/plovdiv-obf-inspector.txt
|
||||
```
|
||||
|
||||
For a regional check before rebuilding the whole country:
|
||||
Inspect output for the three named POIs. **There is no tested generic parser of OsmAndMapCreator's inspector text in this package**, and we have not verified a full-country OBF built from v0.8 in this runtime. If OSM has the POI but the inspector doesn't, focus on indexing or generated XML; if inspector has it but the screen doesn't, focus on style/POI display/filter/zoom.
|
||||
|
||||
```sh
|
||||
./build/garmin2osm --input '/path/to/gmapsupp.img' \
|
||||
--bbox 23.28,42.11,23.47,42.27 --output Rila.osm \
|
||||
--poi-overrides config/poi-overrides-all-types.csv \
|
||||
--poi-types-out Rila-types.csv --poi-manifest Rila-source.csv
|
||||
```
|
||||
### Local-only licensing warning
|
||||
|
||||
Generate **only** a catalog and manifest (no OSM output or staging DB):
|
||||
|
||||
```sh
|
||||
./build/garmin2osm --input '/path/to/gmapsupp.img' \
|
||||
--poi-types-out catalog.csv --poi-manifest source.csv --icons-dir my-icons
|
||||
```
|
||||
|
||||
Other original flags remain: `--inspect`, `--contours`, `--all-levels`, `--keep-temp`, `--temp`, `--limit-maps`. Existing OSM, staging, and manifest output paths are never intentionally overwritten. Source inventory is generated even for ignored or `drop`-configured POIs, so intentional exclusions can be audited explicitly.
|
||||
|
||||
## Override known defaults and add new POI types
|
||||
|
||||
Edit `config/poi-overrides-all-types.csv` in LibreOffice/Excel or a text editor. Columns:
|
||||
|
||||
```
|
||||
code,name_contains,mode,tags,note
|
||||
0x6414,,replace,man_made=water_well,ONLY IF VERIFIED
|
||||
0x6503,,append,information=guidepost;hiking=yes,Example: adds another attribute
|
||||
```
|
||||
|
||||
Choose a valid mode: `append`, `replace`, `keep_raw`, or `drop`. `name_contains` is optional and case-sensitive; if populated, the rule applies only to names containing that text. Rule order matters within the same code. Actual `garmin:type`, `garmin:feature`, `garmin:mapset` and `name` cannot be overridden. Use `key=` to delete an existing default key. Unknown hex types will remain raw-only until mapped. **Never infer the meaning of a code solely from its hexadecimal number.**
|
||||
|
||||
An immediately usable example that modifies all type `0x6414` points follows:
|
||||
|
||||
```
|
||||
code,name_contains,mode,tags,note
|
||||
0x6414,,replace,man_made=water_well,TEST ONLY; not evidence of true semantics
|
||||
```
|
||||
|
||||
NOTE: `0x6414` presently has a built-in `amenity=drinking_water` default. Its old duplicate fallback to `water_well` was unreachable and has been removed. The icon and field data need to establish the right category. **The sample replacement is not a verified mapping.**
|
||||
|
||||
Coordinates in `data/BGMountains-unique-poi-types.csv` refer to the decoded *original IMG* features. For each type, open the coordinates in GPXSee's Garmin map and inspect both the label and icon. `data/poi-icons/0x6414.png` may provide additional context. The fact that a rendered glyph looks like water is **not** enough to distinguish `natural=spring`, `man_made=water_well` and `amenity=drinking_water`.
|
||||
|
||||
## Automated validation: IMG → OSM
|
||||
|
||||
The `--poi-manifest` output is a separately emitted inventory of every parsed IMG point. To compare against the generated OSM:
|
||||
|
||||
```sh
|
||||
python3 tools/validate_pois.py compare \
|
||||
--source Rila-source.csv --osm Rila.osm \
|
||||
--rules config/poi-overrides-all-types.csv \
|
||||
--report Rila-report.json \
|
||||
--mismatches Rila-missing-extra.csv
|
||||
```
|
||||
|
||||
Both `.osm` and `.osm.gz` are supported. The validator checks type, exact 7-digit quantized coordinates, name and multiplicity; it separately checks the assertions provided in the override CSV. Its failure exit code is nonzero; `--mismatches` includes direct OSM web links for investigation. Uses temporary SQLite to avoid holding the entire POI set in RAM. A `drop` override is treated as intentional absence, but a matching input record still appears in the source manifest.
|
||||
|
||||
**Proof limit:** This is an internal IMG-to-OSM conversion-consistency check, not independent verification of Garmin decoder fidelity or the semantic meaning of a hex code. It cannot by itself prove that your `.obf` contains all the classified features.
|
||||
|
||||
## Automated validation: OSM → OBF
|
||||
|
||||
Build with the official OsmAndMapCreator distribution (download separately):
|
||||
|
||||
```sh
|
||||
./scripts/build_obf.sh /path/OsmAndMapCreator "$PWD/Rila.osm"
|
||||
# Custom OsmAnd POI / rendering definitions may be supplied with their FULL respective config XMLs:
|
||||
./scripts/build_obf.sh /path/OsmAndMapCreator "$PWD/Rila.osm" \
|
||||
--poi-types /path/to/full-poi_types.xml \
|
||||
--rendering-types /path/to/full-rendering_types.xml
|
||||
```
|
||||
|
||||
Inspect **your actual, externally compiled OBF**:
|
||||
|
||||
```sh
|
||||
python3 tools/validate_pois.py obf-inspect \
|
||||
--inspector /path/to/OsmAndMapCreator/inspector.sh \
|
||||
--obf /path/to/Rila.obf \
|
||||
--bbox 23.28,42.11,23.47,42.27 \
|
||||
--report obf-poi-inspection.txt
|
||||
```
|
||||
|
||||
The wrapper invokes OsmAnd BinaryInspector `-vpoi -vpoiobjects` with an optional bounding box and saves the output. It does **not** yet reconcile OBF internal IDs with the Garmin origin; OsmAnd may exclude unsupported tags from its map and POI indexes. For OBF persistence checks, use a POI (known category, name and coordinate) and inspect it via the rendered map / a bounded BinaryInspector dump; unknown types often require extending the **full** OsmAnd `poi_types.xml`. For line colors or custom map tags, modify **full** `rendering_types.xml`, then rebuild the OBF. A CSV rule only affects the OSM export; it does not change OsmAnd's indexes without a rebuild.
|
||||
|
||||
## What is tested
|
||||
|
||||
- Existing bundled CTest suite: 3/3 tests passed.
|
||||
- Supplied **441,942,016-byte** Bulgaria IMG: decoded **165 map regions**, **416,165 POI records**, **1,871 unique raw point types**, **96 icons**; full inventory generation completed.
|
||||
- Rila test bbox `23.28,42.11,23.47,42.27`: source and exported OSM each contained **2,424 POIs**, with **zero missing/extra** after seven-decimal coordinate correction.
|
||||
- Serial and `--jobs 4` Rila jobs: exactly the same multiset of **16,786 ways and 2,424 POIs** (including way geometry and tags).
|
||||
- A deliberately overridden test type was exported and assertions passed.
|
||||
- **Not tested:** user's full final `.obf` (not provided here); comprehensive semantic correspondence of 1,871 Garmin types; original Garmin route-network validity/turn-restrictions; all possible IMG/GMP variants.
|
||||
|
||||
## Concurrency caution
|
||||
|
||||
The Garmin container file uses a shared `std::ifstream`, protected by a mutex to ensure safe reads. Parser threads work on different `Map` objects with separate SQLite stores. For maximum throughput, `--jobs 4` may help on multi-core CPUs, but the disk read lock, SQLite writes and OSM XML output remain throughput bottlenecks. The default `--jobs 1` is deterministic and safest. Memory and temporary disk use increase with concurrency.
|
||||
|
||||
## Add independent POI records (optional)
|
||||
|
||||
Use `config/poi-additions.csv` with four CSV fields: `lat,lon,name,tags`.
|
||||
The program includes them with `garmin:feature=manual_poi` and `source=user_manual`.
|
||||
They are **not** presented as Garmin-extracted features; the source-POI validator
|
||||
ignores these intentional extra nodes. Add the flag `--poi-additions config/poi-additions.csv`
|
||||
to a command with `--output` (empty file is a no-op).
|
||||
|
||||
## Reproduce the bundled regional audit without the source IMG
|
||||
|
||||
```sh
|
||||
python3 tools/validate_pois.py compare \
|
||||
--source samples/Rila-source-pois.csv \
|
||||
--osm samples/Rila-vector.osm.gz \
|
||||
--report results.json --mismatches differences.csv
|
||||
```
|
||||
|
||||
For the complete source inventory, use the gzip-compressed CSV directly:
|
||||
`python3 tools/validate_pois.py compare --source data/BGMountains-source-pois.csv.gz --osm /your/full-map.osm`.
|
||||
Do not upload the generated synthetic display tags to OpenStreetMap or assert they accurately describe physical information boards. The original IMG, derived icons and extracts can have third-party copyright restrictions. The source-only code path should be distributed separately from map-derived sample assets until rights are confirmed.
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
See README_V093.md for current diagnosis and changes. Historical v0.92 notes were superseded.
|
||||
@@ -0,0 +1,66 @@
|
||||
# BGMountains Garmin IMG → OSM v0.6 (legend-reviewed, spatially validated)
|
||||
|
||||
This is an **incremental source + QA release**, based on the v0.5 converter. Original map IMG/OBF binaries are **not bundled**. The source map's license is **not** the converter's GPL license: map-derived data, icons, CSV and examples are for private verification unless the rights holders authorize redistribution.
|
||||
|
||||
## Corrected
|
||||
|
||||
1. **67 exact extracted TYP icon ↔ supplied BGMountains legend matches**, 60 of them present as decoded POI types in the IMG (7 icons occur only in its TYP catalog), including 48 changes to the previous semantic defaults. Changes appear in `data/legend-corrections-log.csv`, and new mappings are embedded directly in `src/vector.cpp` as safe fallbacks. Every verified icon also gets a `garmin:legend` tag to aid inspection. Optional `config/poi-overrides-legend-reviewed.csv` permits further edits while retaining the original 1,871 type rows.
|
||||
2. **Extended-point label pointer**: v0.5 read the label pointer at `p+len-3`; Garmin's layout places it at `p+6`, before the optional extra byte. Correcting this fixed or cleared **117 label outcomes**. See `data/extended-label-decoder-changes.csv`, with old/new names/coordinates. The string `есебър` was a decoder artifact at the *wrong geographic location*, not a misspelling to force to `Несебър`. The actual town of Несебър is in the normal classic point data at 42.6599550,27.7197504, mapset 02235056.
|
||||
3. **Spatial sanity gate**: Extended POIs outside their own TRE subdivision bounds (beyond 0.00005° margin) are no longer emitted. **5,602 suspected/invalid point records** disappear; classic POI count remains **407,820**. This is a conservative defense against malformed extended streams, not independent Garmin specification conformance testing. Retained extended records may still warrant validation. Total kept POIs: **410,563**, distinct types: **263** (113 classic, 150 extended). The old 1,871-code inventory remains available, annotated with exclusion counts.
|
||||
4. **Optional per-feature POI name corrections**, `--poi-name-fixes config/poi-name-fixes.csv` uses an exact source-map ID, hex code, latitude, longitude, previous name and replacement name. Never blanket-correct all points with a particular substring: it could mask a decoder error. No name corrections are active by default.
|
||||
5. **Threads are off by default** (`--jobs 1`); use `--jobs 4` to enable four parallel workers. POI rules apply consistently in both cases.
|
||||
|
||||
## Files
|
||||
|
||||
- `config/poi-overrides-all-types.csv` (same as `config/poi-overrides-legend-reviewed.csv`): **corrected editable 1,871-row override file** (schema `code,name_contains,mode,tags,note`). 60 active POI-code rows corrected (plus 7 extra verified icons embedded in C++ for future occurrences). Unverified rows are left inert and flagged in the notes.
|
||||
- `config/poi-name-fixes.csv`: name correction template, no active fixes by default.
|
||||
- `data/BGMountains-unique-poi-types.csv` (same as `data/BGMountains-unique-poi-types-STRICT-reviewed.csv`): **current useful catalog: 263 retained raw types**, current counts, reviewed classification status, up to five real source coordinates and names per type.
|
||||
- `data/BGMountains-unique-poi-types-reviewed.csv`: **historical 1,871-type catalog**, with v0.5 counts, exclusions and review status; do not mistake rejected coordinates for correct map objects.
|
||||
- `data/legend-corrections-log.csv`: 60 present-and-verified mappings; `data/all-67-icon-legend-matches.csv`: 67 TYP icon-to-legend matches (7 icon codes not observed as POIs), including original/new OSM semantic tags and one coordinate each.
|
||||
- `data/extended-label-decoder-changes.csv`: 117 extended-label before/after results (some names vanish because they came from the wrong LBL offset).
|
||||
- `data/legend-verified-POI-QA-waypoints.gpx`: 179 sample POIs of verified hex codes, for simultaneous visual comparison in GPXSee + original IMG. Exact count is in the GPX file.
|
||||
- `data/BGMountains-POI-Explorer.html`: no-network/offline searchable icon reference, with copyable sample coordinates and basemap links.
|
||||
- `data/poi-icons/*.png`: embedded Garmin icons extracted from the original TYP (copyright depends on source data).
|
||||
- `tools/validate_pois.py`: previously tested source→OSM audit; limitation remains that it is not a third-party ground-truth or OBF assertion.
|
||||
|
||||
## Build and validation
|
||||
|
||||
```bash
|
||||
sudo apt-get install -y cmake g++ libpng-dev libsqlite3-dev python3
|
||||
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
|
||||
cmake --build build -j "$(nproc)"
|
||||
ctest --test-dir build --output-on-failure
|
||||
|
||||
./build/garmin2osm --input 'gmapsupp.img' \
|
||||
--output BGMountains-legend-reviewed.osm \
|
||||
--poi-overrides config/poi-overrides-legend-reviewed.csv \
|
||||
--poi-name-fixes config/poi-name-fixes.csv \
|
||||
--poi-manifest BGMountains-source-reviewed.csv \
|
||||
--poi-types-out BGMountains-types-reviewed.csv
|
||||
|
||||
python3 tools/validate_pois.py compare \
|
||||
--source BGMountains-source-reviewed.csv \
|
||||
--osm BGMountains-legend-reviewed.osm \
|
||||
--rules config/poi-overrides-legend-reviewed.csv \
|
||||
--report validated.json --mismatches mismatches.csv
|
||||
```
|
||||
|
||||
Parallelism: append `--jobs 4` to the converter command if desired; otherwise it uses one worker.
|
||||
|
||||
**Adding one verified name correction:** edit `config/poi-name-fixes.csv`, with this schema:
|
||||
|
||||
```csv
|
||||
mapset,code,lat,lon,old_name,new_name,note
|
||||
# Example (illustrative; this row is NOT a real correction):
|
||||
# 02234071,0x6609,42.1897745,23.2835913,Х.Иван Вазов,х. Иван Вазов,Check actual Garmin source before use
|
||||
```
|
||||
|
||||
The original `name` and coordinates in the source manifest are quantized to seven decimals for exact matching. A manual name fix affects both OSM and the manifest, so it **cannot count as independent evidence of cartographic correctness**; record your verification separately.
|
||||
|
||||
## What this does not prove
|
||||
|
||||
The user's full `.obf` was not provided. Compile it again from the updated OSM source and inspect its POI categories/index; neither a successful OSM export nor this audit proves that OsmAnd indexing retains all custom tags. Geometry classification for the map's **area and line legend** remains a separate review (this patch principally covers POIs). Extended types other than those confirmed by icons are **unverified**, even when they pass the subdivision bounds check. Several extended nautical symbols (e.g., navigation lights) appear plausible but have no matching extracted TYP glyph.
|
||||
|
||||
## 0x10d1f / Несебър
|
||||
|
||||
The v0.5 type list showed `есебър` at **43.0592179,27.7399421**. At that latitude it is ~44 km north of the original Nesebar town POI. The v0.6 label-pointer fix no longer returns `есебър` at that record, and the subdivision bounds check suppresses the spurious record. **No synthetic `Несебър` POI has been inserted.** The real original city/town record is preserved unchanged.
|
||||
+127
@@ -0,0 +1,127 @@
|
||||
# BGMountains Garmin IMG → OsmAnd OBF (v0.7)
|
||||
|
||||
**One command builds the C++ IMG converter, emits a reviewed OSM, generates complete custom OsmAnd POI and map type definitions, validates the intermediate source/OSM data, and invokes OsmAndMapCreator to build an OBF.**
|
||||
|
||||
Unlike v0.6's optional `build_obf.sh` wrapper, the main script no longer expects you to create any missing XML files. First-time setup requires access to the official OsmAnd resource files and the OsmAndMapCreator Java tool; the script can download both on demand. Java, Python, CMake, libpng, SQLite3 and a C++ compiler must be installed.
|
||||
|
||||
## One-command full Bulgarian map
|
||||
|
||||
```bash
|
||||
sudo apt update
|
||||
sudo apt install -y build-essential cmake libpng-dev libsqlite3-dev python3 openjdk-21-jre-headless unzip
|
||||
|
||||
python3 scripts/build_bgmountains.py \
|
||||
--img '/path/to/gmapsupp.img' \
|
||||
--out '/path/to/BGMountains-build' \
|
||||
--download-creator
|
||||
```
|
||||
|
||||
If you **already have** OsmAndMapCreator, use `--creator /path/to/OsmAndMapCreator` in place of `--download-creator`. You can also `export OSMAND_MAPCREATOR=/path/to/OsmAndMapCreator` and omit `--creator`.
|
||||
|
||||
OsmAndMapCreator is ~150 MB and requires extra disk space and Java RAM. By default, the script downloads it **only when** you request `--download-creator`; upstream OsmAnd `poi_types.xml` and `rendering_types.xml` are downloaded or read from your MapCreator directory automatically, then cached in the output folder. Requires Internet for first use unless you supply existing XML files with `--poi-base FILE --rendering-base FILE`.
|
||||
|
||||
**Multithreading remains disabled by default (`--jobs 1`).** Pass `--jobs 4` explicitly for the IMG parsing stage. It does not control MapCreator's Java processing.
|
||||
|
||||
If the Java process runs out of memory:
|
||||
|
||||
```bash
|
||||
python3 scripts/build_bgmountains.py --img gmapsupp.img --out ./BGMountains-build \
|
||||
--creator ~/OsmAndMapCreator --jobs 4 \
|
||||
--java-opts '-Xms1G -Xmx12G'
|
||||
```
|
||||
|
||||
The full-country OSM can be large. Allocate substantial disk space for OSM XML, temporary indexing databases, and OBF output. The script retains intermediate files for auditing.
|
||||
|
||||
## What is generated
|
||||
|
||||
```text
|
||||
BGMountains-build/
|
||||
BGMountains.osm # converted source, Garmin type and name kept
|
||||
source-pois.csv # source point audit manifest
|
||||
poi-types.csv # observed type counts and example coordinates
|
||||
validation.json # source-to-OSM counts/mismatches
|
||||
mismatches.csv
|
||||
converter.log
|
||||
validator.log
|
||||
upstream/poi_types.xml # official OsmAnd definitions (if downloaded)
|
||||
upstream/rendering_types.xml
|
||||
osmand-config/
|
||||
poi_types.bgmountains.xml # FULL base OsmAnd POI rules + 1 custom type per observed Garmin code
|
||||
rendering_types.bgmountains.xml # FULL base render encoding + map encoding for each Garmin code
|
||||
BGMountains-custom.render.xml # OPTIONAL visual style for custom icons in OsmAnd
|
||||
type-index-summary.json
|
||||
mapcreator.log
|
||||
*.obf # full map (created by OsmAndMapCreator)
|
||||
obf-poi-index.txt # dump from inspector.sh, if available
|
||||
build-manifest.json
|
||||
```
|
||||
|
||||
For the v0.6 reviewed **national catalog**: 263 decoded types, 410,563 POIs, 87 types with **at least 100** occurrences, 86 with Garmin TYP bitmap extraction. Actual new runs produce their own observed counts. The default threshold is 100; use `--threshold 250` to change it.
|
||||
|
||||
### Three different meanings of 'icon'
|
||||
|
||||
1. **Native OsmAnd map icon.** Verified type receives proper OSM tags (`natural=spring`, `tourism=hotel`, etc.) from `config/poi-overrides-all-types.csv`. Existing OsmAnd styles choose their built-in symbols.
|
||||
2. **Custom Garmin type in OBF.** Every observed POI receives `garmin:type` and `bgm_poi=type_0xHEX`; the generated POI and map type XML preserve those types as a dedicated category. Map-index objects at high-frequency types are stored from zoom **15** by default, rare types from zoom **17** (adjustable by `--frequent-zoom`, `--rare-zoom`). Native OsmAnd styles may not draw custom types without a matching style.
|
||||
3. **Actual Garmin TYP bitmap.** Preserved separately as PNG in `data/poi-icons/`; an OBF **does not embed third-party bitmap resources into the app icon set**. To display these exact symbols requires changing OsmAnd application resources, not just editing XML. A different installed OsmAnd render style may refer to already available built-in symbols.
|
||||
|
||||
## Assign additional built-in OsmAnd icons yourself
|
||||
|
||||
Edit `config/osmand-icons.csv`:
|
||||
|
||||
```csv
|
||||
code,show_in_custom_style,minzoom,osmand_builtin_icon,...
|
||||
0x650b,yes,16,information,...
|
||||
```
|
||||
|
||||
For common unknowns (>=100 occurrences with no verified standard OSM semantic category) the sample config enables a generic **built-in** `information` icon in an optional style. For verified classes, `show_in_custom_style=no` lets the stock OsmAnd map style draw a more meaningful native icon. The file includes one entry for **all 263 source types**, occurrence counts and sample coordinates. Change the `osmand_builtin_icon` to a valid icon ID supported by your installed OsmAnd version and set `show_in_custom_style=yes` to override the default.
|
||||
|
||||
After building, install `BGMountains-custom.render.xml` as a custom OsmAnd rendering style in the application's `rendering` directory, then select the corresponding map style. It depends on OsmAnd's `default` style. It is optional and **not automatically installed** by placing the OBF on the device. Its exact icon rendering has not been device-tested in this release; built-in IDs and application versions may differ. Avoid over-rendering at low zoom because 410k points can be slow.
|
||||
|
||||
## Test a region first
|
||||
|
||||
```bash
|
||||
python3 scripts/build_bgmountains.py --img gmapsupp.img \
|
||||
--out ./rila-build --bbox 23.22,42.08,23.47,42.29 \
|
||||
--creator ~/OsmAndMapCreator
|
||||
```
|
||||
|
||||
Alternatively use `--prepare-only` to stop before Java: this produces the OSM plus generated XML and validation reports.
|
||||
|
||||
## Rebuild from existing OSM
|
||||
|
||||
Only use an OSM generated by **v0.7 or later** containing `bgm_poi` tags:
|
||||
|
||||
```bash
|
||||
python3 scripts/build_bgmountains.py \
|
||||
--osm ./BGMountains-build/BGMountains.osm \
|
||||
--catalog ./BGMountains-build/poi-types.csv \
|
||||
--creator ~/OsmAndMapCreator \
|
||||
--out ./obf-rebuild
|
||||
```
|
||||
|
||||
Original v0.6 OSM exports **lack** the `bgm_poi` classifier. The script rejects those for this path rather than quietly producing an incomplete custom POI index. To reuse old data, rerun the IMG extraction with v0.7.
|
||||
|
||||
## How POIs are edited
|
||||
|
||||
- `config/poi-overrides-all-types.csv`: reviewed original IMG type → semantic OSM tags (five-column CSV). You can override/add rules, preserving provenance. This includes the earlier 67 legend/icon matches.
|
||||
- `config/poi-name-fixes.csv`: coordinate-specific correction of verified names, never guessed universally.
|
||||
- `config/poi-additions.csv`: manually add personally verified POIs.
|
||||
- `config/osmand-icons.csv`: optional on-screen **stock OsmAnd** symbol selections for custom raw types.
|
||||
- `data/BGMountains-unique-poi-types.csv`: counts, names, five real sample coordinates per Garmin hex type.
|
||||
- `data/poi-icons`: 96 extracted TYP bitmaps for reference, not automatically installed into OsmAnd.
|
||||
|
||||
### Validation
|
||||
|
||||
The C++/Python roundtrip test checks extracted source POI manifest against OSM coordinates, names and tags. `ctest --test-dir build --output-on-failure` runs 5 bundled tests, including checks of full upstream XML augmentation. On the tested source bbox (23.22,42.08,23.47,42.29) a v0.7 extraction produced 3,986 POIs across 60 types and zero source-versus-OSM mismatches. **These tests do not assert OBF persistence** until MapCreator runs on your machine and `obf-poi-index.txt` is reviewed.
|
||||
|
||||
OsmAnd has separate indexed data for map rendering and POI search, and an additional app-side style/icons component. A successful OBF build does not prove every icon will be visible. To debug OBF use `~/OsmAndMapCreator/inspector.sh -vpoi /path/to/map.obf` and compare the categories to `osmand-config/type-index-summary.json`.
|
||||
|
||||
## Upstream and redistribution
|
||||
|
||||
The repository's C++ converter has its own `LICENSE`; BGMountains-derived SVG/PNG icons, data, examples and Garmin IMG/OBF remain subject to map licensors' conditions. Do not redistribute the full data release or generated OBF as unrestricted ODbL/CC0 without additional rights clearance. The script downloads official OsmAnd XML into a private build directory rather than repackaging those resource files in this source ZIP.
|
||||
|
||||
Official references:
|
||||
- https://osmand.net/docs/technical/map-creation/create-offline-maps-yourself/
|
||||
- https://github.com/osmandapp/OsmAnd-resources/tree/master/poi
|
||||
- https://github.com/osmandapp/OsmAnd-resources/tree/master/obf_creation
|
||||
- https://osmand.net/docs/technical/osmand-file-formats/osmand-rendering-style/
|
||||
@@ -0,0 +1,60 @@
|
||||
# BGMountains v0.9: meaningful POIs, distinct icons and Garmin TYP route colours
|
||||
|
||||
## Why v0.8 displayed 'Marina', information boards and orange anchors
|
||||
|
||||
The old dataset used unrelated standard tags to force OsmAnd to index symbols. In v0.9 the default `poi-overrides-all-types.csv` no longer injects synthetic `tourism=information;information=board` for arbitrary places. The C++ area type 0x09 was also incorrectly tagged `leisure=marina`, although the BGMountains legend identifies it as shopping area. It is now `landuse=retail`. We found 0x650b winter waymarks clustering on the Vihren route (not marinas). The output is not for public OpenStreetMap imports without source license clearance.
|
||||
|
||||
## Build from original IMG to OBF (Linux)
|
||||
|
||||
```bash
|
||||
sudo apt install -y build-essential cmake libpng-dev libsqlite3-dev python3 openjdk-21-jre-headless unzip
|
||||
python3 scripts/build_bgmountains.py \
|
||||
--img '/path/to/gmapsupp.img' \
|
||||
--out './BGMountains-output' --download-creator
|
||||
```
|
||||
|
||||
Or use an already installed OsmAndMapCreator:
|
||||
|
||||
```bash
|
||||
python3 scripts/build_bgmountains.py \
|
||||
--img '/path/to/gmapsupp.img' --creator /path/to/OsmAndMapCreator \
|
||||
--out ./BGMountains-output
|
||||
```
|
||||
|
||||
CLI uses **1 worker by default**, add `--jobs 4` to opt in.
|
||||
|
||||
Important: the MapCreator utility is not bundled (large official upstream binary); script downloads it if you specify `--download-creator`. The online upstream OsmAnd `poi_types.xml` and `rendering_types.xml` are fetched too. To work offline provide `--poi-base ... --rendering-base ... --creator ... --offline`.
|
||||
|
||||
Generated files:
|
||||
- `BGMountains.osm` geographic source, custom `bgm_poi` tags, raw Garmin IDs and hashes
|
||||
- `osmand-config/poi_types.bgmountains.xml`, `rendering_types.bgmountains.xml` for indexing
|
||||
- `osmand-config/BGMountains-outdoor.render.xml` **MUST BE INSTALLED/SELECTED IN OSMAND** for custom icons and trail colors
|
||||
- `source-pois.csv`, `poi-types.csv`, `validation.json`, `poi-coverage.csv` for checks
|
||||
- `.obf`, `mapcreator.log`, `obf-poi-index.txt` **only if MapCreator completed successfully**
|
||||
|
||||
### Install on your phone
|
||||
|
||||
1. Copy the output `.obf` to the OsmAnd offline maps directory or import through OsmAnd.
|
||||
2. Import the `.render.xml` style in OsmAnd. On Android: *Menu → Maps & Resources → Local → Rendering styles → Import*, or *Settings → Import from file*. Some versions require placing the style in the app's `rendering/` directory and restarting.
|
||||
3. Select `BGMountains outdoor v0.9` in *Menu → Configure map → Map rendering → Map style*.
|
||||
4. Test at zoom 16-18. Very dense points such as winter waymarks and reservoir/catchment markers intentionally begin at zoom 16-17 to prevent the map from being solid with symbols.
|
||||
5. For search: OsmAnd's POI database/index and on-screen symbols are different. Custom `bgm_poi` entries are added to the build's POI index, but custom POI *categories* and 'Nearby POI' behavior may require app-compatible POI definitions. Search by generated fallback name if Nearby doesn't expose them. We cannot guarantee this until the final OBF is inspected on the device.
|
||||
6. Remove the older test OBF before loading this one, otherwise the app can display overlapping categories/data.
|
||||
|
||||
### How to customise
|
||||
|
||||
- `config/poi-overrides-all-types.csv`: **meaning**, stable source Garmin hex → OSM tags. **Do not use false `leisure=marina` or fake boards for icons.**
|
||||
- `config/osmand-icons.csv`: **appearance**, code → built-in OsmAnd icon and minzoom. Some obscure icon IDs may vary between app builds: validate with your installed version.
|
||||
- `config/trail-styles.csv`: **hiking overlay appearance**, extended Garmin line type → color/zoom/width. Colors recovered from TYP; 50 line types audited. Exact Garmin pixel/band patterns aren't reproducible from plain OsmAnd XML alone; the extracted original source TYP remains in the IMG.
|
||||
- `config/poi-labels-bg.csv`: fallback **Bulgarian prefix + deterministic hash** for unnamed POIs; valid existing names untouched.
|
||||
- `config/poi-name-fixes.csv`: coordinate- and type-specific manual corrections, no fuzzy changes to location names.
|
||||
- `data/BGMountains-v09-POI-icon-crosswalk.csv`: verified legend, all 263 types, default style icon, counted occurrences and sample location.
|
||||
|
||||
### Known limitations
|
||||
|
||||
- IMG → OSM regional export fidelity validated, not mobile screen rendering.
|
||||
- MapCreator couldn't run in the author's offline environment; a new OBF was NOT generated or inspected in these tests.
|
||||
- Not every Garmin TYP icon has a built-in OsmAnd equivalent. The native application cannot load arbitrary TYP PNGs from an ordinary OBF/style; exact icon artwork requires a custom OsmAnd application build.
|
||||
- Road/trail colored overlays are not necessarily independently routable trail geometry. **v0.9 no longer creates false routable paths from the decorative extended overlays.** Underlying real road/path features retain their physical geometry.
|
||||
- Many obscure Garmin types still share the generic built-in info icon, not because they mean 'information board', but because their semantics and replacement art are unverified. Users can edit `config/osmand-icons.csv`; filenames in OsmAnd icon resources can differ between app versions.
|
||||
- Use this dataset for private testing pending rights clearance from BGMountains and third-party sources.
|
||||
+130
@@ -0,0 +1,130 @@
|
||||
# BGMountains Garmin IMG → native OSM → OsmAnd OBF — v0.92
|
||||
|
||||
**v0.92** fixes the v0.8–v0.9 synthetic marker/marina fallback approach. It aims to create a **native OsmAnd map** without Garmin TYP icon PNGs or a custom `.render.xml` on the phone.
|
||||
|
||||
The **only two user-editable translation files** are:
|
||||
|
||||
1. `config/poi-mapping.csv` (Garmin point type → native OSM tag(s), Bulgarian naming prefix, legend, priority, historic icon pointer, example coordinates)
|
||||
2. `config/line-mapping.csv` (Garmin extended line type → OSM way tags, color-marked hiking relation policy and `osmc:symbol`)
|
||||
|
||||
Everything under the generated build/output directory is an **intermediate or report**, not a third configuration. You don't have to supply `poi_types.xml`, `rendering_types.xml`, an icons CSV or a custom rendering style.
|
||||
|
||||
## Requirements
|
||||
|
||||
Ubuntu/Debian: `sudo apt install build-essential cmake libpng-dev libsqlite3-dev python3 openjdk-21-jre-headless unzip`
|
||||
|
||||
To **compile an OBF**, provide an official [OsmAndMapCreator](https://osmand.net/docs/technical/map-creation/create-offline-maps-yourself/) installation containing `utilities.sh`, or use the automatic download option (downloads from OsmAnd). **Python, CMake and `make` by themselves do NOT build OBF**.
|
||||
|
||||
## Full map: one command
|
||||
|
||||
```sh
|
||||
python3 scripts/build_bgmountains.py \
|
||||
--img '/path/to/gmapsupp.img' \
|
||||
--out './output' \
|
||||
--creator '/path/to/OsmAndMapCreator'
|
||||
```
|
||||
|
||||
If you don't have MapCreator:
|
||||
|
||||
```sh
|
||||
python3 scripts/build_bgmountains.py \
|
||||
--img '/path/to/gmapsupp.img' --out './output' --download-creator
|
||||
```
|
||||
|
||||
It compiles C++, extracts the Garmin IMG to OSM, uses the two mapping files, assigns stable Bulgarian hashes to unnamed POIs, produces route relations, conservatively attaches matched overlays to actual `highway=*` ways, performs a semantic QA audit, and runs OsmAndMapCreator. The **only file to copy onto your phone is the resulting `.obf`**. Enable hiking routes and relevant POI filters in OsmAnd as necessary. No third-party icons or renderer file is included or required.
|
||||
|
||||
For a fast test that stops before the Java OBF stage:
|
||||
|
||||
```sh
|
||||
python3 scripts/build_bgmountains.py \
|
||||
--img '/path/to/gmapsupp.img' \
|
||||
--out './vihren-test' --bbox '23.36,41.70,23.42,41.76' --prepare-only
|
||||
```
|
||||
|
||||
Parallelism remains **disabled by default** (`--jobs 1`). For opt-in concurrent IMG extraction append `--jobs 4`. The Python mapping, relation, QA and Java steps are not parallelized by this switch.
|
||||
|
||||
Use `--no-route-attachment` to keep source overlay geometries as hiking-relation members instead of attaching matched real path/road ways. `--keep-raw` retains the intermediate IMG-native XML for debugging.
|
||||
|
||||
## Editing the 2 CSV files
|
||||
|
||||
### `config/poi-mapping.csv`
|
||||
|
||||
| Column | What it means |
|
||||
|---|---|
|
||||
| `code` | Garmin POI type, in hex; never changed in provenance |
|
||||
| `source_count` | Count from source inventory; informational only |
|
||||
| `legend_bg`, `legend_en` | Original BGMountains legend meaning (where verified) |
|
||||
| `meaning_confidence` | `legend` / `source_inferred`; review unknowns |
|
||||
| `osm_tags` | `k=v;k=v` for **truthful standard** OSM semantics; no fake category for icons |
|
||||
| `label_bg` | Prefix for otherwise nameless objects, with deterministic alphanumeric suffix |
|
||||
| `priority` | `critical`, `normal` or `terrain`; currently emits `bgm:priority` metadata |
|
||||
| `zoom_hint` | Desirable zoom target for future style/QA work, **not an OsmAnd override** |
|
||||
| `action` | `replace` removes earlier semantics, `append` keeps them, `raw` keeps provenance only, `drop` discards the POI |
|
||||
| `legacy_icon` | `TYP:<hex>` reference for older Garmin icon, for auditing only |
|
||||
| `example_lat`, `example_lon`, `example_name` | Sample place from original source inventory to inspect |
|
||||
|
||||
If a source code is known, edit `osm_tags` and set `action=replace`. Example: `0x6414` → `amenity=drinking_water`. If it isn't known, leave it as `raw` until you inspect the old legend and sample coordinates. Nothing will invent a marina, information board or drinking tap for an unknown symbol. You may append multiple compatible tags separated by semicolons.
|
||||
|
||||
**Water/shelter priority rules already populated**: `0x6414` drinking tap, `0x6511` spring, `0x6500` water intake, `0x6417` well, `0x6609` hut, `0x660a` basic refuge, `0x661e` shelter and `0x6402` building. For requested naming, unnamed `0x6402` uses the prefix **„Заслон - Сграда“**; its factual OSM classification stays `building=yes` (a generic building must not falsely be declared an actual lifesaving shelter). Verify shelter suitability on the ground before relying on it.
|
||||
|
||||
`0x6600` numeric elevation labels preserve `ele=*` instead of being misclassified as peaks, buildings or missing POI categories. `0x650b` winter waymarkers and `0x660b` trail markers remain Garmin-sourced nodes rather than incorrect water/marina/guidepost POIs.
|
||||
|
||||
### `config/line-mapping.csv`
|
||||
|
||||
| Column | Meaning |
|
||||
|---|---|
|
||||
| `code`, `source_count` | Garmin extended polyline code/count |
|
||||
| `legend_bg`, `legacy_color` | Known description and source TYP base color |
|
||||
| `osm_way_tags` | Additional truthful `key=value;key=value` tags on source ways |
|
||||
| `route_mode` | `relation` builds OSM hiking routes; `preserve` keeps raw way without assuming it is a trail |
|
||||
| `osmc_symbol` | Standard OSMC syntax, e.g. `red:white:red_bar` |
|
||||
| `network` | `lwn` (local walking), change if there is evidence for a larger network |
|
||||
| `route_confidence` | `color_only` means inferred from color but pattern not independently established |
|
||||
| `priority` | Descriptive category only, not stock OsmAnd zoom control |
|
||||
|
||||
Colored candidate hiking overlays become `type=route` + `route=hiking` + `osmc:symbol=*` relations. All retain the original `garmin:type` and source line metadata. Matching route overlay lines to existing physical `highway=*` geometry avoids generating fake navigable duplicate paths. A physical road segment is used only if at least 90% of an overlay's segments match and the physical way extends at most 10% beyond it; unmatched overlays remain relation members, flagged in `route-attachment.json`.
|
||||
|
||||
**A source color is not conclusive proof of a painted bar pattern**. All automatic bar-style assignments from color-only evidence explicitly say `route_confidence=color_only`; check the original map and choose the right `osmc_symbol` for each code before treating that detail as verified. See [OSM trail markings](https://wiki.openstreetmap.org/wiki/Trail_markings) and [OSMC symbol syntax](https://wiki.openstreetmap.org/wiki/Key:osmc:symbol).
|
||||
|
||||
## New IMG / future map: generate blank templates
|
||||
|
||||
```sh
|
||||
python3 scripts/build_bgmountains.py \
|
||||
--img '/path/to/another-garmin.img' \
|
||||
--out './new-map-template' --template
|
||||
```
|
||||
|
||||
The result contains `poi-mapping.TEMPLATE.csv` with **all discovered types, counts and sample POI coordinates**, and `line-mapping.TEMPLATE.csv` with all discovered extended line types/counts. Unknowns start as `action=raw`, `route_mode=preserve` and **without semantic tags**. You must fill them based on that map's own legend and examples; BGMountains mappings must not be assumed to apply to another Garmin map. To build it, point `--poi-config` / `--line-config` to the new two reviewed files.
|
||||
|
||||
## Outputs / validation
|
||||
|
||||
| Path | Purpose |
|
||||
|---|---|
|
||||
| `BGMountains-native.osm` | Final translated, standard-tagged OSM intermediate |
|
||||
| `source-pois.csv` | Per-point source type, mapset, coordinates and name |
|
||||
| `discovered-pois.csv` | Observed type inventory with up to 5 sample coordinates |
|
||||
| `route-report.json` | Coloured overlays/route relation counts |
|
||||
| `route-attachment.json` | Reused physical path vs unmatched overlay counts |
|
||||
| `semantic-audit.json` | Detailed native category statistics, unknown types and example positions |
|
||||
| `extract.log`, `translate.log`, `audit.log` | Pipeline logs |
|
||||
| `mapcreator.log` | Java OBF build log when compilation is attempted |
|
||||
| `obf-inspection.txt` | BinaryInspector POI summary (if inspector is installed) |
|
||||
| `*.obf` | Final file for OsmAnd (only if MapCreator succeeds) |
|
||||
|
||||
Tests:
|
||||
|
||||
```sh
|
||||
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
|
||||
cmake --build build -j 2
|
||||
ctest --test-dir build --output-on-failure
|
||||
```
|
||||
|
||||
## What native stock OsmAnd cannot guarantee
|
||||
|
||||
- OsmAnd's **own rendering style controls icon selection, label collision and minimum zoom**; `zoom_hint=12` does not change it. To force all water/hut icons to zoom 11 or 12, a custom OsmAnd style/app configuration is unavoidable. v0.92 deliberately does **not** install one.
|
||||
- Not every valid OSM tag has a stock icon, especially water intakes, bridge points, elevation points and trail blazes. We prefer correct/metadata-only tags over false marinas/boards.
|
||||
- A valid hiking relation is not a guarantee that stock OsmAnd renders every segment. Inspect `route-attachment.json` and verify on-device.
|
||||
- The OSM file parser and XML/route structural tests do **not** establish that the POIs survived final OBF indexing. Use `mapcreator.log`, `obf-inspection.txt` and actual OsmAnd app checks. We cannot claim a complete nationwide OBF was compiled/tested in this environment unless MapCreator is available.
|
||||
- Map-derived sample coordinates and legend crosswalk are subject to BGMountains data licensing; do not relicense or import them to public OSM automatically.
|
||||
|
||||
**v0.92 does not use the Garmin icon PNGs or `BGMountains-outdoor.render.xml`**. You may remove older BGMountains OBFS from OsmAnd to avoid duplicates before installing the new one.
|
||||
@@ -0,0 +1,76 @@
|
||||
# BGMountains v0.93 — bounded-memory translation and private-map POI fallback
|
||||
|
||||
This is a **source patch release**, building on v0.92. All user translation choices live in exactly two files:
|
||||
|
||||
1. `config/poi-mapping.csv`: Garmin hex → OSM semantic tags; Bulgarian legend name and old TYP code; `action`, priority, source count and examples.
|
||||
2. `config/line-mapping.csv`: Garmin line hex → OSM way tags, `osmc:symbol`, route relation choice, marking color and confidence.
|
||||
|
||||
`cpp-poi-override.csv` and `cpp-name-labels.csv` are generated **internal intermediates**, not control files; do not edit them.
|
||||
|
||||
## Direct diagnosis of the supplied nohup
|
||||
|
||||
The same appended logfile shows **different historical attempts**: an early `java.lang.OutOfMemoryError: Java heap space` in OsmAndMapCreator, followed in the last attempt by `java.io.IOException: No space left on device` while `IndexCreator.extractOsmToNodesDB` built the Java/SQLite intermediate database. Earlier `poi-coverage.log` saying `PASS` refers only to OSM semantic checks. It is not a successful OBF creation signal.
|
||||
|
||||
## Changes
|
||||
|
||||
- Streaming OSM parser clears the XML **root**, preventing an accumulating empty Element for every object.
|
||||
- Expensive optional `attach_native_routes.py` step is opt-in (`--attach-routes`); default keeps existing routable highway network unchanged, and generates hiking-route relations from Garmin colored overlays. Without attachment, those relations describe overlay geometry; they are not proof of route-based navigation along the existing path ways.
|
||||
- Unclassified POIs now receive `place=locality`, `bgm:synthetic_fallback=place_locality`, `bgm:classification=unverified`, and a generated Bulgarian name `Неуточнено - <stable hash>` **when the source name was empty or previously synthetic**. Genuine source names remain untouched. Raw `garmin:type` and mapset information are preserved.
|
||||
- **Exception:** `0x6600` numeric spot heights and other elevation annotations (`ele=*`) are not fabricated as localities. They remain elevations rather than false place icons. Known native tags are never overwritten by the fallback.
|
||||
- Native categories for water, drinking water, shelters/huts, bridges and more remain sourced from existing two mapping files. No extracted Garmin artwork or phone-side custom stylesheet is required.
|
||||
- Semantic audit differentiates actual unclassified records, synthetic locality fallbacks and non-POI elevation annotations, and includes example coordinates. `PASS` still does not prove an Android icon renders.
|
||||
- Conservative free-disk preflight before invoking MapCreator, based on `max(2 GiB, 5*OSM size + 1 GiB)` free in the output filesystem. The estimate is based on the reported >25 GiB scratch need for ~6 GiB OSM; it is *not a guarantee*.
|
||||
- JVM heap via `JAVA_TOOL_OPTIONS` as well as `JAVA_OPTS`, for MapCreator builds that ignore the latter; use e.g. `--java-opts '-Xms512M -Xmx6G'` (subject to host RAM). **A large heap cannot solve out-of-disk.**
|
||||
- OBF success only if a newly generated nonempty `.obf` exists, not a stale file from an earlier run.
|
||||
|
||||
## Quick regional test — no Java, no large output
|
||||
|
||||
```sh
|
||||
python3 scripts/build_bgmountains.py \
|
||||
--img '/path/to/gmapsupp.img' \
|
||||
--bbox '23.30,41.67,23.50,41.84' \
|
||||
--out './regional-test' \
|
||||
--prepare-only
|
||||
|
||||
cat regional-test/semantic-audit.json
|
||||
cat regional-test/route-report.json
|
||||
```
|
||||
|
||||
`--jobs 1` is the default. `--jobs 4` is optional; on the source IMG, serial and parallel runs had equal POI counts and candidate colored overlay counts but a slight discrepancy in connected route groups (78 vs 82). **Do not assume identical routing topology with parallel extraction yet.**
|
||||
|
||||
To test a truly unfamiliar map and generate configuration templates:
|
||||
|
||||
```sh
|
||||
python3 scripts/build_bgmountains.py --img another.img --bbox 'W,S,E,N' \
|
||||
--out ./new-map --template
|
||||
# Review: new-map/poi-mapping.TEMPLATE.csv and line-mapping.TEMPLATE.csv
|
||||
```
|
||||
|
||||
The templates are intentionally blank for unknown source meanings; when used by the translation pipeline, unknown POIs will receive the private `place=locality` fallback. A new map should not blindly reuse BGMountains meanings.
|
||||
|
||||
## Full OBF build — only on a machine with enough free scratch/RAM
|
||||
|
||||
```sh
|
||||
python3 scripts/build_bgmountains.py \
|
||||
--img '/path/to/gmapsupp.img' \
|
||||
--out '/large-volume/bgmountains-v093' \
|
||||
--creator '/path/to/OsmAndMapCreator' \
|
||||
--java-opts '-Xms512M -Xmx8G'
|
||||
```
|
||||
|
||||
Or first use `--prepare-only` and later `--osm '/path/to/IMG-raw.osm'` to skip the C++ extraction **if** that raw original file was saved (`--keep-raw`). `--osm` expects the *raw* IMG-derived OSM, not the already translated native OSM.
|
||||
|
||||
The preflight checks output filesystem free space; for shared temp partitions, also check `df -h /tmp "$PWD"` and `df -i`. An OBF may still fail if actual scratch is elsewhere. Only override the preflight (`--ignore-disk-check`) when you have independently confirmed scratch capacity.
|
||||
|
||||
## Limitations / honesty
|
||||
|
||||
- `place=locality` is a **synthetic label hack chosen for this PRIVATE map**, not a correct definition of all unknown source objects and not suitable for direct uploading into OSM.
|
||||
- Stock OsmAnd decides icon set, zoom threshold, collision suppression and Nearby POI search category. A native OSM tag increases compatibility but cannot guarantee every icon is shown or listed in Nearby without a mobile test.
|
||||
- Route colors represented through native OSM hiking relations using `osmc:symbol` for identified Garmin colored overlay types. Color/pattern interpretations with limited source evidence remain explicitly provisional.
|
||||
- No full-country OBF creation has been performed as part of this patch validation, per the user's storage constraints. The final national MapCreator step remains to be verified on the user's workstation.
|
||||
|
||||
## Regression verification
|
||||
|
||||
- Unit tests: `python3 -m unittest discover -s tests -p 'test_v093.py' -v`
|
||||
- Previous v0.92 tests: `python3 -m unittest discover -s tests -p 'test_v092.py' -v`
|
||||
- Regional real IMG: 1,915 POIs, 296 elevation annotations, 150 synthetic localities, zero unclassified after fallback, 273 route-overlay candidates. Single-worker result has 78 connected route groups. The v0.93 code has not been validated end-to-end against stock OsmAnd on Android.
|
||||
Binary file not shown.
@@ -1,11 +0,0 @@
|
||||
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
|
||||
cmake --build build -j "$(nproc)"
|
||||
|
||||
./build/garmin2osm \
|
||||
--input ~/gmapsupp.img \
|
||||
--output Bulgaria.osm \
|
||||
--poi-overrides config/poi-overrides-all-types.csv \
|
||||
--poi-additions config/poi-additions.csv \
|
||||
--poi-types-out unique-poi-types.csv \
|
||||
--poi-manifest source-pois.csv \
|
||||
--jobs 4
|
||||
@@ -0,0 +1,17 @@
|
||||
#sudo apt-get install -y cmake g++ libpng-dev libsqlite3-dev python3
|
||||
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
|
||||
cmake --build build -j "$(nproc)"
|
||||
ctest --test-dir build --output-on-failure
|
||||
|
||||
./build/garmin2osm --input '/home/opthq/gmapsupp.img' \
|
||||
--output BGMountains-legend-reviewed.osm \
|
||||
--poi-overrides config/poi-overrides-legend-reviewed.csv \
|
||||
--poi-name-fixes config/poi-name-fixes.csv
|
||||
--poi-manifest BGMountains-source-reviewed.csv \
|
||||
--poi-types-out BGMountains-types-reviewed.csv
|
||||
|
||||
python3 tools/validate_pois.py compare \
|
||||
--source BGMountains-source-reviewed.csv \
|
||||
--osm BGMountains-legend-reviewed.osm \
|
||||
--rules config/poi-overrides-legend-reviewed.csv \
|
||||
--report validated.json --mismatches mismatches.csv
|
||||
Executable
+5
@@ -0,0 +1,5 @@
|
||||
export JAVA_OPTS="-Xms256M -Xmx25G"
|
||||
|
||||
../../scripts/build_obf.sh \
|
||||
$(realpath .) \
|
||||
$(realpath ../Bulgaria-garmin.osm)
|
||||
Executable
+2
@@ -0,0 +1,2 @@
|
||||
wget https://download.osmand.net/latest-night-build/OsmAndMapCreator-main.zip
|
||||
unzip *.zip
|
||||
@@ -0,0 +1,51 @@
|
||||
code,source_count,legend_bg,legacy_color,osm_way_tags,route_mode,osmc_symbol,network,route_confidence,priority,note
|
||||
0x10e1f,237835,Неустановена линейна декорация,#000000,,preserve,,lwn,unknown,terrain,Provisional symbol until verified against legend; overlay is NOT a routable path
|
||||
0x10f12,217991,Неустановена линейна декорация,#e6e6e6,,preserve,,lwn,unknown,terrain,Provisional symbol until verified against legend; overlay is NOT a routable path
|
||||
0x10f16,36027,Неустановена линейна декорация,#e6e6e6,,preserve,,lwn,unknown,terrain,Provisional symbol until verified against legend; overlay is NOT a routable path
|
||||
0x10e0b,15148,Неустановена линейна декорация,#000000,,preserve,,lwn,unknown,terrain,Provisional symbol until verified against legend; overlay is NOT a routable path
|
||||
0x10f17,10965,"Туристическа линейна маркировка (цветът е потвърден, шарката не)",#ff3041,,relation,red:white:red_bar,lwn,color_only,critical,Provisional symbol until verified against legend; overlay is NOT a routable path
|
||||
0x10e13,10607,Неустановена линейна декорация,#000000,,preserve,,lwn,unknown,terrain,Provisional symbol until verified against legend; overlay is NOT a routable path
|
||||
0x10e12,8662,Неустановена линейна декорация,#000000,,preserve,,lwn,unknown,terrain,Provisional symbol until verified against legend; overlay is NOT a routable path
|
||||
0x10f14,8475,Неустановена линейна декорация,#000000,,preserve,,lwn,unknown,terrain,Provisional symbol until verified against legend; overlay is NOT a routable path
|
||||
0x10f11,6436,Неустановена линейна декорация,#000000,,preserve,,lwn,unknown,terrain,Provisional symbol until verified against legend; overlay is NOT a routable path
|
||||
0x10f0a,6231,"Туристическа линейна маркировка (цветът е потвърден, шарката не)",#ff0000,,relation,red:white:red_bar,lwn,color_only,critical,Provisional symbol until verified against legend; overlay is NOT a routable path
|
||||
0x10e0a,4347,"Туристическа линейна маркировка (цветът е потвърден, шарката не)",#0030ff,,relation,blue:white:blue_bar,lwn,color_only,critical,Provisional symbol until verified against legend; overlay is NOT a routable path
|
||||
0x10f00,4197,Неустановена линейна декорация,#000000,,preserve,,lwn,unknown,terrain,Provisional symbol until verified against legend; overlay is NOT a routable path
|
||||
0x10f0f,4098,"Туристическа линейна маркировка (цветът е потвърден, шарката не)",#399500,,relation,green:white:green_bar,lwn,color_only,critical,Provisional symbol until verified against legend; overlay is NOT a routable path
|
||||
0x10e11,3926,Неустановена линейна декорация,#000000,,preserve,,lwn,unknown,terrain,Provisional symbol until verified against legend; overlay is NOT a routable path
|
||||
0x10e05,3011,"Туристическа линейна маркировка (цветът е потвърден, шарката не)",#ffff00,,relation,yellow:white:yellow_bar,lwn,color_only,critical,Provisional symbol until verified against legend; overlay is NOT a routable path
|
||||
0x10e0c,2375,Неустановена линейна декорация,#000000,,preserve,,lwn,unknown,terrain,Provisional symbol until verified against legend; overlay is NOT a routable path
|
||||
0x10e1c,2045,Неустановена линейна декорация,#ffffff,,preserve,,lwn,unknown,terrain,Provisional symbol until verified against legend; overlay is NOT a routable path
|
||||
0x10f13,1575,Неустановена линейна декорация,#000000,,preserve,,lwn,unknown,terrain,Provisional symbol until verified against legend; overlay is NOT a routable path
|
||||
0x10e19,1469,Неустановена линейна декорация,#525252,,preserve,,lwn,unknown,terrain,Provisional symbol until verified against legend; overlay is NOT a routable path
|
||||
0x10e09,1074,"Туристическа линейна маркировка (цветът е потвърден, шарката не)",#0030ff,,relation,blue:white:blue_bar,lwn,color_only,critical,Provisional symbol until verified against legend; overlay is NOT a routable path
|
||||
0x10e04,1048,"Туристическа линейна маркировка (цветът е потвърден, шарката не)",#ffff00,,relation,yellow:white:yellow_bar,lwn,color_only,critical,Provisional symbol until verified against legend; overlay is NOT a routable path
|
||||
0x10e16,636,Неустановена линейна декорация,#000000,,preserve,,lwn,unknown,terrain,Provisional symbol until verified against legend; overlay is NOT a routable path
|
||||
0x10504,591,"Туристическа линейна маркировка (цветът е потвърден, шарката не)",#bd3041,,relation,red:white:red_bar,lwn,color_only,critical,Provisional symbol until verified against legend; overlay is NOT a routable path
|
||||
0x10f0e,488,"Туристическа линейна маркировка (цветът е потвърден, шарката не)",#399500,,relation,green:white:green_bar,lwn,color_only,critical,Provisional symbol until verified against legend; overlay is NOT a routable path
|
||||
0x10401,394,"Туристическа линейна маркировка (цветът е потвърден, шарката не)",#bd3041,,relation,red:white:red_bar,lwn,color_only,critical,Provisional symbol until verified against legend; overlay is NOT a routable path
|
||||
0x10e1b,368,"Туристическа линейна маркировка (цветът е потвърден, шарката не)",#ff0000,,relation,red:white:red_bar,lwn,color_only,critical,Provisional symbol until verified against legend; overlay is NOT a routable path
|
||||
0x10602,354,Неустановена линейна декорация,#777777,,preserve,,lwn,unknown,terrain,Provisional symbol until verified against legend; overlay is NOT a routable path
|
||||
0x10e1d,327,Неустановена линейна декорация,#ffffff,,preserve,,lwn,unknown,terrain,Provisional symbol until verified against legend; overlay is NOT a routable path
|
||||
0x10e18,292,Неустановена линейна декорация,#414141,,preserve,,lwn,unknown,terrain,Provisional symbol until verified against legend; overlay is NOT a routable path
|
||||
0x10e0d,267,Неустановена линейна декорация,#000000,,preserve,,lwn,unknown,terrain,Provisional symbol until verified against legend; overlay is NOT a routable path
|
||||
0x10108,232,"Туристическа линейна маркировка (цветът е потвърден, шарката не)",#bd3041,,relation,red:white:red_bar,lwn,color_only,critical,Provisional symbol until verified against legend; overlay is NOT a routable path
|
||||
0x10e1a,205,Неустановена линейна декорация,#ffffff,,preserve,,lwn,unknown,terrain,Provisional symbol until verified against legend; overlay is NOT a routable path
|
||||
0x10e03,199,"Туристическа линейна маркировка (цветът е потвърден, шарката не)",#ffff00,,relation,yellow:white:yellow_bar,lwn,color_only,critical,Provisional symbol until verified against legend; overlay is NOT a routable path
|
||||
0x10e15,184,Неустановена линейна декорация,#000000,,preserve,,lwn,unknown,terrain,Provisional symbol until verified against legend; overlay is NOT a routable path
|
||||
0x10f05,162,Неустановена линейна декорация,#7b3000,,preserve,,lwn,unknown,terrain,Provisional symbol until verified against legend; overlay is NOT a routable path
|
||||
0x10e1e,162,Неустановена линейна декорация,#000000,,preserve,,lwn,unknown,terrain,Provisional symbol until verified against legend; overlay is NOT a routable path
|
||||
0x10e08,119,"Туристическа линейна маркировка (цветът е потвърден, шарката не)",#0030ff,,relation,blue:white:blue_bar,lwn,color_only,critical,Provisional symbol until verified against legend; overlay is NOT a routable path
|
||||
0x10e17,110,"Туристическа линейна маркировка (цветът е потвърден, шарката не)",#ff0000,,relation,red:white:red_bar,lwn,color_only,critical,Provisional symbol until verified against legend; overlay is NOT a routable path
|
||||
0x10e14,109,Неустановена линейна декорация,#000000,,preserve,,lwn,unknown,terrain,Provisional symbol until verified against legend; overlay is NOT a routable path
|
||||
0x10f15,98,Неустановена линейна декорация,#000000,,preserve,,lwn,unknown,terrain,Provisional symbol until verified against legend; overlay is NOT a routable path
|
||||
0x10f04,93,Неустановена линейна декорация,#7b3000,,preserve,,lwn,unknown,terrain,Provisional symbol until verified against legend; overlay is NOT a routable path
|
||||
0x10606,78,"Туристическа линейна маркировка (цветът е потвърден, шарката не)",#bd3041,,relation,red:white:red_bar,lwn,color_only,critical,Provisional symbol until verified against legend; overlay is NOT a routable path
|
||||
0x10e02,60,"Туристическа линейна маркировка (цветът е потвърден, шарката не)",#ffff00,,relation,yellow:white:yellow_bar,lwn,color_only,critical,Provisional symbol until verified against legend; overlay is NOT a routable path
|
||||
0x10e0e,56,Неустановена линейна декорация,#000000,,preserve,,lwn,unknown,terrain,Provisional symbol until verified against legend; overlay is NOT a routable path
|
||||
0x10402,47,"Туристическа линейна маркировка (цветът е потвърден, шарката не)",#bd3041,,relation,red:white:red_bar,lwn,color_only,critical,Provisional symbol until verified against legend; overlay is NOT a routable path
|
||||
0x10f03,9,Неустановена линейна декорация,#7b3000,,preserve,,lwn,unknown,terrain,Provisional symbol until verified against legend; overlay is NOT a routable path
|
||||
0x10f01,4,Неустановена линейна декорация,#7b3000,,preserve,,lwn,unknown,terrain,Provisional symbol until verified against legend; overlay is NOT a routable path
|
||||
0x10e0f,4,Неустановена линейна декорация,#000000,,preserve,,lwn,unknown,terrain,Provisional symbol until verified against legend; overlay is NOT a routable path
|
||||
0x10503,3,"Туристическа линейна маркировка (цветът е потвърден, шарката не)",#bd3041,,relation,red:white:red_bar,lwn,color_only,critical,Provisional symbol until verified against legend; overlay is NOT a routable path
|
||||
0x10403,3,"Туристическа линейна маркировка (цветът е потвърден, шарката не)",#bd3041,,relation,red:white:red_bar,lwn,color_only,critical,Provisional symbol until verified against legend; overlay is NOT a routable path
|
||||
|
@@ -0,0 +1,264 @@
|
||||
code,show_in_custom_style,minzoom,osmand_builtin_icon,count,garmin_icon_extracted,legend_en,reviewed_osm_tags,example_lat,example_lon,note
|
||||
0x200,yes,17,place_city,2,yes,Capital City,place=city;capital=yes;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=capital_city,41.0612941,28.8116670,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x800,yes,17,place_city,51,yes,Large City,place=city;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=large_city,43.9025259,22.2788572,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x900,yes,15,mountain,283,yes,Town,place=town;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=town,42.0570374,24.5459247,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0xd00,yes,16,mountain,6610,no,,place=locality;tourism=information;information=board;bgm:synthetic_icon=yes,41.6287208,23.7694144,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0xe00,yes,15,mountain,114,no,,place=neighbourhood;tourism=information;information=board;bgm:synthetic_icon=yes,43.9952660,22.8717756,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1100,yes,16,mountain,8430,no,,place=locality;tourism=information;information=board;bgm:synthetic_icon=yes,42.5975990,22.5972247,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x2800,yes,17,neighbourhood,54902,no,,place=locality;tourism=information;information=board;bgm:synthetic_icon=yes,42.6277471,24.3122506,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x2a07,yes,15,tourism_information,227,no,,bgm:landmark=unknown;tourism=information;information=board;bgm:synthetic_icon=yes,43.8551474,25.9693837,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x2a0e,yes,15,shop_general,525,yes,,shop=yes,42.0046806,24.8740768,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x2b00,yes,16,tourism_hotel,1558,no,,tourism=hotel,42.6465440,27.6449919,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x2c01,yes,17,tourism_information,20,yes,,tourism=information;information=board;bgm:synthetic_icon=yes,42.0264173,23.9946342,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x2c02,yes,15,tourism_information,538,yes,,amenity=kindergarten,42.3479176,25.0754786,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x2c03,yes,15,tourism_information,474,yes,,amenity=community_centre,43.2219315,25.7480693,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x2c05,yes,16,amenity_school,2481,yes,School,amenity=school;garmin:legend=school,41.7214394,24.6845198,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x2c06,yes,17,tourism_information,57,yes,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2240987,27.9363871,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x2c07,yes,17,tourism_information,20,yes,,tourism=information;information=board;bgm:synthetic_icon=yes,43.1368518,24.7227359,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x2c08,yes,16,tourism_information,1328,yes,,leisure=horse_riding,41.9112968,24.9703360,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x2c0b,yes,16,building_type_church,1606,yes,Church,amenity=place_of_worship;garmin:legend=church,43.0217957,24.8099613,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x2d01,yes,17,tourism_information,68,no,,tourism=information;information=board;bgm:synthetic_icon=yes,42.8797030,25.3179932,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x2d02,yes,15,tourism_information,434,no,,bgm:landmark=unknown;tourism=information;information=board;bgm:synthetic_icon=yes,42.1507859,24.7315550,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x2d03,yes,17,tourism_information,57,no,,tourism=information;information=board;bgm:synthetic_icon=yes,42.6922703,23.3241892,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x2d09,yes,15,tourism_information,337,yes,,leisure=swimming_pool,41.8625021,23.5053134,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x2e02,yes,15,shop_general,477,no,,shop=convenience,41.6551137,25.5503798,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x2e03,yes,15,shop_general,502,no,,shop=yes,43.2763910,27.9675651,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x2e04,yes,17,tourism_information,66,no,,tourism=information;information=board;bgm:synthetic_icon=yes,42.5185919,27.4564004,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x2e05,yes,15,amenity_pharmacy,487,yes,Pharmacy,amenity=pharmacy;garmin:legend=pharmacy,42.7442837,25.3431416,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x2e06,yes,15,shop_general,348,no,,shop=yes,43.4717417,23.9467192,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x2e07,yes,15,shop_general,105,yes,Clothes shop,shop=clothes;garmin:legend=clothes_shop,43.0698609,25.6080151,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x2e08,yes,17,tourism_information,13,no,,tourism=information;information=board;bgm:synthetic_icon=yes,42.7295208,23.2671332,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x2e09,yes,17,tourism_information,8,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2294202,27.8701901,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x2e0a,yes,15,shop_general,159,no,,shop=car,43.8517356,25.9867859,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x2e0b,yes,17,tourism_information,52,no,,tourism=information;information=board;bgm:synthetic_icon=yes,42.1881008,24.3556809,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x2f00,yes,16,tourism_information,1269,yes,,landuse=industrial;tourism=information;information=board;bgm:synthetic_icon=yes,42.9236698,24.2466116,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x2f01,yes,15,tourism_information,778,no,,amenity=fuel,41.5430832,23.2712317,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x2f03,yes,15,shop_general,106,no,,shop=car_repair,41.3775158,25.0830102,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x2f05,yes,15,tourism_information,486,no,,amenity=post_office,42.0306015,23.8108063,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x2f06,yes,15,tourism_information,320,no,,amenity=bank,42.3073840,23.8596869,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x2f08,yes,15,tourism_information,123,yes,,bgm:landmark=unknown;tourism=information;information=board;bgm:synthetic_icon=yes,42.6397204,23.3731771,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x2f0a,no,17,information,4,yes,Synagogue,amenity=place_of_worship;religion=jewish;garmin:legend=synagogue,41.5711713,23.7286234,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x2f0b,yes,16,building_type_church,1499,no,,leisure=track;tourism=information;information=board;bgm:synthetic_icon=yes,43.7308860,23.9443588,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x2f0c,yes,15,building_type_mosque,320,yes,Mosque,amenity=place_of_worship;religion=muslim;garmin:legend=mosque,44.0549612,26.7991304,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x2f0e,no,17,information,4,yes,Car Wash,amenity=car_wash;garmin:legend=car_wash,42.2939301,22.7035904,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x3001,yes,15,tourism_information,170,yes,,tourism=information;information=board;bgm:synthetic_icon=yes,43.3623934,25.1447439,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x3002,yes,15,tourism_information,564,no,,emergency=first_aid,42.5638032,27.6036644,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x3003,yes,15,tourism_information,841,no,,amenity=townhall,43.2501698,27.7748966,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x3006,yes,17,tourism_information,85,yes,,tourism=information;information=board;bgm:synthetic_icon=yes,43.7391043,28.5608482,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x3007,yes,15,tourism_information,132,no,,man_made=pumping_station;tourism=information;information=board;bgm:synthetic_icon=yes,43.2023406,25.7318473,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x3008,no,17,information,37,yes,Fire Station,amenity=fire_station;garmin:legend=fire_station,42.5666571,27.6193285,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x4700,yes,15,tourism_information,101,yes,Port,industrial=port;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=port,41.6431189,25.2845192,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x4e00,yes,17,tourism_information,14,no,,tourism=information;information=board;bgm:synthetic_icon=yes,41.9877291,24.0870094,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x6400,yes,15,natural_stone,465,yes,Quarry,landuse=quarry;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=quarry,40.8776808,23.9436078,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x6401,yes,16,bridge,1679,yes,Bridge,man_made=bridge;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=bridge,42.6645684,22.9691291,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x6402,yes,16,building,6186,yes,Building,building=yes;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=building,42.5507569,23.2217932,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x6403,yes,16,grave_yard,1729,yes,Graveyard/Tombstone,landuse=cemetery;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=graveyard_tombstone,43.0418801,23.5914874,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x6404,yes,16,building_type_church,1507,yes,Church,amenity=place_of_worship;garmin:legend=church,42.1896243,27.0861053,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x6405,yes,15,tourism_alpine_hut,260,yes,Hunting Lodge,building=hut;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=hunting_lodge,42.7514720,27.2207522,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x6406,yes,15,barrier_gate,854,yes,Barrier/Gate,barrier=gate;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=barrier_gate,41.5502286,24.7455668,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x6407,yes,16,tourism_picnic_site,2861,yes,Picnic Site,tourism=picnic_site;garmin:legend=picnic_site,41.9156528,25.3233576,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x6408,yes,17,mountain_rescue,12,yes,Mountain Rescue,emergency=mountain_rescue;garmin:legend=mountain_rescue,42.6026416,23.2414269,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x6409,yes,16,monument,1235,yes,Monument,historic=monument;garmin:legend=monument,43.1282043,23.6027098,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x640a,yes,16,danger,2095,yes,Danger,hazard=yes;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=danger,43.1507993,25.3284001,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x640b,yes,16,building_type_chapel,1128,yes,Chapel,amenity=place_of_worship;garmin:legend=chapel,41.9598985,24.3688774,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x640c,yes,16,natural_cave_entrance,1353,yes,Mine Shaft,man_made=mine_shaft;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=mine_shaft,43.0497336,22.9328442,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x640d,yes,15,aerialway_station,137,yes,Lift,aerialway=station;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=lift,42.6056242,23.2995987,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x640e,yes,15,highway_bus_stop,977,yes,Bus Stop/Station,highway=bus_stop;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=bus_stop_station,43.3513427,25.1430917,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x640f,yes,16,grave_yard,2766,yes,Graveyard/Tombstone,landuse=cemetery;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=graveyard_tombstone,42.0345068,22.4919534,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x6410,yes,17,tourism_information,98,yes,,tourism=information;information=board;bgm:synthetic_icon=yes,43.6105728,23.6852574,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x6411,yes,15,man_made_tower,875,yes,Tower,man_made=tower;garmin:legend=tower,41.7411375,24.8182654,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x6413,yes,17,natural_cave_entrance,76,yes,Tunnel,tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=tunnel,42.6872063,23.3418703,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x6414,yes,17,amenity_drinking_water,32922,yes,Drinking Water,amenity=drinking_water;garmin:legend=drinking_water,43.1117034,23.7205982,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x6415,yes,15,tourism_camp_site,264,yes,Camp Site,tourism=camp_site;garmin:legend=camp_site,41.7506647,25.1023221,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x6416,yes,16,historic_ruins,2886,yes,Ruins,historic=ruins;garmin:legend=ruins,41.5940452,24.3094182,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x6417,yes,16,man_made_water_well,8868,yes,Well,man_made=water_well;garmin:legend=well,42.2628808,24.2223430,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x6418,yes,15,tourism_information,305,yes,,power=generator;generator:source=wind;tourism=information;information=board;bgm:synthetic_icon=yes,42.7693677,26.3003898,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x6419,yes,15,tourism_information,113,yes,,power=generator;generator:source=solar;tourism=information;information=board;bgm:synthetic_icon=yes,42.5478601,26.7053819,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x641a,no,17,information,62,yes,Church,amenity=place_of_worship;garmin:legend=church,42.9599547,23.0566549,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x641c,yes,16,highway_bus_stop,3120,yes,Bus Stop/Station,highway=bus_stop;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=bus_stop_station,42.8542113,25.3382707,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x641d,yes,17,tourism_information,17,yes,,tourism=information;information=board;bgm:synthetic_icon=yes,42.1828008,24.7408462,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x641e,yes,17,tourism_information,55,yes,,tourism=information;information=board;bgm:synthetic_icon=yes,42.3201728,24.3003416,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x641f,yes,17,tourism_information,1,yes,,tourism=information;information=board;bgm:synthetic_icon=yes,43.7468505,23.7692428,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x6500,yes,17,reservoir,31214,yes,Reservoir,man_made=water_intake;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=reservoir,42.0310307,24.7559094,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x6501,yes,16,amenity_restaurant,2412,yes,Restaurant,amenity=restaurant;garmin:legend=restaurant,43.3456135,28.0715060,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x6502,yes,16,water_tap,1864,yes,River Passage,ford=yes;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=river_passage,42.7929711,25.2992177,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x6503,yes,15,information_guidepost,760,yes,Crossroad,bgm:trail_junction=yes;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=crossroad,43.4149003,28.4942007,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x6506,yes,15,tourism_museum,424,yes,Museum,tourism=museum;garmin:legend=museum,42.1463013,24.7487855,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x650b,yes,16,barrier_small_red_bold_1,8767,yes,Winter Marking,trailblazed=yes;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=winter_marking,42.0000887,23.3820820,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x6511,yes,17,natural_spring,50308,yes,Spring,natural=spring;garmin:legend=spring,42.8732872,23.3371925,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x6600,yes,17,barrier_small_black_1,66206,yes,Triangulation,bgm:spot_height=yes;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=triangulation,41.2312603,22.6785922,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x6601,yes,15,natural_stone,165,yes,Natural Phenomenon,bgm:landmark=natural_phenomenon;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=natural_phenomenon,42.9589677,25.2119064,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x6602,yes,15,tourism_viewpoint,891,yes,Viewpoint,tourism=viewpoint;garmin:legend=viewpoint,41.7438412,23.4641790,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x6603,yes,17,mountain,26366,yes,Triangulation,man_made=survey_point;garmin:legend=triangulation,42.5520873,23.8540435,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x6604,yes,17,tourism_information,10,yes,,tourism=information;information=board;bgm:synthetic_icon=yes,42.2186995,27.7872348,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x6608,yes,16,tourism_hotel,2644,yes,Hotel,tourism=hotel;garmin:legend=hotel,42.8794885,27.8957462,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x6609,yes,15,tourism_alpine_hut,372,yes,Hut,tourism=alpine_hut;garmin:legend=hut,43.2779145,27.1159101,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x660a,yes,15,amenity_shelter,275,yes,Refuge,amenity=shelter;shelter_type=basic_hut;garmin:legend=refuge,42.8157377,23.8160634,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x660b,yes,16,checkpoint_hiking,2612,yes,Mark,trailblazed=yes;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=mark,43.9378452,22.4072385,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x660c,yes,17,natural_saddle,94,yes,,natural=saddle,43.6241341,22.4983478,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x660d,yes,17,tourism_information,8,yes,,tourism=information;information=board;bgm:synthetic_icon=yes,42.6904893,23.4124017,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x660e,yes,17,tourism_information,8,yes,,tourism=information;information=board;bgm:synthetic_icon=yes,43.4520006,24.5126653,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x660f,yes,17,tourism_information,44,yes,,tourism=information;information=board;bgm:synthetic_icon=yes,42.6426816,26.3592696,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x6610,yes,17,grass,15,yes,Meadow,tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=meadow,42.8212094,26.1542845,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x6613,yes,16,waterfall,1746,yes,Waterfall,waterway=waterfall;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=waterfall,42.7435327,24.6398234,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x6614,yes,17,natural_stone,15289,yes,Rock,natural=rock;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=rock,42.7437901,25.2693915,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x6615,yes,15,natural_cave_entrance,942,yes,Cave,natural=cave_entrance;garmin:legend=cave,41.8003178,23.3853436,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x6616,yes,17,natural_peak,15540,no,,natural=peak,42.8516150,25.7782173,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x6617,yes,15,natural_peak,112,yes,Peak,natural=peak;garmin:legend=peak,41.7893529,22.9647946,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x6618,yes,17,natural_tree,10176,yes,Tree,natural=tree;garmin:legend=tree,42.7752686,23.9033318,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x6619,yes,15,historic_archaeological_site,195,yes,Prehistoric site,historic=archaeological_site;garmin:legend=prehistoric_site,42.5703692,25.3767228,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x661a,yes,15,historic_archaeological_site,384,yes,Antiquity site,historic=archaeological_site;garmin:legend=antiquity_site,41.7153454,26.0307527,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x661b,yes,15,historic_archaeological_site,319,yes,Medieval site,historic=archaeological_site;garmin:legend=medieval_site,42.0922279,24.2505813,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x661c,yes,16,tourism_information,1169,yes,,bgm:landmark=mound;tourism=information;information=board;bgm:synthetic_icon=yes,41.8346500,26.4578676,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x661d,yes,16,tourism_information,1412,yes,,building=agricultural;tourism=information;information=board;bgm:synthetic_icon=yes,41.1914778,24.0922236,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x661e,yes,15,tourism_information,979,yes,,amenity=shelter,41.4122772,24.8197031,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x10000,yes,17,tourism_information,2,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.1772995,27.7539325,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x10018,yes,17,tourism_information,2,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.1856465,27.9490042,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x10100,yes,17,tourism_information,12,no,,tourism=information;information=board;bgm:synthetic_icon=yes,42.4783373,27.4493837,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x10118,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.1870842,27.6683164,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1011e,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,42.5841022,27.6902461,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x10204,yes,17,tourism_information,2,no,,tourism=information;information=board;bgm:synthetic_icon=yes,42.6573801,27.7476025,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x10205,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,42.4590254,27.5740099,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x10209,yes,17,tourism_information,8,no,,tourism=information;information=board;bgm:synthetic_icon=yes,42.4733591,27.4699187,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1020a,yes,17,tourism_information,9,no,,tourism=information;information=board;bgm:synthetic_icon=yes,42.4602699,27.4538684,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1020b,yes,17,tourism_information,5,no,,tourism=information;information=board;bgm:synthetic_icon=yes,41.8699050,28.0232477,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1020c,yes,17,tourism_information,2,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.1899381,27.8013968,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x10218,yes,17,tourism_information,3,no,,tourism=information;information=board;bgm:synthetic_icon=yes,42.0534110,27.9847956,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x10301,yes,16,tourism_information,2006,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.4377956,28.9283538,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x10401,yes,15,tourism_information,157,no,,tourism=information;information=board;bgm:synthetic_icon=yes,42.6565218,27.7297497,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x10402,yes,17,tourism_information,41,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2109666,28.1308579,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x10403,yes,17,tourism_information,2,no,,tourism=information;information=board;bgm:synthetic_icon=yes,41.3038731,28.7996078,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1040d,yes,15,tourism_information,229,no,,tourism=information;information=board;bgm:synthetic_icon=yes,41.9180989,28.0489111,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1040e,yes,17,tourism_information,4,no,,tourism=information;information=board;bgm:synthetic_icon=yes,42.8295565,27.9202938,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1041e,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,42.6499343,27.8320599,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x10501,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2052803,27.9446054,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x10602,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,42.7095008,27.8530884,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1061d,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2051730,27.9395843,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x10701,yes,17,tourism_information,58,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.1964397,27.8618217,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x10705,yes,17,tourism_information,33,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2224250,28.1217384,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x10706,yes,17,tourism_information,32,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.4509492,28.8183832,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x10801,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,42.8644896,27.9285121,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x10903,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,42.6283908,27.6877141,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x10a01,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2014394,27.8667355,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x10b01,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,41.8894100,28.0229688,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x10b09,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2140994,27.9750752,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x10c00,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2016969,27.9050374,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x10d01,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2011819,27.8610492,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1161f,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.1953883,27.9319453,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1171e,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2054305,27.8968406,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1181f,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2013321,27.7061892,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x11901,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.8046575,28.5944295,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x11902,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2049370,27.7813983,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x11a02,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.1968260,27.6557207,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1201f,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,42.5242352,27.5483894,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x12102,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,42.4892378,27.5353217,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x12502,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2015038,27.8690314,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x12a03,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,42.6277685,27.7115536,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x12c1e,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2013321,27.7046227,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x12d01,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.1838441,27.9260015,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x12e1f,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2423377,28.1846094,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x13001,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.1683517,28.0398345,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1321f,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,42.6127267,27.8121257,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1331f,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2015467,27.8662419,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x13400,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.1861830,27.9269886,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x13a01,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,42.5860548,27.6915121,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x13c03,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,42.4661279,27.6418805,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x13d1e,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2068896,27.9138136,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1411e,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2047009,27.7807546,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x14400,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2175541,27.9579949,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x14401,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2052159,27.9493475,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1441c,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.1683731,28.0286121,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x14501,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,42.6383686,27.8804684,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x14602,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.1857967,27.8471661,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1461c,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2015252,27.7032280,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1461f,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2052588,27.8920341,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1471f,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2224464,27.8871202,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x14803,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,42.5953245,27.7765274,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1481f,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2054090,27.8980207,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x14a1e,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2069111,27.9140067,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x14b01,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2014823,27.8672075,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x14c01,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2069111,27.9118609,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x14d1f,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,42.5163817,27.6553559,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x14e1e,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,42.4459577,27.6790023,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x15200,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2048941,27.7857113,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x15303,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2014179,27.8711987,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1541d,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,42.4657202,27.6436615,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x15501,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2052588,27.8956819,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x15800,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2052588,27.9370308,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x15a00,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2053447,27.8867555,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x15e01,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,42.6091433,27.6586604,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x16103,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.1455421,28.0770850,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x16201,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2000232,27.9100585,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x16701,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.1955171,27.9348421,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1681c,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,42.6561785,27.8976774,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1681d,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2166100,28.0465937,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x16a00,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2054305,27.8999090,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x16b1c,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,42.6562428,27.9021621,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x16e1f,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,42.6637101,27.7445555,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x17000,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,42.5416589,27.6806760,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1711d,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2069111,27.9155731,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x17303,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,42.5860977,27.6886582,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1731e,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.1925559,27.8419733,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1751f,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2048941,27.7850676,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1771e,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,42.4598193,27.7104378,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1791e,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2051516,27.8927636,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x17d1e,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2051086,27.9474807,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x17e03,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.1967616,27.6618361,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x18003,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.1717634,27.9500127,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1811e,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,42.5413799,27.6878858,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x18302,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2048941,27.7903032,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1861d,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2015252,27.8606415,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1861f,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2055807,27.8994370,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x18901,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,42.6384759,27.8675079,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x18a1f,yes,17,tourism_information,2,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2052374,27.8961754,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x18c1e,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2053876,27.8944159,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x18d01,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,42.6413083,27.7646613,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x19001,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,42.6142931,27.7507782,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1921f,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.1928349,27.8456640,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x19a00,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.0997944,27.9608488,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x19d03,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,42.8070259,27.9287481,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1a11f,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,42.6562643,27.9072046,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1a401,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.1839085,27.9244995,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1a501,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,42.6584101,27.8624225,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1a51c,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2050872,27.9406786,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1a800,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,42.5856042,27.6471162,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1a81c,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2015252,27.7040648,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1a91c,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2051516,27.9386616,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1a91f,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.1954098,27.9332972,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1ab1f,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,42.5952172,27.7136993,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1b101,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.1928992,27.8481531,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1b31f,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2052374,27.9455066,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1b402,yes,17,tourism_information,2,no,,tourism=information;information=board;bgm:synthetic_icon=yes,42.5443196,27.5562000,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1b41c,yes,17,tourism_information,2,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.1952381,27.7601337,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1b703,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,42.7092648,27.8581309,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1ba03,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2014394,27.8686452,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1be1c,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2013321,27.7118969,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1c11e,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.1928992,27.8475738,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1c31d,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.1954956,27.9373097,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1c500,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2015681,27.8681087,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1c71f,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2048726,27.7903676,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1c81e,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.1928992,27.8485823,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1cb1f,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2015681,27.8663921,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1ce02,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2049799,27.7835441,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1d501,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,42.4691319,27.6782942,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1d51e,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2054305,27.8993511,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1d61f,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2015681,27.8704262,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1d71c,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2011819,27.8677869,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1d800,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2052159,27.8855324,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1da01,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,42.5940800,27.8528523,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1da1e,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,42.4458933,27.5304723,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1db01,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.1839299,27.9252076,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1db1e,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2012463,27.8598905,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1db1f,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.1928563,27.8472519,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1dc01,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.1860757,27.8722286,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1de1f,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2052588,27.9385757,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1e101,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.1975555,27.8627014,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1e21f,yes,17,tourism_information,2,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2048941,27.7844238,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1ea00,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.1715059,27.9508066,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1ec1d,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2013321,27.7051377,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1f401,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.1708193,28.0719352,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1f501,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,42.5145793,27.5918198,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1fb01,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2013750,27.7114248,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1ff00,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.2054734,27.8981280,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1ff11,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,42.4699044,27.4409509,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
0x1ff18,yes,17,tourism_information,1,no,,tourism=information;information=board;bgm:synthetic_icon=yes,43.1953454,27.9564929,V09 explicit BGMountains renderer; independent from semantic tags. Must INSTALL and SELECT style; icon candidate needs on-device check. Do not import synthetic BGM tags into public OSM.
|
||||
|
@@ -0,0 +1,264 @@
|
||||
code,count,old_tags,new_tags,synthetic_fallback,confidence,label_bg,example_lat,example_lon,example_name,note
|
||||
0x200,2,garmin:legend=capital_city;place=city;capital=yes,place=city;capital=yes;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=capital_city,yes,legend,Столица,41.0612941,28.8116670,Истанбул,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x800,51,garmin:legend=large_city;place=city,place=city;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=large_city,yes,legend,Град >75 000,43.9025259,22.2788572,Зайчар,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x900,283,garmin:legend=town;place=town,place=town;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=town,yes,legend,Град <75 000,42.0570374,24.5459247,Перущица,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0xd00,6610,,place=locality;tourism=information;information=board;bgm:synthetic_icon=yes,yes,uncertain,Селище,41.6287208,23.7694144,Балдево,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0xe00,114,,place=neighbourhood;tourism=information;information=board;bgm:synthetic_icon=yes,yes,uncertain,Квартал,43.9952660,22.8717756,жк. Крум Бъчваров,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1100,8430,,place=locality;tourism=information;information=board;bgm:synthetic_icon=yes,yes,uncertain,Населено място,42.5975990,22.5972247,Върбица,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x2800,54902,,place=locality;tourism=information;information=board;bgm:synthetic_icon=yes,yes,source-inferred,Garmin обект 0x2800,42.6277471,24.3122506,Големия поп,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x2a07,227,,bgm:landmark=unknown;tourism=information;information=board;bgm:synthetic_icon=yes,yes,uncertain,Спортен обект,43.8551474,25.9693837,Тирол,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x2a0e,525,,shop=yes,no,uncertain,Търговски обект,42.0046806,24.8740768,Pandora,stock-tag candidate: verify in OBF
|
||||
0x2b00,1558,,tourism=hotel,no,source-inferred,Garmin обект 0x2b00,42.6465440,27.6449919,Sotirovi Holiday,stock-tag candidate: verify in OBF
|
||||
0x2c01,20,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unknown,Garmin обект 0x2c01,42.0264173,23.9946342,Евроинс ЗАД,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x2c02,538,,amenity=kindergarten,no,inferred,Детска градина,42.3479176,25.0754786,Детска градина,stock-tag candidate: verify in OBF
|
||||
0x2c03,474,,amenity=community_centre,no,inferred,Читалище,43.2219315,25.7480693,читалище Съединение,stock-tag candidate: verify in OBF
|
||||
0x2c05,2481,garmin:legend=school;amenity=school,amenity=school;garmin:legend=school,no,legend,Училище,41.7214394,24.6845198,СУ Олимпийски Надежди,stock-tag candidate: verify in OBF
|
||||
0x2c06,57,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unknown,Garmin обект 0x2c06,43.2240987,27.9363871,ТУ,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x2c07,20,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unknown,Garmin обект 0x2c07,43.1368518,24.7227359,Зоопарк Ловеч,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x2c08,1328,,leisure=horse_riding,no,inferred,Конна база,41.9112968,24.9703360,"Конна база ""Wild City""",stock-tag candidate: verify in OBF
|
||||
0x2c0b,1606,garmin:legend=church;amenity=place_of_worship,amenity=place_of_worship;garmin:legend=church,no,legend,Църква,43.0217957,24.8099613,Рождество Богородично,stock-tag candidate: verify in OBF
|
||||
0x2d01,68,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unknown,Garmin обект 0x2d01,42.8797030,25.3179932,ДОМ НА ХУМОРА И САТИРАТА,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x2d02,434,,bgm:landmark=unknown;tourism=information;information=board;bgm:synthetic_icon=yes,yes,uncertain,Търговски обект,42.1507859,24.7315550,Casa de Cuba,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x2d03,57,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unknown,Garmin обект 0x2d03,42.6922703,23.3241892,Ново кино,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x2d09,337,,leisure=swimming_pool,no,source-inferred,Garmin обект 0x2d09,41.8625021,23.5053134,Минерален басейн Пирин,stock-tag candidate: verify in OBF
|
||||
0x2e02,477,,shop=convenience,no,inferred,Хранителен магазин,41.6551137,25.5503798,Хранителни стоки,stock-tag candidate: verify in OBF
|
||||
0x2e03,502,,shop=yes,no,inferred,Магазин,43.2763910,27.9675651,магазин,stock-tag candidate: verify in OBF
|
||||
0x2e04,66,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unknown,Garmin обект 0x2e04,42.5185919,27.4564004,Престиж,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x2e05,487,garmin:legend=pharmacy;amenity=pharmacy,amenity=pharmacy;garmin:legend=pharmacy,no,legend,Аптека,42.7442837,25.3431416,Аптечка,stock-tag candidate: verify in OBF
|
||||
0x2e06,348,,shop=yes,no,uncertain,Търговски обект,43.4717417,23.9467192,Trayкov Shop,stock-tag candidate: verify in OBF
|
||||
0x2e07,105,garmin:legend=clothes_shop;shop=clothes,shop=clothes;garmin:legend=clothes_shop,no,legend,Магазин за дрехи,43.0698609,25.6080151,"Кооперативен пазар ""Бузлуджа""",stock-tag candidate: verify in OBF
|
||||
0x2e08,13,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unknown,Garmin обект 0x2e08,42.7295208,23.2671332,Практикер,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x2e09,8,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unknown,Garmin обект 0x2e09,43.2294202,27.8701901,мебелна палата Лазур,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x2e0a,159,,shop=car,no,inferred,Автокъща,43.8517356,25.9867859,Автокъщи,stock-tag candidate: verify in OBF
|
||||
0x2e0b,52,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unknown,Garmin обект 0x2e0b,42.1881008,24.3556809,Зора,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x2f00,1269,,landuse=industrial;tourism=information;information=board;bgm:synthetic_icon=yes,yes,inferred,Промишлен обект,42.9236698,24.2466116,индустриални сгради,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x2f01,778,,amenity=fuel,no,inferred,Бензиностанция,41.5430832,23.2712317,Газостанция,stock-tag candidate: verify in OBF
|
||||
0x2f03,106,,shop=car_repair,no,inferred,Автосервиз,41.3775158,25.0830102,"Автосервиз ""Профиров""",stock-tag candidate: verify in OBF
|
||||
0x2f05,486,,amenity=post_office,no,source-inferred,Garmin обект 0x2f05,42.0306015,23.8108063,Поща,stock-tag candidate: verify in OBF
|
||||
0x2f06,320,,amenity=bank,no,inferred,Банка,42.3073840,23.8596869,Банка ДСК,stock-tag candidate: verify in OBF
|
||||
0x2f08,123,,bgm:landmark=unknown;tourism=information;information=board;bgm:synthetic_icon=yes,yes,uncertain,Обществен обект,42.6397204,23.3731771,Акад. Александър Теодоров - Балан,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x2f0a,4,garmin:legend=synagogue;amenity=place_of_worship;religion=jewish,amenity=place_of_worship;religion=jewish;garmin:legend=synagogue,no,legend,Синагога,41.5711713,23.7286234,Синагога,stock-tag candidate: verify in OBF
|
||||
0x2f0b,1499,,leisure=track;tourism=information;information=board;bgm:synthetic_icon=yes,yes,inferred,Тренировъчна площадка,43.7308860,23.9443588,автополигон,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x2f0c,320,garmin:legend=mosque;amenity=place_of_worship;religion=muslim,amenity=place_of_worship;religion=muslim;garmin:legend=mosque,no,legend,Джамия,44.0549612,26.7991304,Джамия,stock-tag candidate: verify in OBF
|
||||
0x2f0e,4,garmin:legend=car_wash;amenity=car_wash,amenity=car_wash;garmin:legend=car_wash,no,legend,Автомивка,42.2939301,22.7035904,Олимпия,stock-tag candidate: verify in OBF
|
||||
0x3001,170,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unknown,Garmin обект 0x3001,43.3623934,25.1447439,полиция,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x3002,564,,emergency=first_aid,no,inferred,Първа помощ,42.5638032,27.6036644,First Aid,stock-tag candidate: verify in OBF
|
||||
0x3003,841,,amenity=townhall,no,inferred,Кметство,43.2501698,27.7748966,Кметство,stock-tag candidate: verify in OBF
|
||||
0x3006,85,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unknown,Garmin обект 0x3006,43.7391043,28.5608482,ГКПП Вама Веке,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x3007,132,,man_made=pumping_station;tourism=information;information=board;bgm:synthetic_icon=yes,yes,inferred,Помпена станция,43.2023406,25.7318473,Помпена ст.,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x3008,37,garmin:legend=fire_station;amenity=fire_station,amenity=fire_station;garmin:legend=fire_station,no,legend,Пожарна,42.5666571,27.6193285,Пожарна,stock-tag candidate: verify in OBF
|
||||
0x4700,101,garmin:legend=port;industrial=port,industrial=port;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=port,yes,legend,Пристанище,41.6431189,25.2845192,Пристан,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x4e00,14,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unknown,Garmin обект 0x4e00,41.9877291,24.0870094,Минерална баня,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x6400,465,garmin:legend=quarry;landuse=quarry,landuse=quarry;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=quarry,yes,legend,Кариера,40.8776808,23.9436078,(Кам.),presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x6401,1679,garmin:legend=bridge;man_made=bridge,man_made=bridge;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=bridge,yes,legend,Мост,42.6645684,22.9691291,Зидан мост,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x6402,6186,garmin:legend=building;building=yes,building=yes;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=building,yes,legend,Сграда,42.5507569,23.2217932,Чакало,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x6403,1729,garmin:legend=graveyard_tombstone,landuse=cemetery;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=graveyard_tombstone,yes,legend,Гробище,43.0418801,23.5914874,Св. Мария Магдалена,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x6404,1507,garmin:legend=church;amenity=place_of_worship,amenity=place_of_worship;garmin:legend=church,no,legend,Църква,42.1896243,27.0861053,Св. Димитър,stock-tag candidate: verify in OBF
|
||||
0x6405,260,garmin:legend=hunting_lodge,building=hut;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=hunting_lodge,yes,legend,Ловна хижа,42.7514720,27.2207522,заслон Зайчар,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x6406,854,garmin:legend=barrier_gate;barrier=gate,barrier=gate;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=barrier_gate,yes,legend,Бариера,41.5502286,24.7455668,Военен обект!,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x6407,2861,garmin:legend=picnic_site;tourism=picnic_site,tourism=picnic_site;garmin:legend=picnic_site,no,legend,Пикник,41.9156528,25.3233576,беседка,stock-tag candidate: verify in OBF
|
||||
0x6408,12,garmin:legend=mountain_rescue;emergency=mountain_rescue,emergency=mountain_rescue;garmin:legend=mountain_rescue,no,legend,ПСС,42.6026416,23.2414269,ПСС бунгало,stock-tag candidate: verify in OBF
|
||||
0x6409,1235,garmin:legend=monument;historic=monument,historic=monument;garmin:legend=monument,no,legend,Паметник,43.1282043,23.6027098,Перо Херцеговинеца,stock-tag candidate: verify in OBF
|
||||
0x640a,2095,garmin:legend=danger,hazard=yes;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=danger,yes,legend,Опасност,43.1507993,25.3284001,Стълба,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x640b,1128,garmin:legend=chapel;amenity=place_of_worship,amenity=place_of_worship;garmin:legend=chapel,no,legend,Параклис,41.9598985,24.3688774,Параклис,stock-tag candidate: verify in OBF
|
||||
0x640c,1353,garmin:legend=mine_shaft;man_made=mine_shaft,man_made=mine_shaft;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=mine_shaft,yes,legend,Мина,43.0497336,22.9328442,(Въгл.),presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x640d,137,garmin:legend=lift,aerialway=station;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=lift,yes,legend,Лифт,42.6056242,23.2995987,Драгалевски междинна,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x640e,977,garmin:legend=bus_stop_station;highway=bus_stop,highway=bus_stop;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=bus_stop_station,yes,legend,Спирка,43.3513427,25.1430917,Левски,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x640f,2766,garmin:legend=graveyard_tombstone,landuse=cemetery;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=graveyard_tombstone,yes,legend,Гробище,42.0345068,22.4919534,Гробище,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x6410,98,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unknown,Garmin обект 0x6410,43.6105728,23.6852574,МВЕЦ „ Елена“,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x6411,875,garmin:legend=tower;man_made=tower,man_made=tower;garmin:legend=tower,no,legend,Кула,41.7411375,24.8182654,GSM клетка,stock-tag candidate: verify in OBF
|
||||
0x6413,76,garmin:legend=tunnel,tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=tunnel,yes,legend,Тунел,42.6872063,23.3418703,Подлез,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x6414,32922,garmin:legend=drinking_water;amenity=drinking_water,amenity=drinking_water;garmin:legend=drinking_water,no,legend,Вода - Чешма,43.1117034,23.7205982,затлачена,stock-tag candidate: verify in OBF
|
||||
0x6415,264,garmin:legend=camp_site;tourism=camp_site,tourism=camp_site;garmin:legend=camp_site,no,legend,Място за бивакуване,41.7506647,25.1023221,Бивак,stock-tag candidate: verify in OBF
|
||||
0x6416,2886,garmin:legend=ruins;historic=ruins,historic=ruins;garmin:legend=ruins,no,legend,Руини,41.5940452,24.3094182,Разв.,stock-tag candidate: verify in OBF
|
||||
0x6417,8868,garmin:legend=well;man_made=water_well,man_made=water_well;garmin:legend=well,no,legend,Вода - Кладенец,42.2628808,24.2223430,Юсеиновия кладенец,stock-tag candidate: verify in OBF
|
||||
0x6418,305,,power=generator;generator:source=wind;tourism=information;information=board;bgm:synthetic_icon=yes,yes,inferred,Вятърен генератор,42.7693677,26.3003898,Ветрогенератор,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x6419,113,,power=generator;generator:source=solar;tourism=information;information=board;bgm:synthetic_icon=yes,yes,inferred,Фотоволтаична централа,42.5478601,26.7053819,Фотоволтаична ценрала,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x641a,62,garmin:legend=church;amenity=place_of_worship,amenity=place_of_worship;garmin:legend=church,no,legend,Църква,42.9599547,23.0566549,Св. Никола,stock-tag candidate: verify in OBF
|
||||
0x641c,3120,garmin:legend=bus_stop_station;highway=bus_stop,highway=bus_stop;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=bus_stop_station,yes,legend,Спирка,42.8542113,25.3382707,1-7-10-14,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x641d,17,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unknown,Garmin обект 0x641d,42.1828008,24.7408462,ТЕЦ „Пловдив Север“,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x641e,55,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unknown,Garmin обект 0x641e,42.3201728,24.3003416,Соларен Парк Солсбор,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x641f,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unknown,Garmin обект 0x641f,43.7468505,23.7692428,АЕЦ Козлодуй,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x6500,31214,garmin:legend=reservoir,man_made=water_intake;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=reservoir,yes,legend,Вода - Каптаж,42.0310307,24.7559094,Забучена,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x6501,2412,garmin:legend=restaurant;amenity=restaurant,amenity=restaurant;garmin:legend=restaurant,no,legend,Ресторант,43.3456135,28.0715060,Therma beach,stock-tag candidate: verify in OBF
|
||||
0x6502,1864,garmin:legend=river_passage,ford=yes;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=river_passage,yes,legend,Речен брод,42.7929711,25.2992177,Бент,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x6503,760,garmin:legend=crossroad,bgm:trail_junction=yes;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=crossroad,yes,legend,Кръстопът,43.4149003,28.4942007,на запад Черноморски път,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x6506,424,garmin:legend=museum;tourism=museum,tourism=museum;garmin:legend=museum,no,legend,Музей,42.1463013,24.7487855,Градска художествена галерия,stock-tag candidate: verify in OBF
|
||||
0x650b,8767,garmin:legend=winter_marking,trailblazed=yes;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=winter_marking,yes,legend,Зимна маркировка,42.0000887,23.3820820,94,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x6511,50308,garmin:legend=spring;natural=spring,natural=spring;garmin:legend=spring,no,legend,Вода - Извор,42.8732872,23.3371925,Студена вода,stock-tag candidate: verify in OBF
|
||||
0x6600,66206,garmin:legend=triangulation,bgm:spot_height=yes;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=triangulation,yes,legend-ambiguous,Височинна кота,41.2312603,22.6785922,217,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x6601,165,garmin:legend=natural_phenomenon,bgm:landmark=natural_phenomenon;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=natural_phenomenon,yes,legend,Природен феномен,42.9589677,25.2119064,"скален феномен ""Момичките""",presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x6602,891,garmin:legend=viewpoint;tourism=viewpoint,tourism=viewpoint;garmin:legend=viewpoint,no,legend,Панорама - Гледка,41.7438412,23.4641790,Кьошка (Балконе)-панорама,stock-tag candidate: verify in OBF
|
||||
0x6603,26366,garmin:legend=triangulation;man_made=survey_point,man_made=survey_point;garmin:legend=triangulation,no,legend,Триангулачна точка,42.5520873,23.8540435,1079,stock-tag candidate: verify in OBF
|
||||
0x6604,10,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unknown,Garmin обект 0x6604,42.2186995,27.7872348,"Къмпинг ""Юг""",presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x6608,2644,garmin:legend=hotel;tourism=hotel,tourism=hotel;garmin:legend=hotel,no,legend,Хотел,42.8794885,27.8957462,Fortuna Cape Complex,stock-tag candidate: verify in OBF
|
||||
0x6609,372,garmin:legend=hut;tourism=alpine_hut,tourism=alpine_hut;garmin:legend=hut,no,legend,Хижа,43.2779145,27.1159101,Хижа Мадарски конник,stock-tag candidate: verify in OBF
|
||||
0x660a,275,garmin:legend=refuge;amenity=shelter;shelter_type=basic_hut,amenity=shelter;shelter_type=basic_hut;garmin:legend=refuge,no,legend,Заслон,42.8157377,23.8160634,Заслон,stock-tag candidate: verify in OBF
|
||||
0x660b,2612,garmin:legend=mark,trailblazed=yes;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=mark,yes,legend,Туристическа маркировка,43.9378452,22.4072385,Пир. 454,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x660c,94,,natural=saddle,no,source-inferred,Garmin обект 0x660c,43.6241341,22.4983478,Кадъбоаз,stock-tag candidate: verify in OBF
|
||||
0x660d,8,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unknown,Garmin обект 0x660d,42.6904893,23.4124017,Летище София,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x660e,8,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unknown,Garmin обект 0x660e,43.4520006,24.5126653,Авиобаза Долна Митрополия,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x660f,44,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unknown,Garmin обект 0x660f,42.6426816,26.3592696,Летище Сливен,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x6610,15,garmin:legend=meadow,tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=meadow,yes,legend,Поляна,42.8212094,26.1542845,Агликина поляна,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x6613,1746,garmin:legend=waterfall;waterway=waterfall,waterway=waterfall;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=waterfall,yes,legend,Водопад,42.7435327,24.6398234,Кастрак дере горен,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x6614,15289,garmin:legend=rock,natural=rock;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=rock,yes,legend,Скала,42.7437901,25.2693915,15,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x6615,942,garmin:legend=cave;natural=cave_entrance,natural=cave_entrance;garmin:legend=cave,no,legend,Пещера,41.8003178,23.3853436,Дупка,stock-tag candidate: verify in OBF
|
||||
0x6616,15540,,natural=peak,no,verified,Връх,42.8516150,25.7782173,Симов чукар,stock-tag candidate: verify in OBF
|
||||
0x6617,112,garmin:legend=peak;natural=peak,natural=peak;garmin:legend=peak,no,legend,Връх,41.7893529,22.9647946,Огреяк (Кадийца) (1924),stock-tag candidate: verify in OBF
|
||||
0x6618,10176,garmin:legend=tree;natural=tree,natural=tree;garmin:legend=tree,no,legend,Дърво,42.7752686,23.9033318,столетно дърво,stock-tag candidate: verify in OBF
|
||||
0x6619,195,garmin:legend=prehistoric_site;historic=archaeological_site,historic=archaeological_site;garmin:legend=prehistoric_site,no,legend,Праисторически обект,42.5703692,25.3767228,Бащин камък (Слънчева врата),stock-tag candidate: verify in OBF
|
||||
0x661a,384,garmin:legend=antiquity_site;historic=archaeological_site,historic=archaeological_site;garmin:legend=antiquity_site,no,legend,Античен обект,41.7153454,26.0307527,Тракийска крепост Курт кале,stock-tag candidate: verify in OBF
|
||||
0x661b,319,garmin:legend=medieval_site;historic=archaeological_site,historic=archaeological_site;garmin:legend=medieval_site,no,legend,Средновековен обект,42.0922279,24.2505813,"Средновековен манастир ""Св. Седмочиленици""",stock-tag candidate: verify in OBF
|
||||
0x661c,1169,,bgm:landmark=mound;tourism=information;information=board;bgm:synthetic_icon=yes,yes,uncertain,Могила,41.8346500,26.4578676,Койчовата могила,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x661d,1412,,building=agricultural;tourism=information;information=board;bgm:synthetic_icon=yes,yes,inferred,Стопанска постройка,41.1914778,24.0922236,Овчарник,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x661e,979,,amenity=shelter,no,source-inferred,Garmin обект 0x661e,41.4122772,24.8197031,Навес с барбекю,stock-tag candidate: verify in OBF
|
||||
0x10000,2,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x10000,43.1772995,27.7539325,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x10018,2,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x10018,43.1856465,27.9490042,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x10100,12,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x10100,42.4783373,27.4493837,LFl 4.5s W 4M,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x10118,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x10118,43.1870842,27.6683164,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1011e,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1011e,42.5841022,27.6902461,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x10204,2,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x10204,42.6573801,27.7476025,Fl(3) W 10s,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x10205,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x10205,42.4590254,27.5740099,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x10209,8,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x10209,42.4733591,27.4699187,Fl 3s,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1020a,9,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1020a,42.4602699,27.4538684,G,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1020b,5,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1020b,41.8699050,28.0232477,Fl(2) 6s,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1020c,2,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1020c,43.1899381,27.8013968,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x10218,3,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x10218,42.0534110,27.9847956,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x10301,2006,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x10301,43.4377956,28.9283538,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x10401,157,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x10401,42.6565218,27.7297497,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x10402,41,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x10402,43.2109666,28.1308579,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x10403,2,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x10403,41.3038731,28.7996078,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1040d,229,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1040d,41.9180989,28.0489111,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1040e,4,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1040e,42.8295565,27.9202938,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1041e,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1041e,42.6499343,27.8320599,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x10501,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x10501,43.2052803,27.9446054,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x10602,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x10602,42.7095008,27.8530884,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1061d,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1061d,43.2051730,27.9395843,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x10701,58,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x10701,43.1964397,27.8618217,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x10705,33,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x10705,43.2224250,28.1217384,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x10706,32,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x10706,43.4509492,28.8183832,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x10801,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x10801,42.8644896,27.9285121,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x10903,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x10903,42.6283908,27.6877141,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x10a01,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x10a01,43.2014394,27.8667355,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x10b01,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x10b01,41.8894100,28.0229688,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x10b09,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x10b09,43.2140994,27.9750752,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x10c00,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x10c00,43.2016969,27.9050374,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x10d01,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x10d01,43.2011819,27.8610492,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1161f,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1161f,43.1953883,27.9319453,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1171e,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1171e,43.2054305,27.8968406,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1181f,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1181f,43.2013321,27.7061892,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x11901,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x11901,43.8046575,28.5944295,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x11902,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x11902,43.2049370,27.7813983,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x11a02,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x11a02,43.1968260,27.6557207,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1201f,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1201f,42.5242352,27.5483894,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x12102,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x12102,42.4892378,27.5353217,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x12502,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x12502,43.2015038,27.8690314,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x12a03,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x12a03,42.6277685,27.7115536,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x12c1e,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x12c1e,43.2013321,27.7046227,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x12d01,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x12d01,43.1838441,27.9260015,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x12e1f,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x12e1f,43.2423377,28.1846094,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x13001,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x13001,43.1683517,28.0398345,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1321f,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1321f,42.6127267,27.8121257,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1331f,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1331f,43.2015467,27.8662419,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x13400,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x13400,43.1861830,27.9269886,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x13a01,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x13a01,42.5860548,27.6915121,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x13c03,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x13c03,42.4661279,27.6418805,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x13d1e,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x13d1e,43.2068896,27.9138136,я припек,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1411e,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1411e,43.2047009,27.7807546,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x14400,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x14400,43.2175541,27.9579949,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x14401,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x14401,43.2052159,27.9493475,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1441c,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1441c,43.1683731,28.0286121,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x14501,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x14501,42.6383686,27.8804684,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x14602,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x14602,43.1857967,27.8471661,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1461c,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1461c,43.2015252,27.7032280,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1461f,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1461f,43.2052588,27.8920341,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1471f,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1471f,43.2224464,27.8871202,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x14803,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x14803,42.5953245,27.7765274,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1481f,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1481f,43.2054090,27.8980207,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x14a1e,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x14a1e,43.2069111,27.9140067,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x14b01,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x14b01,43.2014823,27.8672075,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x14c01,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x14c01,43.2069111,27.9118609,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x14d1f,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x14d1f,42.5163817,27.6553559,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x14e1e,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x14e1e,42.4459577,27.6790023,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x15200,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x15200,43.2048941,27.7857113,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x15303,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x15303,43.2014179,27.8711987,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1541d,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1541d,42.4657202,27.6436615,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x15501,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x15501,43.2052588,27.8956819,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x15800,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x15800,43.2052588,27.9370308,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x15a00,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x15a00,43.2053447,27.8867555,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x15e01,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x15e01,42.6091433,27.6586604,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x16103,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x16103,43.1455421,28.0770850,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x16201,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x16201,43.2000232,27.9100585,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x16701,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x16701,43.1955171,27.9348421,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1681c,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1681c,42.6561785,27.8976774,Тюлен,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1681d,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1681d,43.2166100,28.0465937,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x16a00,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x16a00,43.2054305,27.8999090,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x16b1c,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x16b1c,42.6562428,27.9021621,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x16e1f,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x16e1f,42.6637101,27.7445555,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x17000,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x17000,42.5416589,27.6806760,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1711d,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1711d,43.2069111,27.9155731,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x17303,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x17303,42.5860977,27.6886582,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1731e,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1731e,43.1925559,27.8419733,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1751f,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1751f,43.2048941,27.7850676,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1771e,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1771e,42.4598193,27.7104378,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1791e,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1791e,43.2051516,27.8927636,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x17d1e,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x17d1e,43.2051086,27.9474807,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x17e03,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x17e03,43.1967616,27.6618361,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x18003,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x18003,43.1717634,27.9500127,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1811e,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1811e,42.5413799,27.6878858,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x18302,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x18302,43.2048941,27.7903032,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1861d,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1861d,43.2015252,27.8606415,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1861f,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1861f,43.2055807,27.8994370,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x18901,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x18901,42.6384759,27.8675079,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x18a1f,2,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x18a1f,43.2052374,27.8961754,ставена,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x18c1e,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x18c1e,43.2053876,27.8944159,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x18d01,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x18d01,42.6413083,27.7646613,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x19001,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x19001,42.6142931,27.7507782,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1921f,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1921f,43.1928349,27.8456640,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x19a00,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x19a00,43.0997944,27.9608488,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x19d03,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x19d03,42.8070259,27.9287481,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1a11f,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1a11f,42.6562643,27.9072046,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1a401,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1a401,43.1839085,27.9244995,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1a501,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1a501,42.6584101,27.8624225,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1a51c,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1a51c,43.2050872,27.9406786,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1a800,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1a800,42.5856042,27.6471162,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1a81c,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1a81c,43.2015252,27.7040648,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1a91c,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1a91c,43.2051516,27.9386616,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1a91f,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1a91f,43.1954098,27.9332972,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1ab1f,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1ab1f,42.5952172,27.7136993,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1b101,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1b101,43.1928992,27.8481531,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1b31f,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1b31f,43.2052374,27.9455066,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1b402,2,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1b402,42.5443196,27.5562000,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1b41c,2,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1b41c,43.1952381,27.7601337,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1b703,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1b703,42.7092648,27.8581309,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1ba03,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1ba03,43.2014394,27.8686452,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1be1c,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1be1c,43.2013321,27.7118969,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1c11e,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1c11e,43.1928992,27.8475738,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1c31d,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1c31d,43.1954956,27.9373097,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1c500,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1c500,43.2015681,27.8681087,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1c71f,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1c71f,43.2048726,27.7903676,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1c81e,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1c81e,43.1928992,27.8485823,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1cb1f,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1cb1f,43.2015681,27.8663921,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1ce02,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1ce02,43.2049799,27.7835441,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1d501,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1d501,42.4691319,27.6782942,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1d51e,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1d51e,43.2054305,27.8993511,вец,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1d61f,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1d61f,43.2015681,27.8704262,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1d71c,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1d71c,43.2011819,27.8677869,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1d800,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1d800,43.2052159,27.8855324,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1da01,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1da01,42.5940800,27.8528523,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1da1e,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1da1e,42.4458933,27.5304723,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1db01,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1db01,43.1839299,27.9252076,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1db1e,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1db1e,43.2012463,27.8598905,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1db1f,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1db1f,43.1928563,27.8472519,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1dc01,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1dc01,43.1860757,27.8722286,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1de1f,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1de1f,43.2052588,27.9385757,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1e101,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1e101,43.1975555,27.8627014,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1e21f,2,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1e21f,43.2048941,27.7844238,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1ea00,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1ea00,43.1715059,27.9508066,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1ec1d,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1ec1d,43.2013321,27.7051377,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1f401,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1f401,43.1708193,28.0719352,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1f501,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1f501,42.5145793,27.5918198,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1fb01,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1fb01,43.2013750,27.7114248,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1ff00,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1ff00,43.2054734,27.8981280,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1ff11,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1ff11,42.4699044,27.4409509,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
0x1ff18,1,,tourism=information;information=board;bgm:synthetic_icon=yes,yes,unverified-extended,Garmin обект 0x1ff18,43.1953454,27.9564929,,presentation compatibility: cannot guarantee draw at every zoom
|
||||
|
@@ -0,0 +1,264 @@
|
||||
code,label_bg,confidence
|
||||
0x200,Столица,legend
|
||||
0x800,Град >75 000,legend
|
||||
0x900,Град <75 000,legend
|
||||
0xd00,Селище,uncertain
|
||||
0xe00,Квартал,uncertain
|
||||
0x1100,Населено място,uncertain
|
||||
0x2800,Garmin обект 0x2800,source-inferred
|
||||
0x2a07,Спортен обект,uncertain
|
||||
0x2a0e,Търговски обект,uncertain
|
||||
0x2b00,Garmin обект 0x2b00,source-inferred
|
||||
0x2c01,Garmin обект 0x2c01,unknown
|
||||
0x2c02,Детска градина,inferred
|
||||
0x2c03,Читалище,inferred
|
||||
0x2c05,Училище,legend
|
||||
0x2c06,Garmin обект 0x2c06,unknown
|
||||
0x2c07,Garmin обект 0x2c07,unknown
|
||||
0x2c08,Конна база,inferred
|
||||
0x2c0b,Църква,legend
|
||||
0x2d01,Garmin обект 0x2d01,unknown
|
||||
0x2d02,Търговски обект,uncertain
|
||||
0x2d03,Garmin обект 0x2d03,unknown
|
||||
0x2d09,Garmin обект 0x2d09,source-inferred
|
||||
0x2e02,Хранителен магазин,inferred
|
||||
0x2e03,Магазин,inferred
|
||||
0x2e04,Garmin обект 0x2e04,unknown
|
||||
0x2e05,Аптека,legend
|
||||
0x2e06,Търговски обект,uncertain
|
||||
0x2e07,Магазин за дрехи,legend
|
||||
0x2e08,Garmin обект 0x2e08,unknown
|
||||
0x2e09,Garmin обект 0x2e09,unknown
|
||||
0x2e0a,Автокъща,inferred
|
||||
0x2e0b,Garmin обект 0x2e0b,unknown
|
||||
0x2f00,Промишлен обект,inferred
|
||||
0x2f01,Бензиностанция,inferred
|
||||
0x2f03,Автосервиз,inferred
|
||||
0x2f05,Garmin обект 0x2f05,source-inferred
|
||||
0x2f06,Банка,inferred
|
||||
0x2f08,Обществен обект,uncertain
|
||||
0x2f0a,Синагога,legend
|
||||
0x2f0b,Тренировъчна площадка,inferred
|
||||
0x2f0c,Джамия,legend
|
||||
0x2f0e,Автомивка,legend
|
||||
0x3001,Garmin обект 0x3001,unknown
|
||||
0x3002,Първа помощ,inferred
|
||||
0x3003,Кметство,inferred
|
||||
0x3006,Garmin обект 0x3006,unknown
|
||||
0x3007,Помпена станция,inferred
|
||||
0x3008,Пожарна,legend
|
||||
0x4700,Пристанище,legend
|
||||
0x4e00,Garmin обект 0x4e00,unknown
|
||||
0x6400,Кариера,legend
|
||||
0x6401,Мост,legend
|
||||
0x6402,Сграда,legend
|
||||
0x6403,Гробище,legend
|
||||
0x6404,Църква,legend
|
||||
0x6405,Ловна хижа,legend
|
||||
0x6406,Бариера,legend
|
||||
0x6407,Пикник,legend
|
||||
0x6408,ПСС,legend
|
||||
0x6409,Паметник,legend
|
||||
0x640a,Опасност,legend
|
||||
0x640b,Параклис,legend
|
||||
0x640c,Мина,legend
|
||||
0x640d,Лифт,legend
|
||||
0x640e,Спирка,legend
|
||||
0x640f,Гробище,legend
|
||||
0x6410,Garmin обект 0x6410,unknown
|
||||
0x6411,Кула,legend
|
||||
0x6413,Тунел,legend
|
||||
0x6414,Вода - Чешма,legend
|
||||
0x6415,Място за бивакуване,legend
|
||||
0x6416,Руини,legend
|
||||
0x6417,Вода - Кладенец,legend
|
||||
0x6418,Вятърен генератор,inferred
|
||||
0x6419,Фотоволтаична централа,inferred
|
||||
0x641a,Църква,legend
|
||||
0x641c,Спирка,legend
|
||||
0x641d,Garmin обект 0x641d,unknown
|
||||
0x641e,Garmin обект 0x641e,unknown
|
||||
0x641f,Garmin обект 0x641f,unknown
|
||||
0x6500,Вода - Каптаж,legend
|
||||
0x6501,Ресторант,legend
|
||||
0x6502,Речен брод,legend
|
||||
0x6503,Кръстопът,legend
|
||||
0x6506,Музей,legend
|
||||
0x650b,Зимна маркировка,legend
|
||||
0x6511,Вода - Извор,legend
|
||||
0x6600,Височинна кота,legend-ambiguous
|
||||
0x6601,Природен феномен,legend
|
||||
0x6602,Панорама - Гледка,legend
|
||||
0x6603,Триангулачна точка,legend
|
||||
0x6604,Garmin обект 0x6604,unknown
|
||||
0x6608,Хотел,legend
|
||||
0x6609,Хижа,legend
|
||||
0x660a,Заслон,legend
|
||||
0x660b,Туристическа маркировка,legend
|
||||
0x660c,Garmin обект 0x660c,source-inferred
|
||||
0x660d,Garmin обект 0x660d,unknown
|
||||
0x660e,Garmin обект 0x660e,unknown
|
||||
0x660f,Garmin обект 0x660f,unknown
|
||||
0x6610,Поляна,legend
|
||||
0x6613,Водопад,legend
|
||||
0x6614,Скала,legend
|
||||
0x6615,Пещера,legend
|
||||
0x6616,Връх,verified
|
||||
0x6617,Връх,legend
|
||||
0x6618,Дърво,legend
|
||||
0x6619,Праисторически обект,legend
|
||||
0x661a,Античен обект,legend
|
||||
0x661b,Средновековен обект,legend
|
||||
0x661c,Могила,uncertain
|
||||
0x661d,Стопанска постройка,inferred
|
||||
0x661e,Garmin обект 0x661e,source-inferred
|
||||
0x10000,Garmin обект 0x10000,unverified-extended
|
||||
0x10018,Garmin обект 0x10018,unverified-extended
|
||||
0x10100,Garmin обект 0x10100,unverified-extended
|
||||
0x10118,Garmin обект 0x10118,unverified-extended
|
||||
0x1011e,Garmin обект 0x1011e,unverified-extended
|
||||
0x10204,Garmin обект 0x10204,unverified-extended
|
||||
0x10205,Garmin обект 0x10205,unverified-extended
|
||||
0x10209,Garmin обект 0x10209,unverified-extended
|
||||
0x1020a,Garmin обект 0x1020a,unverified-extended
|
||||
0x1020b,Garmin обект 0x1020b,unverified-extended
|
||||
0x1020c,Garmin обект 0x1020c,unverified-extended
|
||||
0x10218,Garmin обект 0x10218,unverified-extended
|
||||
0x10301,Garmin обект 0x10301,unverified-extended
|
||||
0x10401,Garmin обект 0x10401,unverified-extended
|
||||
0x10402,Garmin обект 0x10402,unverified-extended
|
||||
0x10403,Garmin обект 0x10403,unverified-extended
|
||||
0x1040d,Garmin обект 0x1040d,unverified-extended
|
||||
0x1040e,Garmin обект 0x1040e,unverified-extended
|
||||
0x1041e,Garmin обект 0x1041e,unverified-extended
|
||||
0x10501,Garmin обект 0x10501,unverified-extended
|
||||
0x10602,Garmin обект 0x10602,unverified-extended
|
||||
0x1061d,Garmin обект 0x1061d,unverified-extended
|
||||
0x10701,Garmin обект 0x10701,unverified-extended
|
||||
0x10705,Garmin обект 0x10705,unverified-extended
|
||||
0x10706,Garmin обект 0x10706,unverified-extended
|
||||
0x10801,Garmin обект 0x10801,unverified-extended
|
||||
0x10903,Garmin обект 0x10903,unverified-extended
|
||||
0x10a01,Garmin обект 0x10a01,unverified-extended
|
||||
0x10b01,Garmin обект 0x10b01,unverified-extended
|
||||
0x10b09,Garmin обект 0x10b09,unverified-extended
|
||||
0x10c00,Garmin обект 0x10c00,unverified-extended
|
||||
0x10d01,Garmin обект 0x10d01,unverified-extended
|
||||
0x1161f,Garmin обект 0x1161f,unverified-extended
|
||||
0x1171e,Garmin обект 0x1171e,unverified-extended
|
||||
0x1181f,Garmin обект 0x1181f,unverified-extended
|
||||
0x11901,Garmin обект 0x11901,unverified-extended
|
||||
0x11902,Garmin обект 0x11902,unverified-extended
|
||||
0x11a02,Garmin обект 0x11a02,unverified-extended
|
||||
0x1201f,Garmin обект 0x1201f,unverified-extended
|
||||
0x12102,Garmin обект 0x12102,unverified-extended
|
||||
0x12502,Garmin обект 0x12502,unverified-extended
|
||||
0x12a03,Garmin обект 0x12a03,unverified-extended
|
||||
0x12c1e,Garmin обект 0x12c1e,unverified-extended
|
||||
0x12d01,Garmin обект 0x12d01,unverified-extended
|
||||
0x12e1f,Garmin обект 0x12e1f,unverified-extended
|
||||
0x13001,Garmin обект 0x13001,unverified-extended
|
||||
0x1321f,Garmin обект 0x1321f,unverified-extended
|
||||
0x1331f,Garmin обект 0x1331f,unverified-extended
|
||||
0x13400,Garmin обект 0x13400,unverified-extended
|
||||
0x13a01,Garmin обект 0x13a01,unverified-extended
|
||||
0x13c03,Garmin обект 0x13c03,unverified-extended
|
||||
0x13d1e,Garmin обект 0x13d1e,unverified-extended
|
||||
0x1411e,Garmin обект 0x1411e,unverified-extended
|
||||
0x14400,Garmin обект 0x14400,unverified-extended
|
||||
0x14401,Garmin обект 0x14401,unverified-extended
|
||||
0x1441c,Garmin обект 0x1441c,unverified-extended
|
||||
0x14501,Garmin обект 0x14501,unverified-extended
|
||||
0x14602,Garmin обект 0x14602,unverified-extended
|
||||
0x1461c,Garmin обект 0x1461c,unverified-extended
|
||||
0x1461f,Garmin обект 0x1461f,unverified-extended
|
||||
0x1471f,Garmin обект 0x1471f,unverified-extended
|
||||
0x14803,Garmin обект 0x14803,unverified-extended
|
||||
0x1481f,Garmin обект 0x1481f,unverified-extended
|
||||
0x14a1e,Garmin обект 0x14a1e,unverified-extended
|
||||
0x14b01,Garmin обект 0x14b01,unverified-extended
|
||||
0x14c01,Garmin обект 0x14c01,unverified-extended
|
||||
0x14d1f,Garmin обект 0x14d1f,unverified-extended
|
||||
0x14e1e,Garmin обект 0x14e1e,unverified-extended
|
||||
0x15200,Garmin обект 0x15200,unverified-extended
|
||||
0x15303,Garmin обект 0x15303,unverified-extended
|
||||
0x1541d,Garmin обект 0x1541d,unverified-extended
|
||||
0x15501,Garmin обект 0x15501,unverified-extended
|
||||
0x15800,Garmin обект 0x15800,unverified-extended
|
||||
0x15a00,Garmin обект 0x15a00,unverified-extended
|
||||
0x15e01,Garmin обект 0x15e01,unverified-extended
|
||||
0x16103,Garmin обект 0x16103,unverified-extended
|
||||
0x16201,Garmin обект 0x16201,unverified-extended
|
||||
0x16701,Garmin обект 0x16701,unverified-extended
|
||||
0x1681c,Garmin обект 0x1681c,unverified-extended
|
||||
0x1681d,Garmin обект 0x1681d,unverified-extended
|
||||
0x16a00,Garmin обект 0x16a00,unverified-extended
|
||||
0x16b1c,Garmin обект 0x16b1c,unverified-extended
|
||||
0x16e1f,Garmin обект 0x16e1f,unverified-extended
|
||||
0x17000,Garmin обект 0x17000,unverified-extended
|
||||
0x1711d,Garmin обект 0x1711d,unverified-extended
|
||||
0x17303,Garmin обект 0x17303,unverified-extended
|
||||
0x1731e,Garmin обект 0x1731e,unverified-extended
|
||||
0x1751f,Garmin обект 0x1751f,unverified-extended
|
||||
0x1771e,Garmin обект 0x1771e,unverified-extended
|
||||
0x1791e,Garmin обект 0x1791e,unverified-extended
|
||||
0x17d1e,Garmin обект 0x17d1e,unverified-extended
|
||||
0x17e03,Garmin обект 0x17e03,unverified-extended
|
||||
0x18003,Garmin обект 0x18003,unverified-extended
|
||||
0x1811e,Garmin обект 0x1811e,unverified-extended
|
||||
0x18302,Garmin обект 0x18302,unverified-extended
|
||||
0x1861d,Garmin обект 0x1861d,unverified-extended
|
||||
0x1861f,Garmin обект 0x1861f,unverified-extended
|
||||
0x18901,Garmin обект 0x18901,unverified-extended
|
||||
0x18a1f,Garmin обект 0x18a1f,unverified-extended
|
||||
0x18c1e,Garmin обект 0x18c1e,unverified-extended
|
||||
0x18d01,Garmin обект 0x18d01,unverified-extended
|
||||
0x19001,Garmin обект 0x19001,unverified-extended
|
||||
0x1921f,Garmin обект 0x1921f,unverified-extended
|
||||
0x19a00,Garmin обект 0x19a00,unverified-extended
|
||||
0x19d03,Garmin обект 0x19d03,unverified-extended
|
||||
0x1a11f,Garmin обект 0x1a11f,unverified-extended
|
||||
0x1a401,Garmin обект 0x1a401,unverified-extended
|
||||
0x1a501,Garmin обект 0x1a501,unverified-extended
|
||||
0x1a51c,Garmin обект 0x1a51c,unverified-extended
|
||||
0x1a800,Garmin обект 0x1a800,unverified-extended
|
||||
0x1a81c,Garmin обект 0x1a81c,unverified-extended
|
||||
0x1a91c,Garmin обект 0x1a91c,unverified-extended
|
||||
0x1a91f,Garmin обект 0x1a91f,unverified-extended
|
||||
0x1ab1f,Garmin обект 0x1ab1f,unverified-extended
|
||||
0x1b101,Garmin обект 0x1b101,unverified-extended
|
||||
0x1b31f,Garmin обект 0x1b31f,unverified-extended
|
||||
0x1b402,Garmin обект 0x1b402,unverified-extended
|
||||
0x1b41c,Garmin обект 0x1b41c,unverified-extended
|
||||
0x1b703,Garmin обект 0x1b703,unverified-extended
|
||||
0x1ba03,Garmin обект 0x1ba03,unverified-extended
|
||||
0x1be1c,Garmin обект 0x1be1c,unverified-extended
|
||||
0x1c11e,Garmin обект 0x1c11e,unverified-extended
|
||||
0x1c31d,Garmin обект 0x1c31d,unverified-extended
|
||||
0x1c500,Garmin обект 0x1c500,unverified-extended
|
||||
0x1c71f,Garmin обект 0x1c71f,unverified-extended
|
||||
0x1c81e,Garmin обект 0x1c81e,unverified-extended
|
||||
0x1cb1f,Garmin обект 0x1cb1f,unverified-extended
|
||||
0x1ce02,Garmin обект 0x1ce02,unverified-extended
|
||||
0x1d501,Garmin обект 0x1d501,unverified-extended
|
||||
0x1d51e,Garmin обект 0x1d51e,unverified-extended
|
||||
0x1d61f,Garmin обект 0x1d61f,unverified-extended
|
||||
0x1d71c,Garmin обект 0x1d71c,unverified-extended
|
||||
0x1d800,Garmin обект 0x1d800,unverified-extended
|
||||
0x1da01,Garmin обект 0x1da01,unverified-extended
|
||||
0x1da1e,Garmin обект 0x1da1e,unverified-extended
|
||||
0x1db01,Garmin обект 0x1db01,unverified-extended
|
||||
0x1db1e,Garmin обект 0x1db1e,unverified-extended
|
||||
0x1db1f,Garmin обект 0x1db1f,unverified-extended
|
||||
0x1dc01,Garmin обект 0x1dc01,unverified-extended
|
||||
0x1de1f,Garmin обект 0x1de1f,unverified-extended
|
||||
0x1e101,Garmin обект 0x1e101,unverified-extended
|
||||
0x1e21f,Garmin обект 0x1e21f,unverified-extended
|
||||
0x1ea00,Garmin обект 0x1ea00,unverified-extended
|
||||
0x1ec1d,Garmin обект 0x1ec1d,unverified-extended
|
||||
0x1f401,Garmin обект 0x1f401,unverified-extended
|
||||
0x1f501,Garmin обект 0x1f501,unverified-extended
|
||||
0x1fb01,Garmin обект 0x1fb01,unverified-extended
|
||||
0x1ff00,Garmin обект 0x1ff00,unverified-extended
|
||||
0x1ff11,Garmin обект 0x1ff11,unverified-extended
|
||||
0x1ff18,Garmin обект 0x1ff18,unverified-extended
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,5 @@
|
||||
# Optional, coordinate-specific verified POI corrections; no active rows by default.
|
||||
# Use only after verifying a name against the ORIGINAL IMG at the same coordinates.
|
||||
# Changing a name in this file will change both generated OSM and source manifest; validator will still pass.
|
||||
# mapset ID, hex code, exact WGS84 lat/lon, old and new names must match precisely.
|
||||
mapset,code,lat,lon,old_name,new_name,note
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+1874
-1874
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,51 @@
|
||||
code,source_count,color,has_bitmap_pattern,display_minzoom,width,show,notes
|
||||
0x10e1f,237835,#000000,yes,15,1.2,yes,"Visual overlay, not independent routable path"
|
||||
0x10f12,217991,#e6e6e6,yes,15,1.2,yes,"Visual overlay, not independent routable path"
|
||||
0x10f16,36027,#e6e6e6,yes,15,1.2,yes,"Visual overlay, not independent routable path"
|
||||
0x10e0b,15148,#000000,yes,15,1.2,yes,"Visual overlay, not independent routable path"
|
||||
0x10f17,10965,#ff3041,yes,13,3.4,yes,"Visual overlay, not independent routable path"
|
||||
0x10e13,10607,#000000,yes,15,1.2,yes,"Visual overlay, not independent routable path"
|
||||
0x10e12,8662,#000000,yes,15,1.2,yes,"Visual overlay, not independent routable path"
|
||||
0x10f14,8475,#000000,yes,15,1.2,yes,"Visual overlay, not independent routable path"
|
||||
0x10f11,6436,#000000,yes,15,1.2,yes,"Visual overlay, not independent routable path"
|
||||
0x10f0a,6231,#ff0000,yes,13,3.4,yes,"Visual overlay, not independent routable path"
|
||||
0x10e0a,4347,#0030ff,yes,13,3.4,yes,"Visual overlay, not independent routable path"
|
||||
0x10f00,4197,#000000,yes,15,1.2,yes,"Visual overlay, not independent routable path"
|
||||
0x10f0f,4098,#399500,yes,13,3.4,yes,"Visual overlay, not independent routable path"
|
||||
0x10e11,3926,#000000,yes,15,1.2,yes,"Visual overlay, not independent routable path"
|
||||
0x10e05,3011,#ffff00,yes,13,3.4,yes,"Visual overlay, not independent routable path"
|
||||
0x10e0c,2375,#000000,yes,15,1.2,yes,"Visual overlay, not independent routable path"
|
||||
0x10e1c,2045,#ffffff,no,15,1.2,yes,"Visual overlay, not independent routable path"
|
||||
0x10f13,1575,#000000,yes,15,1.2,yes,"Visual overlay, not independent routable path"
|
||||
0x10e19,1469,#525252,yes,13,3.4,yes,"Visual overlay, not independent routable path"
|
||||
0x10e09,1074,#0030ff,yes,13,3.4,yes,"Visual overlay, not independent routable path"
|
||||
0x10e04,1048,#ffff00,yes,13,3.4,yes,"Visual overlay, not independent routable path"
|
||||
0x10e16,636,#000000,yes,15,1.2,yes,"Visual overlay, not independent routable path"
|
||||
0x10504,591,#bd3041,yes,13,3.4,yes,"Visual overlay, not independent routable path"
|
||||
0x10f0e,488,#399500,yes,13,3.4,yes,"Visual overlay, not independent routable path"
|
||||
0x10401,394,#bd3041,yes,13,3.4,yes,"Visual overlay, not independent routable path"
|
||||
0x10e1b,368,#ff0000,no,13,3.4,yes,"Visual overlay, not independent routable path"
|
||||
0x10602,354,#777777,unknown,13,3.4,yes,"Visual overlay, not independent routable path"
|
||||
0x10e1d,327,#ffffff,no,15,1.2,yes,"Visual overlay, not independent routable path"
|
||||
0x10e18,292,#414141,yes,13,3.4,yes,"Visual overlay, not independent routable path"
|
||||
0x10e0d,267,#000000,yes,15,1.2,yes,"Visual overlay, not independent routable path"
|
||||
0x10108,232,#bd3041,yes,13,3.4,yes,"Visual overlay, not independent routable path"
|
||||
0x10e1a,205,#ffffff,no,15,1.2,yes,"Visual overlay, not independent routable path"
|
||||
0x10e03,199,#ffff00,yes,13,3.4,yes,"Visual overlay, not independent routable path"
|
||||
0x10e15,184,#000000,yes,15,1.2,yes,"Visual overlay, not independent routable path"
|
||||
0x10f05,162,#7b3000,yes,13,3.4,yes,"Visual overlay, not independent routable path"
|
||||
0x10e1e,162,#000000,yes,15,1.2,yes,"Visual overlay, not independent routable path"
|
||||
0x10e08,119,#0030ff,yes,13,3.4,yes,"Visual overlay, not independent routable path"
|
||||
0x10e17,110,#ff0000,yes,13,3.4,yes,"Visual overlay, not independent routable path"
|
||||
0x10e14,109,#000000,yes,15,1.2,yes,"Visual overlay, not independent routable path"
|
||||
0x10f15,98,#000000,yes,15,1.2,yes,"Visual overlay, not independent routable path"
|
||||
0x10f04,93,#7b3000,yes,13,3.4,yes,"Visual overlay, not independent routable path"
|
||||
0x10606,78,#bd3041,yes,13,3.4,yes,"Visual overlay, not independent routable path"
|
||||
0x10e02,60,#ffff00,yes,13,3.4,yes,"Visual overlay, not independent routable path"
|
||||
0x10e0e,56,#000000,yes,15,1.2,yes,"Visual overlay, not independent routable path"
|
||||
0x10402,47,#bd3041,yes,13,3.4,yes,"Visual overlay, not independent routable path"
|
||||
0x10f03,9,#7b3000,yes,13,3.4,yes,"Visual overlay, not independent routable path"
|
||||
0x10f01,4,#7b3000,yes,13,3.4,yes,"Visual overlay, not independent routable path"
|
||||
0x10e0f,4,#000000,yes,15,1.2,yes,"Visual overlay, not independent routable path"
|
||||
0x10503,3,#bd3041,yes,13,3.4,yes,"Visual overlay, not independent routable path"
|
||||
0x10403,3,#bd3041,yes,13,3.4,yes,"Visual overlay, not independent routable path"
|
||||
|
File diff suppressed because one or more lines are too long
@@ -0,0 +1,88 @@
|
||||
garmin_hex,count,legend_en,legend_bg,verified_osm_tags,extracted_garmin_icon,example1_lat,example1_lon,example1_name,example2_lat,example2_lon,review_status,default_osmand_display,v08_osm_tags,v08_synthetic_fallback,v08_label,v08_confidence
|
||||
0x6600,66206,Triangulation,Кота,,yes,41.2312603,22.6785922,217,42.8680515,22.6715970,icon_legend_verified,custom_style_information,bgm:spot_height=yes;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=triangulation,yes,Височинна кота,legend-ambiguous
|
||||
0x2800,54902,,,place=locality,no,42.6277471,24.3122506,Големия поп,43.3119893,27.8330684,not_on_legend,native_osmand,place=locality;tourism=information;information=board;bgm:synthetic_icon=yes,yes,Garmin обект 0x2800,source-inferred
|
||||
0x6511,50308,Spring,Извор,natural=spring,yes,42.8732872,23.3371925,Студена вода,42.5154161,23.1598663,icon_legend_verified,native_osmand,natural=spring;garmin:legend=spring,no,Вода - Извор,legend
|
||||
0x6414,32922,Drinking Water,Чешма,amenity=drinking_water,yes,43.1117034,23.7205982,затлачена,42.2771502,25.3026724,icon_legend_verified,native_osmand,amenity=drinking_water;garmin:legend=drinking_water,no,Вода - Чешма,legend
|
||||
0x6500,31214,Reservoir,Каптаж,,yes,42.0310307,24.7559094,Забучена,42.7306151,22.7937984,icon_legend_verified,custom_style_information,man_made=water_intake;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=reservoir,yes,Вода - Каптаж,legend
|
||||
0x6603,26366,Triangulation,Кота,man_made=survey_point,yes,42.5520873,23.8540435,1079,42.5116181,23.8444304,icon_legend_verified,native_osmand,man_made=survey_point;garmin:legend=triangulation,no,Триангулачна точка,legend
|
||||
0x6616,15540,,,natural=peak,no,42.8516150,25.7782173,Симов чукар,43.4484601,23.3003926,name_supported,native_osmand,natural=peak,no,Връх,verified
|
||||
0x6614,15289,Rock,Скала,,yes,42.7437901,25.2693915,15,42.7658057,25.9388924,icon_legend_verified,custom_style_information,natural=rock;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=rock,yes,Скала,legend
|
||||
0x6618,10176,Tree,Дърво,natural=tree,yes,42.7752686,23.9033318,столетно дърво,43.2969904,24.6177006,icon_legend_verified,native_osmand,natural=tree;garmin:legend=tree,no,Дърво,legend
|
||||
0x6417,8868,Well,Кладенец,man_made=water_well,yes,42.2628808,24.2223430,Юсеиновия кладенец,41.7512012,25.0972795,icon_legend_verified,native_osmand,man_made=water_well;garmin:legend=well,no,Вода - Кладенец,legend
|
||||
0x650b,8767,Winter Marking,Зимна маркировка,,yes,42.0000887,23.3820820,94,42.7546048,24.7787404,icon_legend_verified,custom_style_information,trailblazed=yes;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=winter_marking,yes,Зимна маркировка,legend
|
||||
0x1100,8430,,,,no,42.5975990,22.5972247,Върбица,42.8741455,25.5907202,not_on_legend,custom_style_information,place=locality;tourism=information;information=board;bgm:synthetic_icon=yes,yes,Населено място,uncertain
|
||||
0xd00,6610,,,,no,41.6287208,23.7694144,Балдево,43.4385252,26.5020704,not_on_legend,custom_style_information,place=locality;tourism=information;information=board;bgm:synthetic_icon=yes,yes,Селище,uncertain
|
||||
0x6402,6186,Building,Сграда,building=yes,yes,42.5507569,23.2217932,Чакало,42.2648549,23.5112143,icon_legend_verified,native_osmand,building=yes;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=building,yes,Сграда,legend
|
||||
0x641c,3120,Bus Stop/Station,Спирка,highway=bus_stop,yes,42.8542113,25.3382707,1-7-10-14,42.8205442,23.3609891,icon_legend_verified,native_osmand,highway=bus_stop;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=bus_stop_station,yes,Спирка,legend
|
||||
0x6416,2886,Ruins,Руини,historic=ruins,yes,41.5940452,24.3094182,Разв.,41.9296217,24.6835971,icon_legend_verified,native_osmand,historic=ruins;garmin:legend=ruins,no,Руини,legend
|
||||
0x6407,2861,Picnic Site,Пикник,tourism=picnic_site,yes,41.9156528,25.3233576,беседка,42.6045942,23.4355974,icon_legend_verified,native_osmand,tourism=picnic_site;garmin:legend=picnic_site,no,Пикник,legend
|
||||
0x640f,2766,Graveyard/Tombstone,"Гробище, оброк",,yes,42.0345068,22.4919534,Гробище,41.4501715,24.6433210,icon_legend_verified,custom_style_information,landuse=cemetery;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=graveyard_tombstone,yes,Гробище,legend
|
||||
0x6608,2644,Hotel,Хотел,tourism=hotel,yes,42.8794885,27.8957462,Fortuna Cape Complex,42.3725724,27.7117682,icon_legend_verified,native_osmand,tourism=hotel;garmin:legend=hotel,no,Хотел,legend
|
||||
0x660b,2612,Mark,Маркировка,,yes,43.9378452,22.4072385,Пир. 454,41.6514015,24.3190312,icon_legend_verified,custom_style_information,trailblazed=yes;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=mark,yes,Туристическа маркировка,legend
|
||||
0x2c05,2481,School,Училище,amenity=school,yes,41.7214394,24.6845198,СУ Олимпийски Надежди,42.2714853,24.5394874,icon_legend_verified,native_osmand,amenity=school;garmin:legend=school,no,Училище,legend
|
||||
0x6501,2412,Restaurant,Ресторант,amenity=restaurant,yes,43.3456135,28.0715060,Therma beach,42.4869204,26.4846039,icon_legend_verified,native_osmand,amenity=restaurant;garmin:legend=restaurant,no,Ресторант,legend
|
||||
0x640a,2095,Danger,Опасност,,yes,43.1507993,25.3284001,Стълба,42.5652623,23.4620762,icon_legend_verified,custom_style_information,hazard=yes;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=danger,yes,Опасност,legend
|
||||
0x10301,2006,,,,no,43.4377956,28.9283538,,42.2109532,27.8938365,extended_unverified,custom_style_information,tourism=information;information=board;bgm:synthetic_icon=yes,yes,Garmin обект 0x10301,unverified-extended
|
||||
0x6502,1864,River Passage,Брод,,yes,42.7929711,25.2992177,Бент,42.1954823,23.7029600,icon_legend_verified,custom_style_information,ford=yes;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=river_passage,yes,Речен брод,legend
|
||||
0x6613,1746,Waterfall,Водопад,waterway=waterfall,yes,42.7435327,24.6398234,Кастрак дере горен,42.0257735,24.5287156,icon_legend_verified,native_osmand,waterway=waterfall;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=waterfall,yes,Водопад,legend
|
||||
0x6403,1729,Graveyard/Tombstone,"Гробище, оброк",,yes,43.0418801,23.5914874,Св. Мария Магдалена,41.7204952,24.8700428,icon_legend_verified,custom_style_information,landuse=cemetery;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=graveyard_tombstone,yes,Гробище,legend
|
||||
0x6401,1679,Bridge,Мост,man_made=bridge,yes,42.6645684,22.9691291,Зидан мост,41.3415956,22.8474855,icon_legend_verified,native_osmand,man_made=bridge;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=bridge,yes,Мост,legend
|
||||
0x2c0b,1606,Church,Църква,amenity=place_of_worship,yes,43.0217957,24.8099613,Рождество Богородично,41.6844034,25.7115483,icon_legend_verified,native_osmand,amenity=place_of_worship;garmin:legend=church,no,Църква,legend
|
||||
0x2b00,1558,,,tourism=hotel,no,42.6465440,27.6449919,Sotirovi Holiday,41.6332698,24.7040462,not_on_legend,native_osmand,tourism=hotel,no,Garmin обект 0x2b00,source-inferred
|
||||
0x6404,1507,Church,Църква,amenity=place_of_worship,yes,42.1896243,27.0861053,Св. Димитър,42.6495481,23.1854010,icon_legend_verified,native_osmand,amenity=place_of_worship;garmin:legend=church,no,Църква,legend
|
||||
0x2f0b,1499,,,,no,43.7308860,23.9443588,автополигон,42.2151589,24.0181303,not_on_legend,custom_style_information,leisure=track;tourism=information;information=board;bgm:synthetic_icon=yes,yes,Тренировъчна площадка,inferred
|
||||
0x661d,1412,,,,yes,41.1914778,24.0922236,Овчарник,42.7084708,25.3351378,not_on_legend,custom_style_information,building=agricultural;tourism=information;information=board;bgm:synthetic_icon=yes,yes,Стопанска постройка,inferred
|
||||
0x640c,1353,Mine Shaft,Мина,man_made=mine_shaft,yes,43.0497336,22.9328442,(Въгл.),41.5701199,24.6346951,icon_legend_verified,native_osmand,man_made=mine_shaft;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=mine_shaft,yes,Мина,legend
|
||||
0x2c08,1328,,,,yes,41.9112968,24.9703360,"Конна база ""Wild City""",42.6861334,23.3365059,not_on_legend,custom_style_information,leisure=horse_riding,no,Конна база,inferred
|
||||
0x2f00,1269,,,,yes,42.9236698,24.2466116,индустриални сгради,42.8208017,23.1913233,not_on_legend,custom_style_information,landuse=industrial;tourism=information;information=board;bgm:synthetic_icon=yes,yes,Промишлен обект,inferred
|
||||
0x6409,1235,Monument,Паметник,historic=monument,yes,43.1282043,23.6027098,Перо Херцеговинеца,42.4960184,22.8770757,icon_legend_verified,native_osmand,historic=monument;garmin:legend=monument,no,Паметник,legend
|
||||
0x661c,1169,,,,yes,41.8346500,26.4578676,Койчовата могила,43.6355710,28.5723281,not_on_legend,custom_style_information,bgm:landmark=mound;tourism=information;information=board;bgm:synthetic_icon=yes,yes,Могила,uncertain
|
||||
0x640b,1128,Chapel,Параклис,amenity=place_of_worship,yes,41.9598985,24.3688774,Параклис,41.9762921,24.8116350,icon_legend_verified,native_osmand,amenity=place_of_worship;garmin:legend=chapel,no,Параклис,legend
|
||||
0x661e,979,,,amenity=shelter,yes,41.4122772,24.8197031,Навес с барбекю,41.3865280,24.7667241,not_on_legend,native_osmand,amenity=shelter,no,Garmin обект 0x661e,source-inferred
|
||||
0x640e,977,Bus Stop/Station,Спирка,highway=bus_stop,yes,43.3513427,25.1430917,Левски,42.3796749,22.7069807,icon_legend_verified,native_osmand,highway=bus_stop;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=bus_stop_station,yes,Спирка,legend
|
||||
0x6615,942,Cave,Пещера,natural=cave_entrance,yes,41.8003178,23.3853436,Дупка,43.2577872,24.0077662,icon_legend_verified,native_osmand,natural=cave_entrance;garmin:legend=cave,no,Пещера,legend
|
||||
0x6602,891,Viewpoint,Гледка,tourism=viewpoint,yes,41.7438412,23.4641790,Кьошка (Балконе)-панорама,42.8009748,27.1023059,icon_legend_verified,native_osmand,tourism=viewpoint;garmin:legend=viewpoint,no,Панорама - Гледка,legend
|
||||
0x6411,875,Tower,Кула,man_made=tower,yes,41.7411375,24.8182654,GSM клетка,42.1343064,24.8024940,icon_legend_verified,native_osmand,man_made=tower;garmin:legend=tower,no,Кула,legend
|
||||
0x6406,854,Barrier/Gate,Бариера,barrier=gate,yes,41.5502286,24.7455668,Военен обект!,41.2806129,25.2994323,icon_legend_verified,native_osmand,barrier=gate;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=barrier_gate,yes,Бариера,legend
|
||||
0x3003,841,,,,no,43.2501698,27.7748966,Кметство,41.8338132,24.8308182,not_on_legend,custom_style_information,amenity=townhall,no,Кметство,inferred
|
||||
0x2f01,778,,,,no,41.5430832,23.2712317,Газостанция,43.7991214,26.1920500,not_on_legend,custom_style_information,amenity=fuel,no,Бензиностанция,inferred
|
||||
0x6503,760,Crossroad,Кръстопът,,yes,43.4149003,28.4942007,на запад Черноморски път,41.5363026,23.6495304,icon_legend_verified,custom_style_information,bgm:trail_junction=yes;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=crossroad,yes,Кръстопът,legend
|
||||
0x3002,564,,,,no,42.5638032,27.6036644,First Aid,42.4966407,24.7085094,not_on_legend,custom_style_information,emergency=first_aid,no,Първа помощ,inferred
|
||||
0x2c02,538,,,,yes,42.3479176,25.0754786,Детска градина,43.5124254,26.7439628,not_on_legend,custom_style_information,amenity=kindergarten,no,Детска градина,inferred
|
||||
0x2a0e,525,,,,yes,42.0046806,24.8740768,Pandora,42.6043367,23.0305839,not_on_legend,custom_style_information,shop=yes,no,Търговски обект,uncertain
|
||||
0x2e03,502,,,,no,43.2763910,27.9675651,магазин,42.1473527,24.7843194,not_on_legend,custom_style_information,shop=yes,no,Магазин,inferred
|
||||
0x2e05,487,Pharmacy,Аптека,amenity=pharmacy,yes,42.7442837,25.3431416,Аптечка,42.6866698,23.3093405,icon_legend_verified,native_osmand,amenity=pharmacy;garmin:legend=pharmacy,no,Аптека,legend
|
||||
0x2f05,486,,,amenity=post_office,no,42.0306015,23.8108063,Поща,43.7494254,27.4069619,not_on_legend,native_osmand,amenity=post_office,no,Garmin обект 0x2f05,source-inferred
|
||||
0x2e02,477,,,,no,41.6551137,25.5503798,Хранителни стоки,41.6634393,24.3756366,not_on_legend,custom_style_information,shop=convenience,no,Хранителен магазин,inferred
|
||||
0x2c03,474,,,,yes,43.2219315,25.7480693,читалище Съединение,43.7368727,26.1066914,not_on_legend,custom_style_information,amenity=community_centre,no,Читалище,inferred
|
||||
0x6400,465,Quarry,Кариера,landuse=quarry,yes,40.8776808,23.9436078,(Кам.),42.0491624,26.4963627,icon_legend_verified,native_osmand,landuse=quarry;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=quarry,yes,Кариера,legend
|
||||
0x2d02,434,,,,no,42.1507859,24.7315550,Casa de Cuba,42.0225549,23.9974666,not_on_legend,custom_style_information,bgm:landmark=unknown;tourism=information;information=board;bgm:synthetic_icon=yes,yes,Търговски обект,uncertain
|
||||
0x6506,424,Museum,Музей,tourism=museum,yes,42.1463013,24.7487855,Градска художествена галерия,42.4936581,27.4754548,icon_legend_verified,native_osmand,tourism=museum;garmin:legend=museum,no,Музей,legend
|
||||
0x661a,384,Antiquity site,Античен обект,historic=archaeological_site,yes,41.7153454,26.0307527,Тракийска крепост Курт кале,43.2776999,27.1080351,icon_legend_verified,native_osmand,historic=archaeological_site;garmin:legend=antiquity_site,no,Античен обект,legend
|
||||
0x6609,372,Hut,Хижа,tourism=alpine_hut,yes,43.2779145,27.1159101,Хижа Мадарски конник,41.8324399,24.7721529,icon_legend_verified,native_osmand,tourism=alpine_hut;garmin:legend=hut,no,Хижа,legend
|
||||
0x2e06,348,,,,no,43.4717417,23.9467192,Trayкov Shop,42.6665640,25.4079223,not_on_legend,custom_style_information,shop=yes,no,Търговски обект,uncertain
|
||||
0x2d09,337,,,leisure=swimming_pool,yes,41.8625021,23.5053134,Минерален басейн Пирин,42.2918701,23.2552886,not_on_legend,native_osmand,leisure=swimming_pool,no,Garmin обект 0x2d09,source-inferred
|
||||
0x2f06,320,,,,no,42.3073840,23.8596869,Банка ДСК,43.2122111,27.9121184,not_on_legend,custom_style_information,amenity=bank,no,Банка,inferred
|
||||
0x2f0c,320,Mosque,Джамия,amenity=place_of_worship;religion=muslim,yes,44.0549612,26.7991304,Джамия,41.4958334,24.6339655,icon_legend_verified,native_osmand,amenity=place_of_worship;religion=muslim;garmin:legend=mosque,no,Джамия,legend
|
||||
0x661b,319,Medieval site,Средновековен обект,historic=archaeological_site,yes,42.0922279,24.2505813,"Средновековен манастир ""Св. Седмочиленици""",42.2452426,24.0083671,icon_legend_verified,native_osmand,historic=archaeological_site;garmin:legend=medieval_site,no,Средновековен обект,legend
|
||||
0x6418,305,,,,yes,42.7693677,26.3003898,Ветрогенератор,42.7765560,26.3197017,not_on_legend,custom_style_information,power=generator;generator:source=wind;tourism=information;information=board;bgm:synthetic_icon=yes,yes,Вятърен генератор,inferred
|
||||
0x900,283,Town,Град <75 000,place=town,yes,42.0570374,24.5459247,Перущица,40.8942676,26.1739397,icon_legend_verified,native_osmand,place=town;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=town,yes,Град <75 000,legend
|
||||
0x660a,275,Refuge,Заслон,amenity=shelter;shelter_type=basic_hut,yes,42.8157377,23.8160634,Заслон,42.7268600,26.3467383,icon_legend_verified,native_osmand,amenity=shelter;shelter_type=basic_hut;garmin:legend=refuge,no,Заслон,legend
|
||||
0x6415,264,Camp Site,Място за бивакуване,tourism=camp_site,yes,41.7506647,25.1023221,Бивак,43.2923126,27.1431398,icon_legend_verified,native_osmand,tourism=camp_site;garmin:legend=camp_site,no,Място за бивакуване,legend
|
||||
0x6405,260,Hunting Lodge,Ловна хижа,,yes,42.7514720,27.2207522,заслон Зайчар,41.6350079,25.5436206,icon_legend_verified,custom_style_information,building=hut;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=hunting_lodge,yes,Ловна хижа,legend
|
||||
0x1040d,229,,,,no,41.9180989,28.0489111,,42.8007388,27.8943729,extended_unverified,custom_style_information,tourism=information;information=board;bgm:synthetic_icon=yes,yes,Garmin обект 0x1040d,unverified-extended
|
||||
0x2a07,227,,,,no,43.8551474,25.9693837,Тирол,42.7743888,26.8785238,not_on_legend,custom_style_information,bgm:landmark=unknown;tourism=information;information=board;bgm:synthetic_icon=yes,yes,Спортен обект,uncertain
|
||||
0x6619,195,Prehistoric site,Праисторически обект,historic=archaeological_site,yes,42.5703692,25.3767228,Бащин камък (Слънчева врата),41.9394493,26.1900759,icon_legend_verified,native_osmand,historic=archaeological_site;garmin:legend=prehistoric_site,no,Праисторически обект,legend
|
||||
0x3001,170,,,,yes,43.3623934,25.1447439,полиция,43.1404138,24.7057414,not_on_legend,custom_style_information,tourism=information;information=board;bgm:synthetic_icon=yes,yes,Garmin обект 0x3001,unknown
|
||||
0x6601,165,Natural Phenomenon,Природен феномен,,yes,42.9589677,25.2119064,"скален феномен ""Момичките""",42.5682020,25.5528045,icon_legend_verified,custom_style_information,bgm:landmark=natural_phenomenon;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=natural_phenomenon,yes,Природен феномен,legend
|
||||
0x2e0a,159,,,,no,43.8517356,25.9867859,Автокъщи,43.2120609,27.9186201,not_on_legend,custom_style_information,shop=car,no,Автокъща,inferred
|
||||
0x10401,157,,,,no,42.6565218,27.7297497,,43.2037354,27.8479171,extended_unverified,custom_style_information,tourism=information;information=board;bgm:synthetic_icon=yes,yes,Garmin обект 0x10401,unverified-extended
|
||||
0x640d,137,Lift,Лифт,,yes,42.6056242,23.2995987,Драгалевски междинна,42.5832009,23.2924747,icon_legend_verified,custom_style_information,aerialway=station;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=lift,yes,Лифт,legend
|
||||
0x3007,132,,,,no,43.2023406,25.7318473,Помпена ст.,42.6586461,27.7180338,not_on_legend,custom_style_information,man_made=pumping_station;tourism=information;information=board;bgm:synthetic_icon=yes,yes,Помпена станция,inferred
|
||||
0x2f08,123,,,,yes,42.6397204,23.3731771,Акад. Александър Теодоров - Балан,42.7053809,23.3233523,not_on_legend,custom_style_information,bgm:landmark=unknown;tourism=information;information=board;bgm:synthetic_icon=yes,yes,Обществен обект,uncertain
|
||||
0xe00,114,,,,no,43.9952660,22.8717756,жк. Крум Бъчваров,43.9941502,22.8833628,not_on_legend,custom_style_information,place=neighbourhood;tourism=information;information=board;bgm:synthetic_icon=yes,yes,Квартал,uncertain
|
||||
0x6419,113,,,,yes,42.5478601,26.7053819,Фотоволтаична ценрала,42.4148440,25.6047320,not_on_legend,custom_style_information,power=generator;generator:source=solar;tourism=information;information=board;bgm:synthetic_icon=yes,yes,Фотоволтаична централа,inferred
|
||||
0x6617,112,Peak,Връх,natural=peak,yes,41.7893529,22.9647946,Огреяк (Кадийца) (1924),41.9179702,24.9033022,icon_legend_verified,native_osmand,natural=peak;garmin:legend=peak,no,Връх,legend
|
||||
0x2f03,106,,,,no,41.3775158,25.0830102,"Автосервиз ""Профиров""",43.8112664,25.9830523,not_on_legend,custom_style_information,shop=car_repair,no,Автосервиз,inferred
|
||||
0x2e07,105,Clothes shop,Магазин за дрехи,shop=clothes,yes,43.0698609,25.6080151,"Кооперативен пазар ""Бузлуджа""",42.1253800,24.7373700,icon_legend_verified,native_osmand,shop=clothes;garmin:legend=clothes_shop,no,Магазин за дрехи,legend
|
||||
0x4700,101,Port,Пристанище,industrial=port,yes,41.6431189,25.2845192,Пристан,42.0604706,27.9666424,icon_legend_verified,native_osmand,industrial=port;tourism=information;information=board;bgm:synthetic_icon=yes;garmin:legend=port,yes,Пристанище,legend
|
||||
|
@@ -0,0 +1,88 @@
|
||||
garmin_hex,count,legend_en,legend_bg,verified_osm_tags,extracted_garmin_icon,example1_lat,example1_lon,example1_name,example2_lat,example2_lon,review_status,default_osmand_display
|
||||
0x6600,66206,Triangulation,Кота,,yes,41.2312603,22.6785922,217,42.8680515,22.6715970,icon_legend_verified,custom_style_information
|
||||
0x2800,54902,,,place=locality,no,42.6277471,24.3122506,Големия поп,43.3119893,27.8330684,not_on_legend,native_osmand
|
||||
0x6511,50308,Spring,Извор,natural=spring,yes,42.8732872,23.3371925,Студена вода,42.5154161,23.1598663,icon_legend_verified,native_osmand
|
||||
0x6414,32922,Drinking Water,Чешма,amenity=drinking_water,yes,43.1117034,23.7205982,затлачена,42.2771502,25.3026724,icon_legend_verified,native_osmand
|
||||
0x6500,31214,Reservoir,Каптаж,,yes,42.0310307,24.7559094,Забучена,42.7306151,22.7937984,icon_legend_verified,custom_style_information
|
||||
0x6603,26366,Triangulation,Кота,man_made=survey_point,yes,42.5520873,23.8540435,1079,42.5116181,23.8444304,icon_legend_verified,native_osmand
|
||||
0x6616,15540,,,natural=peak,no,42.8516150,25.7782173,Симов чукар,43.4484601,23.3003926,name_supported,native_osmand
|
||||
0x6614,15289,Rock,Скала,,yes,42.7437901,25.2693915,15,42.7658057,25.9388924,icon_legend_verified,custom_style_information
|
||||
0x6618,10176,Tree,Дърво,natural=tree,yes,42.7752686,23.9033318,столетно дърво,43.2969904,24.6177006,icon_legend_verified,native_osmand
|
||||
0x6417,8868,Well,Кладенец,man_made=water_well,yes,42.2628808,24.2223430,Юсеиновия кладенец,41.7512012,25.0972795,icon_legend_verified,native_osmand
|
||||
0x650b,8767,Winter Marking,Зимна маркировка,,yes,42.0000887,23.3820820,94,42.7546048,24.7787404,icon_legend_verified,custom_style_information
|
||||
0x1100,8430,,,,no,42.5975990,22.5972247,Върбица,42.8741455,25.5907202,not_on_legend,custom_style_information
|
||||
0xd00,6610,,,,no,41.6287208,23.7694144,Балдево,43.4385252,26.5020704,not_on_legend,custom_style_information
|
||||
0x6402,6186,Building,Сграда,building=yes,yes,42.5507569,23.2217932,Чакало,42.2648549,23.5112143,icon_legend_verified,native_osmand
|
||||
0x641c,3120,Bus Stop/Station,Спирка,highway=bus_stop,yes,42.8542113,25.3382707,1-7-10-14,42.8205442,23.3609891,icon_legend_verified,native_osmand
|
||||
0x6416,2886,Ruins,Руини,historic=ruins,yes,41.5940452,24.3094182,Разв.,41.9296217,24.6835971,icon_legend_verified,native_osmand
|
||||
0x6407,2861,Picnic Site,Пикник,tourism=picnic_site,yes,41.9156528,25.3233576,беседка,42.6045942,23.4355974,icon_legend_verified,native_osmand
|
||||
0x640f,2766,Graveyard/Tombstone,"Гробище, оброк",,yes,42.0345068,22.4919534,Гробище,41.4501715,24.6433210,icon_legend_verified,custom_style_information
|
||||
0x6608,2644,Hotel,Хотел,tourism=hotel,yes,42.8794885,27.8957462,Fortuna Cape Complex,42.3725724,27.7117682,icon_legend_verified,native_osmand
|
||||
0x660b,2612,Mark,Маркировка,,yes,43.9378452,22.4072385,Пир. 454,41.6514015,24.3190312,icon_legend_verified,custom_style_information
|
||||
0x2c05,2481,School,Училище,amenity=school,yes,41.7214394,24.6845198,СУ Олимпийски Надежди,42.2714853,24.5394874,icon_legend_verified,native_osmand
|
||||
0x6501,2412,Restaurant,Ресторант,amenity=restaurant,yes,43.3456135,28.0715060,Therma beach,42.4869204,26.4846039,icon_legend_verified,native_osmand
|
||||
0x640a,2095,Danger,Опасност,,yes,43.1507993,25.3284001,Стълба,42.5652623,23.4620762,icon_legend_verified,custom_style_information
|
||||
0x10301,2006,,,,no,43.4377956,28.9283538,,42.2109532,27.8938365,extended_unverified,custom_style_information
|
||||
0x6502,1864,River Passage,Брод,,yes,42.7929711,25.2992177,Бент,42.1954823,23.7029600,icon_legend_verified,custom_style_information
|
||||
0x6613,1746,Waterfall,Водопад,waterway=waterfall,yes,42.7435327,24.6398234,Кастрак дере горен,42.0257735,24.5287156,icon_legend_verified,native_osmand
|
||||
0x6403,1729,Graveyard/Tombstone,"Гробище, оброк",,yes,43.0418801,23.5914874,Св. Мария Магдалена,41.7204952,24.8700428,icon_legend_verified,custom_style_information
|
||||
0x6401,1679,Bridge,Мост,man_made=bridge,yes,42.6645684,22.9691291,Зидан мост,41.3415956,22.8474855,icon_legend_verified,native_osmand
|
||||
0x2c0b,1606,Church,Църква,amenity=place_of_worship,yes,43.0217957,24.8099613,Рождество Богородично,41.6844034,25.7115483,icon_legend_verified,native_osmand
|
||||
0x2b00,1558,,,tourism=hotel,no,42.6465440,27.6449919,Sotirovi Holiday,41.6332698,24.7040462,not_on_legend,native_osmand
|
||||
0x6404,1507,Church,Църква,amenity=place_of_worship,yes,42.1896243,27.0861053,Св. Димитър,42.6495481,23.1854010,icon_legend_verified,native_osmand
|
||||
0x2f0b,1499,,,,no,43.7308860,23.9443588,автополигон,42.2151589,24.0181303,not_on_legend,custom_style_information
|
||||
0x661d,1412,,,,yes,41.1914778,24.0922236,Овчарник,42.7084708,25.3351378,not_on_legend,custom_style_information
|
||||
0x640c,1353,Mine Shaft,Мина,man_made=mine_shaft,yes,43.0497336,22.9328442,(Въгл.),41.5701199,24.6346951,icon_legend_verified,native_osmand
|
||||
0x2c08,1328,,,,yes,41.9112968,24.9703360,"Конна база ""Wild City""",42.6861334,23.3365059,not_on_legend,custom_style_information
|
||||
0x2f00,1269,,,,yes,42.9236698,24.2466116,индустриални сгради,42.8208017,23.1913233,not_on_legend,custom_style_information
|
||||
0x6409,1235,Monument,Паметник,historic=monument,yes,43.1282043,23.6027098,Перо Херцеговинеца,42.4960184,22.8770757,icon_legend_verified,native_osmand
|
||||
0x661c,1169,,,,yes,41.8346500,26.4578676,Койчовата могила,43.6355710,28.5723281,not_on_legend,custom_style_information
|
||||
0x640b,1128,Chapel,Параклис,amenity=place_of_worship,yes,41.9598985,24.3688774,Параклис,41.9762921,24.8116350,icon_legend_verified,native_osmand
|
||||
0x661e,979,,,amenity=shelter,yes,41.4122772,24.8197031,Навес с барбекю,41.3865280,24.7667241,not_on_legend,native_osmand
|
||||
0x640e,977,Bus Stop/Station,Спирка,highway=bus_stop,yes,43.3513427,25.1430917,Левски,42.3796749,22.7069807,icon_legend_verified,native_osmand
|
||||
0x6615,942,Cave,Пещера,natural=cave_entrance,yes,41.8003178,23.3853436,Дупка,43.2577872,24.0077662,icon_legend_verified,native_osmand
|
||||
0x6602,891,Viewpoint,Гледка,tourism=viewpoint,yes,41.7438412,23.4641790,Кьошка (Балконе)-панорама,42.8009748,27.1023059,icon_legend_verified,native_osmand
|
||||
0x6411,875,Tower,Кула,man_made=tower,yes,41.7411375,24.8182654,GSM клетка,42.1343064,24.8024940,icon_legend_verified,native_osmand
|
||||
0x6406,854,Barrier/Gate,Бариера,barrier=gate,yes,41.5502286,24.7455668,Военен обект!,41.2806129,25.2994323,icon_legend_verified,native_osmand
|
||||
0x3003,841,,,,no,43.2501698,27.7748966,Кметство,41.8338132,24.8308182,not_on_legend,custom_style_information
|
||||
0x2f01,778,,,,no,41.5430832,23.2712317,Газостанция,43.7991214,26.1920500,not_on_legend,custom_style_information
|
||||
0x6503,760,Crossroad,Кръстопът,,yes,43.4149003,28.4942007,на запад Черноморски път,41.5363026,23.6495304,icon_legend_verified,custom_style_information
|
||||
0x3002,564,,,,no,42.5638032,27.6036644,First Aid,42.4966407,24.7085094,not_on_legend,custom_style_information
|
||||
0x2c02,538,,,,yes,42.3479176,25.0754786,Детска градина,43.5124254,26.7439628,not_on_legend,custom_style_information
|
||||
0x2a0e,525,,,,yes,42.0046806,24.8740768,Pandora,42.6043367,23.0305839,not_on_legend,custom_style_information
|
||||
0x2e03,502,,,,no,43.2763910,27.9675651,магазин,42.1473527,24.7843194,not_on_legend,custom_style_information
|
||||
0x2e05,487,Pharmacy,Аптека,amenity=pharmacy,yes,42.7442837,25.3431416,Аптечка,42.6866698,23.3093405,icon_legend_verified,native_osmand
|
||||
0x2f05,486,,,amenity=post_office,no,42.0306015,23.8108063,Поща,43.7494254,27.4069619,not_on_legend,native_osmand
|
||||
0x2e02,477,,,,no,41.6551137,25.5503798,Хранителни стоки,41.6634393,24.3756366,not_on_legend,custom_style_information
|
||||
0x2c03,474,,,,yes,43.2219315,25.7480693,читалище Съединение,43.7368727,26.1066914,not_on_legend,custom_style_information
|
||||
0x6400,465,Quarry,Кариера,landuse=quarry,yes,40.8776808,23.9436078,(Кам.),42.0491624,26.4963627,icon_legend_verified,native_osmand
|
||||
0x2d02,434,,,,no,42.1507859,24.7315550,Casa de Cuba,42.0225549,23.9974666,not_on_legend,custom_style_information
|
||||
0x6506,424,Museum,Музей,tourism=museum,yes,42.1463013,24.7487855,Градска художествена галерия,42.4936581,27.4754548,icon_legend_verified,native_osmand
|
||||
0x661a,384,Antiquity site,Античен обект,historic=archaeological_site,yes,41.7153454,26.0307527,Тракийска крепост Курт кале,43.2776999,27.1080351,icon_legend_verified,native_osmand
|
||||
0x6609,372,Hut,Хижа,tourism=alpine_hut,yes,43.2779145,27.1159101,Хижа Мадарски конник,41.8324399,24.7721529,icon_legend_verified,native_osmand
|
||||
0x2e06,348,,,,no,43.4717417,23.9467192,Trayкov Shop,42.6665640,25.4079223,not_on_legend,custom_style_information
|
||||
0x2d09,337,,,leisure=swimming_pool,yes,41.8625021,23.5053134,Минерален басейн Пирин,42.2918701,23.2552886,not_on_legend,native_osmand
|
||||
0x2f06,320,,,,no,42.3073840,23.8596869,Банка ДСК,43.2122111,27.9121184,not_on_legend,custom_style_information
|
||||
0x2f0c,320,Mosque,Джамия,amenity=place_of_worship;religion=muslim,yes,44.0549612,26.7991304,Джамия,41.4958334,24.6339655,icon_legend_verified,native_osmand
|
||||
0x661b,319,Medieval site,Средновековен обект,historic=archaeological_site,yes,42.0922279,24.2505813,"Средновековен манастир ""Св. Седмочиленици""",42.2452426,24.0083671,icon_legend_verified,native_osmand
|
||||
0x6418,305,,,,yes,42.7693677,26.3003898,Ветрогенератор,42.7765560,26.3197017,not_on_legend,custom_style_information
|
||||
0x900,283,Town,Град <75 000,place=town,yes,42.0570374,24.5459247,Перущица,40.8942676,26.1739397,icon_legend_verified,native_osmand
|
||||
0x660a,275,Refuge,Заслон,amenity=shelter;shelter_type=basic_hut,yes,42.8157377,23.8160634,Заслон,42.7268600,26.3467383,icon_legend_verified,native_osmand
|
||||
0x6415,264,Camp Site,Място за бивакуване,tourism=camp_site,yes,41.7506647,25.1023221,Бивак,43.2923126,27.1431398,icon_legend_verified,native_osmand
|
||||
0x6405,260,Hunting Lodge,Ловна хижа,,yes,42.7514720,27.2207522,заслон Зайчар,41.6350079,25.5436206,icon_legend_verified,custom_style_information
|
||||
0x1040d,229,,,,no,41.9180989,28.0489111,,42.8007388,27.8943729,extended_unverified,custom_style_information
|
||||
0x2a07,227,,,,no,43.8551474,25.9693837,Тирол,42.7743888,26.8785238,not_on_legend,custom_style_information
|
||||
0x6619,195,Prehistoric site,Праисторически обект,historic=archaeological_site,yes,42.5703692,25.3767228,Бащин камък (Слънчева врата),41.9394493,26.1900759,icon_legend_verified,native_osmand
|
||||
0x3001,170,,,,yes,43.3623934,25.1447439,полиция,43.1404138,24.7057414,not_on_legend,custom_style_information
|
||||
0x6601,165,Natural Phenomenon,Природен феномен,,yes,42.9589677,25.2119064,"скален феномен ""Момичките""",42.5682020,25.5528045,icon_legend_verified,custom_style_information
|
||||
0x2e0a,159,,,,no,43.8517356,25.9867859,Автокъщи,43.2120609,27.9186201,not_on_legend,custom_style_information
|
||||
0x10401,157,,,,no,42.6565218,27.7297497,,43.2037354,27.8479171,extended_unverified,custom_style_information
|
||||
0x640d,137,Lift,Лифт,,yes,42.6056242,23.2995987,Драгалевски междинна,42.5832009,23.2924747,icon_legend_verified,custom_style_information
|
||||
0x3007,132,,,,no,43.2023406,25.7318473,Помпена ст.,42.6586461,27.7180338,not_on_legend,custom_style_information
|
||||
0x2f08,123,,,,yes,42.6397204,23.3731771,Акад. Александър Теодоров - Балан,42.7053809,23.3233523,not_on_legend,custom_style_information
|
||||
0xe00,114,,,,no,43.9952660,22.8717756,жк. Крум Бъчваров,43.9941502,22.8833628,not_on_legend,custom_style_information
|
||||
0x6419,113,,,,yes,42.5478601,26.7053819,Фотоволтаична ценрала,42.4148440,25.6047320,not_on_legend,custom_style_information
|
||||
0x6617,112,Peak,Връх,natural=peak,yes,41.7893529,22.9647946,Огреяк (Кадийца) (1924),41.9179702,24.9033022,icon_legend_verified,native_osmand
|
||||
0x2f03,106,,,,no,41.3775158,25.0830102,"Автосервиз ""Профиров""",43.8112664,25.9830523,not_on_legend,custom_style_information
|
||||
0x2e07,105,Clothes shop,Магазин за дрехи,shop=clothes,yes,43.0698609,25.6080151,"Кооперативен пазар ""Бузлуджа""",42.1253800,24.7373700,icon_legend_verified,native_osmand
|
||||
0x4700,101,Port,Пристанище,industrial=port,yes,41.6431189,25.2845192,Пристан,42.0604706,27.9666424,icon_legend_verified,native_osmand
|
||||
|
Binary file not shown.
|
After Width: | Height: | Size: 290 KiB |
@@ -0,0 +1,627 @@
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<renderingStyle name="BGMountains outdoor v0.9" depends="default" defaultColor="#fff8ee" version="1">
|
||||
<order>
|
||||
<case tag="bgm_poi" value="type_0x200" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x800" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x900" minzoom="15" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0xd00" minzoom="16" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0xe00" minzoom="15" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1100" minzoom="16" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x2800" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x2a07" minzoom="15" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x2a0e" minzoom="15" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x2b00" minzoom="16" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x2c01" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x2c02" minzoom="15" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x2c03" minzoom="15" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x2c05" minzoom="16" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x2c06" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x2c07" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x2c08" minzoom="16" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x2c0b" minzoom="16" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x2d01" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x2d02" minzoom="15" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x2d03" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x2d09" minzoom="15" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x2e02" minzoom="15" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x2e03" minzoom="15" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x2e04" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x2e05" minzoom="15" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x2e06" minzoom="15" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x2e07" minzoom="15" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x2e08" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x2e09" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x2e0a" minzoom="15" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x2e0b" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x2f00" minzoom="16" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x2f01" minzoom="15" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x2f03" minzoom="15" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x2f05" minzoom="15" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x2f06" minzoom="15" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x2f08" minzoom="15" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x2f0b" minzoom="16" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x2f0c" minzoom="15" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x3001" minzoom="15" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x3002" minzoom="15" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x3003" minzoom="15" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x3006" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x3007" minzoom="15" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x4700" minzoom="15" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x4e00" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x6400" minzoom="15" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x6401" minzoom="16" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x6402" minzoom="16" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x6403" minzoom="16" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x6404" minzoom="16" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x6405" minzoom="15" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x6406" minzoom="15" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x6407" minzoom="16" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x6408" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x6409" minzoom="16" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x640a" minzoom="16" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x640b" minzoom="16" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x640c" minzoom="16" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x640d" minzoom="15" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x640e" minzoom="15" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x640f" minzoom="16" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x6410" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x6411" minzoom="15" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x6413" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x6414" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x6415" minzoom="15" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x6416" minzoom="16" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x6417" minzoom="16" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x6418" minzoom="15" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x6419" minzoom="15" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x641c" minzoom="16" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x641d" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x641e" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x641f" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x6500" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x6501" minzoom="16" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x6502" minzoom="16" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x6503" minzoom="15" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x6506" minzoom="15" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x650b" minzoom="16" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x6511" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x6600" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x6601" minzoom="15" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x6602" minzoom="15" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x6603" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x6604" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x6608" minzoom="16" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x6609" minzoom="15" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x660a" minzoom="15" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x660b" minzoom="16" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x660c" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x660d" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x660e" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x660f" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x6610" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x6613" minzoom="16" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x6614" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x6615" minzoom="15" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x6616" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x6617" minzoom="15" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x6618" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x6619" minzoom="15" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x661a" minzoom="15" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x661b" minzoom="15" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x661c" minzoom="16" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x661d" minzoom="16" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x661e" minzoom="15" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x10000" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x10018" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x10100" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x10118" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1011e" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x10204" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x10205" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x10209" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1020a" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1020b" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1020c" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x10218" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x10301" minzoom="16" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x10401" minzoom="15" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x10402" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x10403" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1040d" minzoom="15" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1040e" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1041e" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x10501" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x10602" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1061d" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x10701" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x10705" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x10706" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x10801" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x10903" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x10a01" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x10b01" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x10b09" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x10c00" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x10d01" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1161f" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1171e" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1181f" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x11901" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x11902" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x11a02" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1201f" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x12102" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x12502" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x12a03" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x12c1e" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x12d01" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x12e1f" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x13001" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1321f" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1331f" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x13400" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x13a01" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x13c03" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x13d1e" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1411e" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x14400" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x14401" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1441c" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x14501" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x14602" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1461c" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1461f" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1471f" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x14803" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1481f" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x14a1e" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x14b01" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x14c01" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x14d1f" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x14e1e" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x15200" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x15303" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1541d" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x15501" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x15800" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x15a00" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x15e01" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x16103" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x16201" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x16701" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1681c" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1681d" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x16a00" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x16b1c" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x16e1f" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x17000" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1711d" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x17303" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1731e" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1751f" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1771e" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1791e" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x17d1e" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x17e03" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x18003" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1811e" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x18302" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1861d" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1861f" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x18901" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x18a1f" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x18c1e" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x18d01" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x19001" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1921f" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x19a00" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x19d03" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1a11f" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1a401" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1a501" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1a51c" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1a800" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1a81c" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1a91c" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1a91f" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1ab1f" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1b101" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1b31f" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1b402" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1b41c" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1b703" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1ba03" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1be1c" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1c11e" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1c31d" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1c500" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1c71f" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1c81e" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1cb1f" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1ce02" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1d501" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1d51e" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1d61f" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1d71c" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1d800" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1da01" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1da1e" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1db01" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1db1e" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1db1f" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1dc01" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1de1f" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1e101" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1e21f" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1ea00" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1ec1d" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1f401" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1f501" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1fb01" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1ff00" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1ff11" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_poi" value="type_0x1ff18" minzoom="17" point="true" objectType="1" order="120" />
|
||||
<case tag="bgm_route" value="type_0x10e1f" minzoom="15" objectType="2" order="125" />
|
||||
<case tag="bgm_route" value="type_0x10f12" minzoom="15" objectType="2" order="125" />
|
||||
<case tag="bgm_route" value="type_0x10f16" minzoom="15" objectType="2" order="125" />
|
||||
<case tag="bgm_route" value="type_0x10e0b" minzoom="15" objectType="2" order="125" />
|
||||
<case tag="bgm_route" value="type_0x10f17" minzoom="13" objectType="2" order="125" />
|
||||
<case tag="bgm_route" value="type_0x10e13" minzoom="15" objectType="2" order="125" />
|
||||
<case tag="bgm_route" value="type_0x10e12" minzoom="15" objectType="2" order="125" />
|
||||
<case tag="bgm_route" value="type_0x10f14" minzoom="15" objectType="2" order="125" />
|
||||
<case tag="bgm_route" value="type_0x10f11" minzoom="15" objectType="2" order="125" />
|
||||
<case tag="bgm_route" value="type_0x10f0a" minzoom="13" objectType="2" order="125" />
|
||||
<case tag="bgm_route" value="type_0x10e0a" minzoom="13" objectType="2" order="125" />
|
||||
<case tag="bgm_route" value="type_0x10f00" minzoom="15" objectType="2" order="125" />
|
||||
<case tag="bgm_route" value="type_0x10f0f" minzoom="13" objectType="2" order="125" />
|
||||
<case tag="bgm_route" value="type_0x10e11" minzoom="15" objectType="2" order="125" />
|
||||
<case tag="bgm_route" value="type_0x10e05" minzoom="13" objectType="2" order="125" />
|
||||
<case tag="bgm_route" value="type_0x10e0c" minzoom="15" objectType="2" order="125" />
|
||||
<case tag="bgm_route" value="type_0x10e1c" minzoom="15" objectType="2" order="125" />
|
||||
<case tag="bgm_route" value="type_0x10f13" minzoom="15" objectType="2" order="125" />
|
||||
<case tag="bgm_route" value="type_0x10e19" minzoom="13" objectType="2" order="125" />
|
||||
<case tag="bgm_route" value="type_0x10e09" minzoom="13" objectType="2" order="125" />
|
||||
<case tag="bgm_route" value="type_0x10e04" minzoom="13" objectType="2" order="125" />
|
||||
<case tag="bgm_route" value="type_0x10e16" minzoom="15" objectType="2" order="125" />
|
||||
<case tag="bgm_route" value="type_0x10504" minzoom="13" objectType="2" order="125" />
|
||||
<case tag="bgm_route" value="type_0x10f0e" minzoom="13" objectType="2" order="125" />
|
||||
<case tag="bgm_route" value="type_0x10401" minzoom="13" objectType="2" order="125" />
|
||||
<case tag="bgm_route" value="type_0x10e1b" minzoom="13" objectType="2" order="125" />
|
||||
<case tag="bgm_route" value="type_0x10602" minzoom="13" objectType="2" order="125" />
|
||||
<case tag="bgm_route" value="type_0x10e1d" minzoom="15" objectType="2" order="125" />
|
||||
<case tag="bgm_route" value="type_0x10e18" minzoom="13" objectType="2" order="125" />
|
||||
<case tag="bgm_route" value="type_0x10e0d" minzoom="15" objectType="2" order="125" />
|
||||
<case tag="bgm_route" value="type_0x10108" minzoom="13" objectType="2" order="125" />
|
||||
<case tag="bgm_route" value="type_0x10e1a" minzoom="15" objectType="2" order="125" />
|
||||
<case tag="bgm_route" value="type_0x10e03" minzoom="13" objectType="2" order="125" />
|
||||
<case tag="bgm_route" value="type_0x10e15" minzoom="15" objectType="2" order="125" />
|
||||
<case tag="bgm_route" value="type_0x10f05" minzoom="13" objectType="2" order="125" />
|
||||
<case tag="bgm_route" value="type_0x10e1e" minzoom="15" objectType="2" order="125" />
|
||||
<case tag="bgm_route" value="type_0x10e08" minzoom="13" objectType="2" order="125" />
|
||||
<case tag="bgm_route" value="type_0x10e17" minzoom="13" objectType="2" order="125" />
|
||||
<case tag="bgm_route" value="type_0x10e14" minzoom="15" objectType="2" order="125" />
|
||||
<case tag="bgm_route" value="type_0x10f15" minzoom="15" objectType="2" order="125" />
|
||||
<case tag="bgm_route" value="type_0x10f04" minzoom="13" objectType="2" order="125" />
|
||||
<case tag="bgm_route" value="type_0x10606" minzoom="13" objectType="2" order="125" />
|
||||
<case tag="bgm_route" value="type_0x10e02" minzoom="13" objectType="2" order="125" />
|
||||
<case tag="bgm_route" value="type_0x10e0e" minzoom="15" objectType="2" order="125" />
|
||||
<case tag="bgm_route" value="type_0x10402" minzoom="13" objectType="2" order="125" />
|
||||
<case tag="bgm_route" value="type_0x10f03" minzoom="13" objectType="2" order="125" />
|
||||
<case tag="bgm_route" value="type_0x10f01" minzoom="13" objectType="2" order="125" />
|
||||
<case tag="bgm_route" value="type_0x10e0f" minzoom="15" objectType="2" order="125" />
|
||||
<case tag="bgm_route" value="type_0x10503" minzoom="13" objectType="2" order="125" />
|
||||
<case tag="bgm_route" value="type_0x10403" minzoom="13" objectType="2" order="125" />
|
||||
</order>
|
||||
<point>
|
||||
<case tag="bgm_poi" value="type_0x200" minzoom="17" icon="place_city" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x800" minzoom="17" icon="place_city" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x900" minzoom="15" icon="mountain" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0xd00" minzoom="16" icon="mountain" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0xe00" minzoom="15" icon="mountain" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1100" minzoom="16" icon="mountain" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x2800" minzoom="17" icon="neighbourhood" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x2a07" minzoom="15" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x2a0e" minzoom="15" icon="shop_general" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x2b00" minzoom="16" icon="tourism_hotel" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x2c01" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x2c02" minzoom="15" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x2c03" minzoom="15" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x2c05" minzoom="16" icon="amenity_school" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x2c06" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x2c07" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x2c08" minzoom="16" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x2c0b" minzoom="16" icon="building_type_church" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x2d01" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x2d02" minzoom="15" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x2d03" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x2d09" minzoom="15" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x2e02" minzoom="15" icon="shop_general" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x2e03" minzoom="15" icon="shop_general" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x2e04" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x2e05" minzoom="15" icon="amenity_pharmacy" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x2e06" minzoom="15" icon="shop_general" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x2e07" minzoom="15" icon="shop_general" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x2e08" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x2e09" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x2e0a" minzoom="15" icon="shop_general" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x2e0b" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x2f00" minzoom="16" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x2f01" minzoom="15" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x2f03" minzoom="15" icon="shop_general" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x2f05" minzoom="15" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x2f06" minzoom="15" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x2f08" minzoom="15" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x2f0b" minzoom="16" icon="building_type_church" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x2f0c" minzoom="15" icon="building_type_mosque" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x3001" minzoom="15" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x3002" minzoom="15" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x3003" minzoom="15" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x3006" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x3007" minzoom="15" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x4700" minzoom="15" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x4e00" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x6400" minzoom="15" icon="natural_stone" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x6401" minzoom="16" icon="bridge" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x6402" minzoom="16" icon="building" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x6403" minzoom="16" icon="grave_yard" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x6404" minzoom="16" icon="building_type_church" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x6405" minzoom="15" icon="tourism_alpine_hut" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x6406" minzoom="15" icon="barrier_gate" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x6407" minzoom="16" icon="tourism_picnic_site" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x6408" minzoom="17" icon="mountain_rescue" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x6409" minzoom="16" icon="monument" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x640a" minzoom="16" icon="danger" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x640b" minzoom="16" icon="building_type_chapel" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x640c" minzoom="16" icon="natural_cave_entrance" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x640d" minzoom="15" icon="aerialway_station" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x640e" minzoom="15" icon="highway_bus_stop" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x640f" minzoom="16" icon="grave_yard" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x6410" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x6411" minzoom="15" icon="man_made_tower" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x6413" minzoom="17" icon="natural_cave_entrance" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x6414" minzoom="17" icon="amenity_drinking_water" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x6415" minzoom="15" icon="tourism_camp_site" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x6416" minzoom="16" icon="historic_ruins" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x6417" minzoom="16" icon="man_made_water_well" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x6418" minzoom="15" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x6419" minzoom="15" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x641c" minzoom="16" icon="highway_bus_stop" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x641d" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x641e" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x641f" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x6500" minzoom="17" icon="reservoir" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x6501" minzoom="16" icon="amenity_restaurant" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x6502" minzoom="16" icon="water_tap" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x6503" minzoom="15" icon="information_guidepost" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x6506" minzoom="15" icon="tourism_museum" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x650b" minzoom="16" icon="barrier_small_red_bold_1" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x6511" minzoom="17" icon="natural_spring" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x6600" minzoom="17" icon="barrier_small_black_1" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x6601" minzoom="15" icon="natural_stone" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x6602" minzoom="15" icon="tourism_viewpoint" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x6603" minzoom="17" icon="mountain" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x6604" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x6608" minzoom="16" icon="tourism_hotel" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x6609" minzoom="15" icon="tourism_alpine_hut" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x660a" minzoom="15" icon="amenity_shelter" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x660b" minzoom="16" icon="checkpoint_hiking" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x660c" minzoom="17" icon="natural_saddle" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x660d" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x660e" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x660f" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x6610" minzoom="17" icon="grass" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x6613" minzoom="16" icon="waterfall" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x6614" minzoom="17" icon="natural_stone" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x6615" minzoom="15" icon="natural_cave_entrance" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x6616" minzoom="17" icon="natural_peak" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x6617" minzoom="15" icon="natural_peak" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x6618" minzoom="17" icon="natural_tree" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x6619" minzoom="15" icon="historic_archaeological_site" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x661a" minzoom="15" icon="historic_archaeological_site" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x661b" minzoom="15" icon="historic_archaeological_site" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x661c" minzoom="16" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x661d" minzoom="16" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x661e" minzoom="15" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x10000" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x10018" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x10100" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x10118" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1011e" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x10204" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x10205" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x10209" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1020a" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1020b" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1020c" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x10218" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x10301" minzoom="16" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x10401" minzoom="15" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x10402" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x10403" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1040d" minzoom="15" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1040e" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1041e" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x10501" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x10602" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1061d" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x10701" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x10705" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x10706" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x10801" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x10903" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x10a01" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x10b01" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x10b09" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x10c00" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x10d01" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1161f" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1171e" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1181f" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x11901" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x11902" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x11a02" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1201f" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x12102" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x12502" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x12a03" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x12c1e" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x12d01" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x12e1f" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x13001" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1321f" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1331f" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x13400" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x13a01" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x13c03" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x13d1e" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1411e" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x14400" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x14401" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1441c" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x14501" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x14602" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1461c" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1461f" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1471f" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x14803" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1481f" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x14a1e" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x14b01" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x14c01" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x14d1f" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x14e1e" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x15200" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x15303" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1541d" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x15501" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x15800" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x15a00" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x15e01" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x16103" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x16201" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x16701" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1681c" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1681d" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x16a00" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x16b1c" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x16e1f" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x17000" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1711d" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x17303" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1731e" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1751f" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1771e" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1791e" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x17d1e" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x17e03" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x18003" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1811e" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x18302" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1861d" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1861f" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x18901" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x18a1f" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x18c1e" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x18d01" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x19001" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1921f" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x19a00" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x19d03" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1a11f" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1a401" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1a501" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1a51c" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1a800" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1a81c" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1a91c" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1a91f" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1ab1f" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1b101" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1b31f" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1b402" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1b41c" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1b703" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1ba03" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1be1c" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1c11e" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1c31d" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1c500" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1c71f" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1c81e" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1cb1f" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1ce02" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1d501" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1d51e" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1d61f" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1d71c" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1d800" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1da01" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1da1e" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1db01" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1db1e" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1db1f" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1dc01" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1de1f" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1e101" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1e21f" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1ea00" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1ec1d" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1f401" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1f501" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1fb01" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1ff00" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1ff11" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
<case tag="bgm_poi" value="type_0x1ff18" minzoom="17" icon="tourism_information" iconOrder="11" iconVisibleSize="16" intersectionSizeFactor="0.7" />
|
||||
</point>
|
||||
<line>
|
||||
<case tag="bgm_route" value="type_0x10e1f" minzoom="15" color="#000000" strokeWidth="1.2" cap="ROUND" />
|
||||
<case tag="bgm_route" value="type_0x10f12" minzoom="15" color="#e6e6e6" strokeWidth="1.2" cap="ROUND" />
|
||||
<case tag="bgm_route" value="type_0x10f16" minzoom="15" color="#e6e6e6" strokeWidth="1.2" cap="ROUND" />
|
||||
<case tag="bgm_route" value="type_0x10e0b" minzoom="15" color="#000000" strokeWidth="1.2" cap="ROUND" />
|
||||
<case tag="bgm_route" value="type_0x10f17" minzoom="13" color="#ff3041" strokeWidth="3.4" cap="ROUND" />
|
||||
<case tag="bgm_route" value="type_0x10e13" minzoom="15" color="#000000" strokeWidth="1.2" cap="ROUND" />
|
||||
<case tag="bgm_route" value="type_0x10e12" minzoom="15" color="#000000" strokeWidth="1.2" cap="ROUND" />
|
||||
<case tag="bgm_route" value="type_0x10f14" minzoom="15" color="#000000" strokeWidth="1.2" cap="ROUND" />
|
||||
<case tag="bgm_route" value="type_0x10f11" minzoom="15" color="#000000" strokeWidth="1.2" cap="ROUND" />
|
||||
<case tag="bgm_route" value="type_0x10f0a" minzoom="13" color="#ff0000" strokeWidth="3.4" cap="ROUND" />
|
||||
<case tag="bgm_route" value="type_0x10e0a" minzoom="13" color="#0030ff" strokeWidth="3.4" cap="ROUND" />
|
||||
<case tag="bgm_route" value="type_0x10f00" minzoom="15" color="#000000" strokeWidth="1.2" cap="ROUND" />
|
||||
<case tag="bgm_route" value="type_0x10f0f" minzoom="13" color="#399500" strokeWidth="3.4" cap="ROUND" />
|
||||
<case tag="bgm_route" value="type_0x10e11" minzoom="15" color="#000000" strokeWidth="1.2" cap="ROUND" />
|
||||
<case tag="bgm_route" value="type_0x10e05" minzoom="13" color="#ffff00" strokeWidth="3.4" cap="ROUND" />
|
||||
<case tag="bgm_route" value="type_0x10e0c" minzoom="15" color="#000000" strokeWidth="1.2" cap="ROUND" />
|
||||
<case tag="bgm_route" value="type_0x10e1c" minzoom="15" color="#ffffff" strokeWidth="1.2" cap="ROUND" />
|
||||
<case tag="bgm_route" value="type_0x10f13" minzoom="15" color="#000000" strokeWidth="1.2" cap="ROUND" />
|
||||
<case tag="bgm_route" value="type_0x10e19" minzoom="13" color="#525252" strokeWidth="3.4" cap="ROUND" />
|
||||
<case tag="bgm_route" value="type_0x10e09" minzoom="13" color="#0030ff" strokeWidth="3.4" cap="ROUND" />
|
||||
<case tag="bgm_route" value="type_0x10e04" minzoom="13" color="#ffff00" strokeWidth="3.4" cap="ROUND" />
|
||||
<case tag="bgm_route" value="type_0x10e16" minzoom="15" color="#000000" strokeWidth="1.2" cap="ROUND" />
|
||||
<case tag="bgm_route" value="type_0x10504" minzoom="13" color="#bd3041" strokeWidth="3.4" cap="ROUND" />
|
||||
<case tag="bgm_route" value="type_0x10f0e" minzoom="13" color="#399500" strokeWidth="3.4" cap="ROUND" />
|
||||
<case tag="bgm_route" value="type_0x10401" minzoom="13" color="#bd3041" strokeWidth="3.4" cap="ROUND" />
|
||||
<case tag="bgm_route" value="type_0x10e1b" minzoom="13" color="#ff0000" strokeWidth="3.4" cap="ROUND" />
|
||||
<case tag="bgm_route" value="type_0x10602" minzoom="13" color="#777777" strokeWidth="3.4" cap="ROUND" />
|
||||
<case tag="bgm_route" value="type_0x10e1d" minzoom="15" color="#ffffff" strokeWidth="1.2" cap="ROUND" />
|
||||
<case tag="bgm_route" value="type_0x10e18" minzoom="13" color="#414141" strokeWidth="3.4" cap="ROUND" />
|
||||
<case tag="bgm_route" value="type_0x10e0d" minzoom="15" color="#000000" strokeWidth="1.2" cap="ROUND" />
|
||||
<case tag="bgm_route" value="type_0x10108" minzoom="13" color="#bd3041" strokeWidth="3.4" cap="ROUND" />
|
||||
<case tag="bgm_route" value="type_0x10e1a" minzoom="15" color="#ffffff" strokeWidth="1.2" cap="ROUND" />
|
||||
<case tag="bgm_route" value="type_0x10e03" minzoom="13" color="#ffff00" strokeWidth="3.4" cap="ROUND" />
|
||||
<case tag="bgm_route" value="type_0x10e15" minzoom="15" color="#000000" strokeWidth="1.2" cap="ROUND" />
|
||||
<case tag="bgm_route" value="type_0x10f05" minzoom="13" color="#7b3000" strokeWidth="3.4" cap="ROUND" />
|
||||
<case tag="bgm_route" value="type_0x10e1e" minzoom="15" color="#000000" strokeWidth="1.2" cap="ROUND" />
|
||||
<case tag="bgm_route" value="type_0x10e08" minzoom="13" color="#0030ff" strokeWidth="3.4" cap="ROUND" />
|
||||
<case tag="bgm_route" value="type_0x10e17" minzoom="13" color="#ff0000" strokeWidth="3.4" cap="ROUND" />
|
||||
<case tag="bgm_route" value="type_0x10e14" minzoom="15" color="#000000" strokeWidth="1.2" cap="ROUND" />
|
||||
<case tag="bgm_route" value="type_0x10f15" minzoom="15" color="#000000" strokeWidth="1.2" cap="ROUND" />
|
||||
<case tag="bgm_route" value="type_0x10f04" minzoom="13" color="#7b3000" strokeWidth="3.4" cap="ROUND" />
|
||||
<case tag="bgm_route" value="type_0x10606" minzoom="13" color="#bd3041" strokeWidth="3.4" cap="ROUND" />
|
||||
<case tag="bgm_route" value="type_0x10e02" minzoom="13" color="#ffff00" strokeWidth="3.4" cap="ROUND" />
|
||||
<case tag="bgm_route" value="type_0x10e0e" minzoom="15" color="#000000" strokeWidth="1.2" cap="ROUND" />
|
||||
<case tag="bgm_route" value="type_0x10402" minzoom="13" color="#bd3041" strokeWidth="3.4" cap="ROUND" />
|
||||
<case tag="bgm_route" value="type_0x10f03" minzoom="13" color="#7b3000" strokeWidth="3.4" cap="ROUND" />
|
||||
<case tag="bgm_route" value="type_0x10f01" minzoom="13" color="#7b3000" strokeWidth="3.4" cap="ROUND" />
|
||||
<case tag="bgm_route" value="type_0x10e0f" minzoom="15" color="#000000" strokeWidth="1.2" cap="ROUND" />
|
||||
<case tag="bgm_route" value="type_0x10503" minzoom="13" color="#bd3041" strokeWidth="3.4" cap="ROUND" />
|
||||
<case tag="bgm_route" value="type_0x10403" minzoom="13" color="#bd3041" strokeWidth="3.4" cap="ROUND" />
|
||||
</line>
|
||||
</renderingStyle>
|
||||
Binary file not shown.
@@ -0,0 +1,264 @@
|
||||
code,kind,count,named,default_tags,has_typ_icon,configured_rules,example1_lat,example1_lon,example1_name,example1_map,example2_lat,example2_lon,example2_name,example2_map,example3_lat,example3_lon,example3_name,example3_map,example4_lat,example4_lon,example4_name,example4_map,example5_lat,example5_lon,example5_name,example5_map,verified_legend_en,verified_legend_bg,reviewed_tags,review_status,original_v05_count,suppressed_out_of_bounds,qa_note
|
||||
0x200,classic,2,2,place=city;capital=yes,yes,1,41.0612941,28.8116670,Истанбул,02235106,42.6954675,23.3326221,София,02234047,,,,,,,,,,,,,Capital City,Столица,place=city;capital=yes,icon_legend_verified,2,0,
|
||||
0x800,classic,51,51,place=city,yes,1,43.9025259,22.2788572,Зайчар,02234009,43.3169031,21.8945074,Ниш,02234032,42.4246931,25.6255674,Стара Загора,02235052,41.4337349,22.0119452,Кавадарци,02234093,44.0004802,22.8833199,Видин,02334142,Large City,Град >75 000,place=city,icon_legend_verified,51,0,
|
||||
0x900,classic,283,283,place=town,yes,1,42.0570374,24.5459247,Перущица,02235062,40.8942676,26.1739397,Ферес,02235113,41.3800907,25.0934172,Златоград,02235087,43.3485103,26.2265968,Попово,02235017,42.5014901,22.4737144,Босилеград,02234057,Town,Град <75 000,place=town,icon_legend_verified,283,0,
|
||||
0xd00,classic,6610,6609,,no,0,41.6287208,23.7694144,Балдево,02234096,43.4385252,26.5020704,Островче,02235018,43.5053658,27.2674227,Красен дол,02235019,41.4777446,26.1179996,Свирачи,02235089,41.8935943,21.6824412,Катланово,02234080,,,,not_on_legend,6610,0,
|
||||
0xe00,classic,114,114,,no,0,43.9952660,22.8717756,жк. Крум Бъчваров,02234010,43.9941502,22.8833628,жк. Георги Бенковски,02234010,43.5925055,27.7798963,кв. Рилци,02235020,42.4790668,26.5254378,ж.к. Зорница,02235054,43.9818335,22.8724837,жк. Съединение,02234010,,,,not_on_legend,114,0,
|
||||
0x1100,classic,8430,8365,,no,0,42.5975990,22.5972247,Върбица,02234058,42.8741455,25.5907202,Никачковци,02235040,42.8163815,24.9374413,Събевци,02235038,42.8579235,23.5614038,Ябланица,02234048,41.4104962,25.3626037,Масларово,02235087,,,,not_on_legend,8430,0,
|
||||
0x2800,classic,54902,54877,place=locality,no,0,42.6277471,24.3122506,Големия поп,02235049,43.3119893,27.8330684,Ергеле канара,02235032,43.0442190,23.6579418,Крива ливада,02234036,43.0452704,24.5645070,Предела,02235026,43.0573511,23.3123660,Стагата,02234035,,,place=locality,not_on_legend,54902,0,
|
||||
0x2a07,classic,227,189,,no,0,43.8551474,25.9693837,Тирол,02235004,42.7743888,26.8785238,Градина,02235042,42.1325040,24.7447729,Християна,02235062,43.2045293,23.5502887,Врачански закуски,02234036,43.2052159,27.9204869,Иглика,02235032,,,,not_on_legend,227,0,
|
||||
0x2a0e,classic,525,402,,yes,0,42.0046806,24.8740768,Pandora,02235062,42.6043367,23.0305839,кафе аперитив Фаги,02234059,42.2405005,23.3257127,Чайна,02234071,43.2058167,27.9110670,кафе Лаве,02235032,43.0808902,25.6336141,Ethno,02235028,,,,not_on_legend,525,0,
|
||||
0x2b00,classic,1558,1543,tourism=hotel,no,0,42.6465440,27.6449919,Sotirovi Holiday,02235056,41.6332698,24.7040462,Райков ски лодж,02235086,42.0263743,25.3204179,"Къща за гости ""Румена Рая""",02235063,41.9040442,24.9232793,Вълчаница,02235074,41.5037298,24.7227788,При Тодьо,02235086,,,tourism=hotel,not_on_legend,1558,0,
|
||||
0x2c01,classic,20,19,,yes,0,42.0264173,23.9946342,Евроинс ЗАД,02234072,41.5756774,24.7103977,Виваком,02235086,41.5713859,23.7272716,Боб,02234096,42.0279408,23.9912653,Български имоти ЗПК,02234072,42.1722007,26.5705419,Speedy,02235066,,,,not_on_legend,20,0,
|
||||
0x2c02,classic,538,407,,yes,0,42.3479176,25.0754786,Детска градина,02235051,43.5124254,26.7439628,Детска градина,02235018,43.6164308,25.3320479,Детска градина,02235015,42.8888226,24.7073507,ЦДГ Осми март,02235038,42.7680588,27.5291634,"ЦДГ ""Детски Свят""",02235044,,,,not_on_legend,538,0,
|
||||
0x2c03,classic,474,382,,yes,0,43.2219315,25.7480693,читалище Съединение,02235028,43.7368727,26.1066914,Читалище Светлина,02235005,43.7377739,23.9583063,Читалище Надежда,02234012,43.3572435,25.1420832,читалище Г. Парцалев,02235015,42.5275397,26.9815207,Читалище,02235054,,,,not_on_legend,474,0,
|
||||
0x2c05,classic,2481,1266,amenity=school,yes,1,41.7214394,24.6845198,СУ Олимпийски Надежди,02235074,42.2714853,24.5394874,СОУ Христо Ботев,02235062,43.6715770,24.0032601,ОУ Никола Вапцаров,02235001,43.1828570,23.2802868,спортна зала,02234035,42.6716065,23.3553243,СПТУ,02234047,School,Училище,amenity=school,icon_legend_verified,2481,0,
|
||||
0x2c06,classic,57,57,,yes,0,43.2240987,27.9363871,ТУ,02235032,42.5036144,27.4689531,Бургаски свободен университет,02235055,43.2581306,28.0271101,Варненски Свободен Университет,02235033,42.1380186,24.7507596,"Пловдивски университет ""Паисий Хилендарски",02235062,42.9043579,23.7835979,Технически колеж към ТУ София,02234048,,,,not_on_legend,57,0,
|
||||
0x2c07,classic,20,20,,yes,0,43.1368518,24.7227359,Зоопарк Ловеч,02235026,41.7728090,24.9222708,Бивш мечкарник,02235074,42.8736520,25.3300309,зоопарк,02235039,41.9538689,25.5356598,Зоопарк Хасково,02235076,41.9400930,25.3459096,Терариум Минерални Бани,02235075,,,,not_on_legend,20,0,
|
||||
0x2c08,classic,1328,439,,yes,0,41.9112968,24.9703360,"Конна база ""Wild City""",02235074,42.6861334,23.3365059,Детска площадка,02234047,42.6117611,23.3377719,"маса,пейка",02234059,42.2672153,22.6730347,картинг-писта Пауталия,02234070,43.2625294,26.8879223,Детски кът,02235030,,,,not_on_legend,1328,0,
|
||||
0x2c0b,classic,1606,870,amenity=place_of_worship,yes,1,43.0217957,24.8099613,Рождество Богородично,02235026,41.6844034,25.7115483,Св. пророк Илия,02235076,42.9942441,24.8140812,Св. Архангел Михаил,02235038,43.3605909,26.4345217,Св. Богоявление,02235017,41.4341640,23.6815023,Св.Константин и Елена,02234096,Church,Църква,amenity=place_of_worship,icon_legend_verified,1606,0,
|
||||
0x2d01,classic,68,66,,no,0,42.8797030,25.3179932,ДОМ НА ХУМОРА И САТИРАТА,02235039,42.1501207,24.7398806,"Театър ""Хенд""",02235062,43.6235332,22.6850295,Летен театър,02234022,43.5674214,27.8259444,Драматичен театър „Йордан Йовков“,02235020,43.4091926,23.2249045,Кино 77,02234023,,,,not_on_legend,68,0,
|
||||
0x2d02,classic,434,402,,no,0,42.1507859,24.7315550,Casa de Cuba,02235062,42.0225549,23.9974666,Джойс,02234072,42.5059104,24.3208337,Централ,02235049,42.1510005,24.7478414,Петното на Роршах,02235062,42.5018334,27.4684811,Enoteca Wine & Friends,02235055,,,,not_on_legend,434,0,
|
||||
0x2d03,classic,57,53,,no,0,42.6922703,23.3241892,Ново кино,02234047,43.1063604,26.4211965,Лятно кино,02235029,42.6901674,23.3405399,Влайкова,02234047,43.3849025,24.6304893,Лятно Кино,02235014,42.6936650,23.3281803,Бежово нощно кино,02234047,,,,not_on_legend,57,0,
|
||||
0x2d09,classic,337,179,leisure=swimming_pool,yes,0,41.8625021,23.5053134,Минерален басейн Пирин,02234084,42.2918701,23.2552886,Минерален Kомплекс „Плажъ“,02234071,41.9386554,25.3458238,Обществена баня,02235075,42.1914482,24.3368411,Общински плувен комплекс,02235061,42.1469450,24.7190452,Плувен басейн Младост,02235062,,,leisure=swimming_pool,not_on_legend,337,0,
|
||||
0x2e02,classic,477,377,,no,0,41.6551137,25.5503798,Хранителни стоки,02235088,41.6634393,24.3756366,Хранителни стоки,02235085,42.8488040,23.2693863,Хранителни стоки,02234047,41.5987873,24.3786836,Минимаркет,02235085,41.6153526,25.0046682,Хранителни стоки,02235087,,,,not_on_legend,477,0,
|
||||
0x2e03,classic,502,416,,no,0,43.2763910,27.9675651,магазин,02235032,42.1473527,24.7843194,Кауфланд,02235062,42.1961260,24.3348241,Billa,02235061,43.2198501,25.7398939,Dida,02235028,41.7236495,24.6849918,Супермаркет,02235074,,,,not_on_legend,502,0,
|
||||
0x2e04,classic,66,60,,no,0,42.5185919,27.4564004,Престиж,02235055,42.5308013,27.4573231,МОЛ Бургас Плаза,02235055,42.8847456,24.7138953,пазар,02235038,42.0116758,24.8763728,Пазар Асеница,02235062,43.2198501,27.8895450,Мол Варна,02235032,,,,not_on_legend,66,0,
|
||||
0x2e05,classic,487,363,amenity=pharmacy,yes,1,42.7442837,25.3431416,Аптечка,02235039,42.6866698,23.3093405,Дарвин-Дарвин Иванов,02234047,42.6969695,23.2874107,Аглика,02234047,41.8386197,23.4886193,аптека,02234083,41.9901538,24.0886831,Аптека,02235073,Pharmacy,Аптека,amenity=pharmacy,icon_legend_verified,487,0,
|
||||
0x2e06,classic,348,130,,no,0,43.4717417,23.9467192,Trayкov Shop,02234024,42.6665640,25.4079223,Левче,02235051,42.2565722,26.6285849,ЕТ 'Мираж',02235066,43.2055807,26.8905830,Хранителни стоки,02235030,42.4753332,26.5205240,Минимаркет,02235054,,,,not_on_legend,348,0,
|
||||
0x2e07,classic,105,82,shop=clothes,yes,1,43.0698609,25.6080151,"Кооперативен пазар ""Бузлуджа""",02235028,42.1253800,24.7373700,Конфискувани стоки,02235062,42.0133924,24.8706222,JYSK,02235062,42.1425033,24.7521973,Melina Fation,02235062,43.2328105,27.8671002,Мадара,02235032,Clothes shop,Магазин за дрехи,shop=clothes,icon_legend_verified,105,0,
|
||||
0x2e08,classic,13,11,,no,0,42.7295208,23.2671332,Практикер,02234047,42.0546556,24.5441008,Железария,02235062,42.6637101,23.3787990,Бриколаж,02234059,43.2412434,27.8666282,Алати,02235032,42.6405787,23.4096336,Практикер,02234059,,,,not_on_legend,13,0,
|
||||
0x2e09,classic,8,7,,no,0,43.2294202,27.8701901,мебелна палата Лазур,02235032,43.2233047,27.8732157,JYSK,02235032,42.7395844,23.2375860,Аико,02234047,43.2203650,27.8761768,Хоум Макс,02235032,43.2238412,27.8733659,Ikea,02235032,,,,not_on_legend,8,0,
|
||||
0x2e0a,classic,159,77,,no,0,43.8517356,25.9867859,Автокъщи,02235004,43.2120609,27.9186201,Фризьорско студио Мето,02235032,43.0801177,25.6300306,Хеликон,02235028,43.2042933,27.9221392,Сиела,02235032,42.4448204,25.7348728,Italicar,02235052,,,,not_on_legend,159,0,
|
||||
0x2e0b,classic,52,51,,no,0,42.1881008,24.3556809,Зора,02235061,43.4080982,24.6367335,Техномаркет,02235014,41.9303727,25.6028867,Зора,02235076,43.2339692,27.9061961,Технохит,02235032,42.7304864,23.2681203,Хит,02234047,,,,not_on_legend,52,0,
|
||||
0x2f00,classic,1269,1142,,yes,0,42.9236698,24.2466116,индустриални сгради,02235037,42.8208017,23.1913233,Индустриални - POPP,02234047,42.0542693,25.2493286,стопански сгради,02235063,42.1809983,25.9448576,постройки БДЖ,02235064,41.3848972,25.1177073,Бултекс,02235087,,,,not_on_legend,1269,0,
|
||||
0x2f01,classic,778,390,,no,0,41.5430832,23.2712317,Газостанция,02234095,43.7991214,26.1920500,Бензиностанция,02235005,42.6646113,27.7017045,Лукойл,02235056,43.4287620,23.7619686,Петрол,02234024,42.7019262,24.1859722,Shell,02235037,,,,not_on_legend,778,0,
|
||||
0x2f03,classic,106,66,,no,0,41.3775158,25.0830102,"Автосервиз ""Профиров""",02235087,43.8112664,25.9830523,Ной и Ко,02235004,42.6711988,23.3987975,Горивни добавки,02234047,42.1855903,24.3447804,Поставяне и ремонт на АГУ (автогаз),02235061,42.7313876,23.2313204,Субару сервиз,02234047,,,,not_on_legend,106,0,
|
||||
0x2f05,classic,486,402,amenity=post_office,no,0,42.0306015,23.8108063,Поща,02234072,43.7494254,27.4069619,Поща,02235007,42.8661847,25.3173494,Централна поща,02235039,43.3284473,27.5941586,Спиди,02235032,43.5647607,27.8351712,Европът,02235020,,,amenity=post_office,not_on_legend,486,0,
|
||||
0x2f06,classic,320,227,,no,0,42.3073840,23.8596869,Банка ДСК,02234072,43.2122111,27.9121184,Пощенска банка,02235032,42.6601267,27.7165103,(обмен),02235056,42.6949096,27.7097940,обб,02235044,42.0093799,24.8765659,ЦКБ,02235062,,,,not_on_legend,320,0,
|
||||
0x2f08,classic,123,123,,yes,0,42.6397204,23.3731771,Акад. Александър Теодоров - Балан,02234059,42.7053809,23.3233523,Лъвов мост,02234047,42.7063680,23.2841706,Вардар,02234047,42.7282119,23.3009720,Надежда,02234047,42.6461577,23.3846569,Младост III,02234059,,,,not_on_legend,123,0,
|
||||
0x2f0a,classic,4,3,amenity=place_of_worship;religion=jewish,yes,1,41.5711713,23.7286234,Синагога,02234096,42.3677444,23.0066586,Синагога,02234059,42.1920061,24.3338370,Синагога,02235061,42.7002525,23.3209920,,02234047,,,,,Synagogue,Синагога,amenity=place_of_worship;religion=jewish,icon_legend_verified,4,0,
|
||||
0x2f0b,classic,1499,68,,no,0,43.7308860,23.9443588,автополигон,02234012,42.2151589,24.0181303,Паркинг,02235061,41.7194867,24.6802282,"Паркинг ""Родопски къщи""",02235074,43.3349919,24.5515680,паркинг,02235014,42.2434402,23.5410404,Екопътека 'Бели Искър',02234072,,,,not_on_legend,1499,0,
|
||||
0x2f0c,classic,320,114,amenity=place_of_worship;religion=muslim,yes,1,44.0549612,26.7991304,Джамия,02335138,41.4958334,24.6339655,Джамия,02235086,41.9317031,25.5555511,Чаршийска джамия,02235076,41.7362881,24.0253615,Джамия,02235073,41.5593910,24.3108344,Джамия,02235085,Mosque,Джамия,amenity=place_of_worship;religion=muslim,icon_legend_verified,320,0,
|
||||
0x2f0e,classic,4,1,amenity=car_wash,yes,1,42.2939301,22.7035904,Олимпия,02234070,42.6629806,23.3585644,,02234059,42.6722503,23.3822322,,02234047,41.7109036,23.1720543,,02234083,,,,,Car Wash,Автомивка,amenity=car_wash,icon_legend_verified,4,0,
|
||||
0x3001,classic,170,156,,yes,0,43.3623934,25.1447439,полиция,02235015,43.1404138,24.7057414,Противопожарна команда,02235026,41.4898038,24.8439932,ГПУ Рудозем,02235086,41.6713786,24.3492866,Охрана,02235073,42.6375103,24.3578911,Полиция,02235049,,,,not_on_legend,170,0,
|
||||
0x3002,classic,564,470,,no,0,42.5638032,27.6036644,First Aid,02235056,42.4966407,24.7085094,Мед. институт на МВР,02235050,42.7049732,24.1637206,Ветеринарна лечебница,02235037,42.8830934,26.4489627,МБАЛ Проф. д-р Цончев,02235041,42.8766990,27.8864336,Поликлиника,02235044,,,,not_on_legend,564,0,
|
||||
0x3003,classic,841,709,,no,0,43.2501698,27.7748966,Кметство,02235032,41.8338132,24.8308182,Община,02235074,42.2146440,26.8325615,Кметство,02235066,42.3909402,26.5102458,Кметство,02235054,42.8947449,23.9156699,Община Правец,02234048,,,,not_on_legend,841,0,
|
||||
0x3006,classic,85,28,,yes,0,43.7391043,28.5608482,ГКПП Вама Веке,02235010,42.7977347,22.4487162,ГКПП Стрезимировци,02234045,44.0172386,27.5696111,ГКПП Кайнарджа-Липница,02335140,43.8785148,26.0150027,ГКПП Русе-Дунав мост,02235005,41.5485549,26.1786389,ГКПП Славеево-Кипринос,02235089,,,,not_on_legend,85,0,
|
||||
0x3007,classic,132,125,,no,0,43.2023406,25.7318473,Помпена ст.,02235028,42.6586461,27.7180338,Районен съд,02235056,43.4087205,24.6206832,Окръжен съд,02235014,41.9688892,25.4382205,Помпена станция,02235075,43.2114816,27.9063892,Районен съд Варна,02235032,,,,not_on_legend,132,0,
|
||||
0x3008,classic,37,37,amenity=fire_station,yes,1,42.5666571,27.6193285,Пожарна,02235056,42.3385620,27.1852612,Пожарна,02235055,42.9967761,27.7196646,Пожарна служба,02235044,43.4595323,25.7528329,Пожарна,02235016,41.4986014,25.3014278,Пожарна,02235087,Fire Station,Пожарна,amenity=fire_station,icon_legend_verified,37,0,
|
||||
0x4700,classic,101,2,industrial=port,yes,1,41.6431189,25.2845192,Пристан,02235087,42.0604706,27.9666424,Пристан разходки,02235068,43.1928563,27.8624654,,02235032,43.1975985,27.7780724,,02235032,42.5640392,27.6104879,,02235056,Port,Пристанище,industrial=port,icon_legend_verified,101,0,
|
||||
0x4e00,classic,14,6,,no,0,41.9877291,24.0870094,Минерална баня,02235073,42.1555066,24.1412330,Минерална баня,02235061,41.8874574,23.4654880,Турска баня,02234083,43.2185626,25.6136155,WC,02235028,42.0110536,23.6421061,Минерална баня,02234072,,,,not_on_legend,14,0,
|
||||
0x6400,classic,465,434,landuse=quarry,yes,1,40.8776808,23.9436078,(Кам.),02234120,42.0491624,26.4963627,(Кам.),02235065,42.0424891,26.5176916,(Кам.),02235066,43.3561921,27.0500994,(Кам.),02235019,42.8720212,23.3507752,(Кам.),02234047,Quarry,Кариера,landuse=quarry,icon_legend_verified,465,0,
|
||||
0x6401,classic,1679,60,man_made=bridge,yes,1,42.6645684,22.9691291,Зидан мост,02234058,41.3415956,22.8474855,Дяволския мост,02234094,42.7375460,25.2069068,Къркеланов мост,02235039,42.0968199,26.6947603,Кадъниния мост,02235066,41.6125202,25.4604721,въжен мост 260 м.,02235087,Bridge,Мост,man_made=bridge,icon_legend_verified,1679,0,
|
||||
0x6402,classic,6186,1012,building=yes,yes,1,42.5507569,23.2217932,Чакало,02234059,42.2648549,23.5112143,Кметство,02234072,41.5804839,24.4379926,Колиба,02235085,42.7037287,23.3173656,Поща,02234047,43.1565928,23.5806298,помп. станция Крушовица,02234036,Building,Сграда,building=yes,icon_legend_verified,6186,0,
|
||||
0x6403,classic,1729,636,,yes,1,43.0418801,23.5914874,Св. Мария Магдалена,02234036,41.7204952,24.8700428,кръст,02235074,42.3144221,22.0163441,Гроб,02234069,42.5259733,22.0552468,Гроб,02234057,42.2699189,22.3800731,Гроб,02234069,Graveyard/Tombstone,"Гробище, оброк",,icon_legend_verified,1729,0,
|
||||
0x6404,classic,1507,1043,amenity=place_of_worship,yes,1,42.1896243,27.0861053,Св. Димитър,02235067,42.6495481,23.1854010,Горнобански ман.Св. св. Кирил и Методий (Свети Крал) 985м,02234059,43.2710695,26.9130707,Евангелска Методистка,02235030,43.8517141,25.9852195,Православен храм 'Св. Архангел Михаил',02235004,43.1095147,23.6245537,Св. Георги,02234036,Church,Църква,amenity=place_of_worship,icon_legend_verified,1507,0,
|
||||
0x6405,classic,260,203,,yes,1,42.7514720,27.2207522,заслон Зайчар,02235043,41.6350079,25.5436206,Ловен дом Петлите,02235088,41.8497348,23.0167007,ловен заслон(отворен),02234083,43.3626509,27.8988361,ловна хижа Долище,02235020,41.8355942,24.7555876,Ловна хижа,02235074,Hunting Lodge,Ловна хижа,,icon_legend_verified,260,0,
|
||||
0x6406,classic,854,315,barrier=gate,yes,1,41.5502286,24.7455668,Военен обект!,02235086,41.2806129,25.2994323,Частен имот,02235099,41.3999176,24.8060989,Вододайна зона!,02235086,43.1745529,27.8986645,Порта закл.,02235032,42.0175123,24.7506738,Частен имот,02235062,Barrier/Gate,Бариера,barrier=gate,icon_legend_verified,854,0,
|
||||
0x6407,classic,2861,2186,tourism=picnic_site,yes,1,41.9156528,25.3233576,беседка,02235075,42.6045942,23.4355974,пейка,02234059,42.1314955,23.1496096,Беседка,02234071,42.8379893,27.2730017,Пейки,02235043,42.7331901,24.1863155,Беседка,02235037,Picnic Site,Пикник,tourism=picnic_site,icon_legend_verified,2861,0,
|
||||
0x6408,classic,12,12,emergency=mountain_rescue,yes,1,42.6026416,23.2414269,ПСС бунгало,02234059,42.7482104,24.8938608,ПСС,02235038,42.5720644,23.2877755,ПСС бунгало,02234059,42.2097945,23.3873177,ПСС,02234071,42.7656770,25.5035806,ПСС,02235040,Mountain Rescue,ПСС,emergency=mountain_rescue,icon_legend_verified,12,0,
|
||||
0x6409,classic,1235,767,historic=monument,yes,1,43.1282043,23.6027098,Перо Херцеговинеца,02234036,42.4960184,22.8770757,Паметник от Балканската война,02234058,43.5455561,26.4776945,Гецо Неделчев,02235017,41.6131210,24.3797994,С. Люцканова Е. Йовчев,02235085,41.3472819,23.1893492,Славчо Николов Терзиев - Тери 6.2.1946-17.1.2009,02234095,Monument,Паметник,historic=monument,icon_legend_verified,1235,0,
|
||||
0x640a,classic,2095,2034,,yes,1,43.1507993,25.3284001,Стълба,02235027,42.5652623,23.4620762,свлачище,02234059,43.2826567,27.1473241,непроходимо до пещерата,02235031,42.2344065,22.5821829,Обрасло с малини!,02234070,42.4225259,22.7016377,сипей,02234058,Danger,Опасност,,icon_legend_verified,2095,0,
|
||||
0x640b,classic,1128,986,amenity=place_of_worship,yes,1,41.9598985,24.3688774,Параклис,02235073,41.9762921,24.8116350,Св. Троица,02235074,42.0272112,24.2933249,Св. Георги Победоносец,02235061,41.8994522,25.0012565,Св. Илия,02235075,42.4137282,23.0256915,Св. Петка (734м),02234059,Chapel,Параклис,amenity=place_of_worship,icon_legend_verified,1128,0,
|
||||
0x640c,classic,1353,238,man_made=mine_shaft,yes,1,43.0497336,22.9328442,(Въгл.),02234034,41.5701199,24.6346951,(Ур.),02235086,42.0967555,23.4186459,(Ур.),02234071,42.6059246,22.9893422,Руд.Толбухин,02234058,43.0516005,22.9287028,(Въгл.),02234034,Mine Shaft,Мина,man_made=mine_shaft,icon_legend_verified,1353,0,
|
||||
0x640d,classic,137,90,,yes,1,42.6056242,23.2995987,Драгалевски междинна,02234059,42.5832009,23.2924747,Кабинков горна,02234059,41.6562724,24.6775675,Лифт Ардашлъ Снежанка триседалков (долна),02235086,42.5705194,23.2846212,Котва долна,02234059,41.6433334,24.6893477,Лифт Студенец 2 четириседалков (долна),02235086,Lift,Лифт,,icon_legend_verified,137,0,
|
||||
0x640e,classic,977,915,highway=bus_stop,yes,1,43.3513427,25.1430917,Левски,02235015,42.3796749,22.7069807,Раждавица,02234058,42.9125977,25.3967214,Съботковци,02235039,42.8417015,27.0389843,Завет,02235043,42.6515007,22.9731202,Гара Витановци,02234058,Bus Stop/Station,Спирка,highway=bus_stop,icon_legend_verified,977,0,
|
||||
0x640f,classic,2766,574,,yes,1,42.0345068,22.4919534,Гробище,02234069,41.4501715,24.6433210,гробище,02235086,42.2414017,22.8361559,Гробище,02234070,41.8649697,24.7047973,Гробище,02235074,42.8172183,22.2408342,Гробище,02234045,Graveyard/Tombstone,"Гробище, оброк",,icon_legend_verified,2766,0,
|
||||
0x6410,classic,98,88,,yes,0,43.6105728,23.6852574,МВЕЦ „ Елена“,02234024,42.0045090,24.8756862,"ВЕЦ ""Асеница 1""",02235062,41.9191074,24.1930962,ВЕЦ Батак,02235073,41.9946170,24.4710159,ВЕЦ Въча 2,02235073,43.1844449,25.2596283,"ВЕЦ ""Росица""",02235027,,,,not_on_legend,98,0,
|
||||
0x6411,classic,875,495,man_made=tower,yes,1,41.7411375,24.8182654,GSM клетка,02235074,42.1343064,24.8024940,НИМХ Пловдив,02235062,41.2826300,25.5326772,Гранична вишка,02235100,42.0159459,24.7430348,Ловно чакало,02235062,42.2614861,22.9261923,ловно чакало,02234070,Tower,Кула,man_made=tower,icon_legend_verified,875,0,
|
||||
0x6413,classic,76,7,,yes,1,42.6872063,23.3418703,Подлез,02234047,42.7647972,24.7336578,Галерия,02235038,42.6887298,23.3397245,Подлез,02234047,42.6899099,23.3380079,Подлез,02234047,42.7006817,24.3429565,Козница,02235037,Tunnel,Тунел,,icon_legend_verified,76,0,
|
||||
0x6414,classic,32922,4747,amenity=drinking_water,yes,1,43.1117034,23.7205982,затлачена,02234036,42.2771502,25.3026724,Лигова,02235063,43.9108086,22.4591660,Пилат чешма,02234009,42.7694106,26.2343645,Кесикташ,02235041,43.2204294,27.2649765,Орешака,02235031,Drinking Water,Чешма,amenity=drinking_water,icon_legend_verified,32922,0,
|
||||
0x6415,classic,264,215,tourism=camp_site,yes,1,41.7506647,25.1023221,Бивак,02235075,43.2923126,27.1431398,Пионерски лагер,02235031,43.5702968,28.5830140,къмпинг Добруджа,02235022,43.7619781,25.9560370,екопарк Саджака,02235004,41.7019987,23.4995627,Бивак,02234083,Camp Site,Място за бивакуване,tourism=camp_site,icon_legend_verified,264,0,
|
||||
0x6416,classic,2886,1634,historic=ruins,yes,1,41.5940452,24.3094182,Разв.,02235085,41.9296217,24.6835971,Разв.,02235074,42.7539825,24.1193461,Златишката мандра,02235037,41.5189862,24.7082305,Разв.,02235086,43.0104017,23.4075522,з. Трескавец (руини),02234035,Ruins,Руини,historic=ruins,icon_legend_verified,2886,0,
|
||||
0x6417,classic,8868,367,man_made=water_well,yes,1,42.2628808,24.2223430,Юсеиновия кладенец,02235061,41.7512012,25.0972795,(вриз),02235075,43.4005666,27.8917980,античен кладенец,02235020,43.6586809,23.6501956,Диковия геран,02234024,43.5718417,23.6637568,Манафски геран,02234024,Well,Кладенец,man_made=water_well,icon_legend_verified,8868,0,
|
||||
0x6418,classic,305,3,,yes,0,42.7693677,26.3003898,Ветрогенератор,02235041,42.7765560,26.3197017,Ветрогенератор,02235041,43.1920409,26.5263820,Ветрогенератор,02235030,43.4622145,28.3540606,,02235021,43.3898807,27.5740314,,02235020,,,,not_on_legend,305,0,
|
||||
0x6419,classic,113,19,,yes,0,42.5478601,26.7053819,Фотоволтаична ценрала,02235054,42.4148440,25.6047320,ВЕЦ Стара Загора,02235052,43.2008600,27.9051661,подстанция Енерго Про,02235032,42.0130706,24.2570615,Подстанция ВЕЦ Пещера,02235061,42.0763493,25.6177139,Фитоволтична централа,02235064,,,,not_on_legend,113,0,
|
||||
0x641a,classic,62,62,amenity=place_of_worship,yes,1,42.9599547,23.0566549,Св. Никола,02234047,41.5829730,23.2869387,Св. св. Козма и Дамян,02234095,42.9840946,23.2748580,Ман. Успение Богородично,02234047,42.6539254,22.6626492,Одранишки манастир „Св. св. ап. Петър и Павел”,02234058,43.1263375,26.8227339,м-р Патлейна,02235030,Church,Църква,amenity=place_of_worship,icon_legend_verified,62,0,
|
||||
0x641c,classic,3120,2822,highway=bus_stop,yes,1,42.8542113,25.3382707,1-7-10-14,02235039,42.8205442,23.3609891,"А:23,26",02234047,42.7005529,23.3722544,Тм:22,02234047,42.6578951,23.3979392,"А:384,404,604,N4 Тб:11",02234059,42.6948452,23.3303475,"А:N1,N2,N3,N4",02234047,Bus Stop/Station,Спирка,highway=bus_stop,icon_legend_verified,3120,0,
|
||||
0x641d,classic,17,17,,yes,0,42.1828008,24.7408462,ТЕЦ „Пловдив Север“,02235062,43.9489818,22.8509617,ТЕЦ „Видахим”АД,02234010,42.1545410,25.9073496,ТЕЦ „Марица изток 1“,02235064,43.1959462,27.7646184,ТЕЦ „Варна“,02235032,43.8307285,25.9306741,ТЕЦ „Русе Запад“,02235004,,,,not_on_legend,17,0,
|
||||
0x641e,classic,55,8,,yes,0,42.3201728,24.3003416,Соларен Парк Солсбор,02235061,42.6104736,25.6806278,Фотоволтаична централа,02235052,42.2889519,25.8097601,Фотоволтаична централа,02235064,42.4324822,25.9523034,Фотоволтаична централа,02235052,42.8275180,24.9023795,Соларен парк,02235038,,,,not_on_legend,55,0,
|
||||
0x641f,classic,1,1,,yes,0,43.7468505,23.7692428,АЕЦ Козлодуй,02234012,,,,,,,,,,,,,,,,,,,,not_on_legend,1,0,
|
||||
0x6500,classic,31214,712,,yes,1,42.0310307,24.7559094,Забучена,02235062,42.7306151,22.7937984,Калугерец,02234046,43.1759048,27.3662353,Изворите,02235031,43.0573082,27.2377896,Гюрлата,02235031,43.2198930,27.6934004,каптаж,02235032,Reservoir,Каптаж,,icon_legend_verified,31214,0,
|
||||
0x6501,classic,2412,2261,amenity=restaurant,yes,1,43.3456135,28.0715060,Therma beach,02235021,42.4869204,26.4846039,Каприз 2004,02235053,41.6558862,25.5600786,старите Кметове,02235088,43.2702541,26.9629169,бистро Карибу,02235030,41.9760990,24.8664379,Медуза,02235074,Restaurant,Ресторант,amenity=restaurant,icon_legend_verified,2412,0,
|
||||
0x6502,classic,1864,622,,yes,1,42.7929711,25.2992177,Бент,02235039,42.1954823,23.7029600,Брод,02234072,42.7659774,24.1279721,Брод,02235037,41.6309094,24.4783974,брод,02235085,42.7690244,24.1390228,Брод,02235037,River Passage,Брод,,icon_legend_verified,1864,0,
|
||||
0x6503,classic,760,459,,yes,1,43.4149003,28.4942007,на запад Черноморски път,02235021,41.5363026,23.6495304,Рзкл,02234096,41.7992020,23.3589077,Рзкл,02234083,41.6176271,23.5410404,Рзкл Тодорово,02234096,42.7354646,26.3277268,синя марк.за Сливен,02235041,Crossroad,Кръстопът,,icon_legend_verified,760,0,
|
||||
0x6506,classic,424,415,tourism=museum,yes,1,42.1463013,24.7487855,Градска художествена галерия,02235062,42.4936581,27.4754548,Археологически музей,02235055,42.8665495,24.7798991,Изложение на Художествените занаяти и изкуства Орешак,02235038,43.3617496,28.4654903,музей Калиакра,02235021,42.6802969,26.3179851,Регионален исторически музей,02235041,Museum,Музей,tourism=museum,icon_legend_verified,424,0,
|
||||
0x650b,classic,8767,218,,yes,1,42.0000887,23.3820820,94,02234071,42.7546048,24.7787404,74,02235038,42.6914549,25.3780746,Табели,02235039,42.5844884,22.7756453,Червено-бял,02234058,42.7498627,24.7798777,64,02235038,Winter Marking,Зимна маркировка,,icon_legend_verified,8767,0,
|
||||
0x6511,classic,50308,2504,natural=spring,yes,1,42.8732872,23.3371925,Студена вода,02234047,42.5154161,23.1598663,Врелото,02234059,42.2324324,26.8243647,Маврово кладенче,02235066,42.5689745,22.6115370,Вучанда,02234058,43.4746599,22.8128099,Цунина шообърка,02234022,Spring,Извор,natural=spring,icon_legend_verified,50308,0,
|
||||
0x6600,classic,66206,66122,,yes,1,41.2312603,22.6785922,217,02234106,42.8680515,22.6715970,781,02234046,42.0207524,23.3518052,2248,02234071,43.1519794,27.8918195,192,02235032,42.8781152,25.1690984,496,02235039,Triangulation,Кота,,icon_legend_verified,66206,0,Numeric names are spot elevations and can remain under ele; do not blindly replace with survey point
|
||||
0x6601,classic,165,146,,yes,1,42.9589677,25.2119064,"скален феномен ""Момичките""",02235039,42.5682020,25.5528045,Бункер,02235052,43.8477659,25.9528399,Драматичен театър 'Сава Огнянов',02235004,42.1860838,22.9879904,Марков камък,02234070,43.2102799,27.6799679,Побити камъни - група Канарата,02235032,Natural Phenomenon,Природен феномен,,icon_legend_verified,165,0,
|
||||
0x6602,classic,891,271,tourism=viewpoint,yes,1,41.7438412,23.4641790,Кьошка (Балконе)-панорама,02234083,42.8009748,27.1023059,"скална ""Сватба""",02235043,41.9350505,24.3787265,панорама 180,02235073,42.8256512,25.4819083,Локомотив,02235039,41.9915915,24.8787546,Гледка,02235074,Viewpoint,Гледка,tourism=viewpoint,icon_legend_verified,891,0,
|
||||
0x6603,classic,26366,26357,man_made=survey_point,yes,1,42.5520873,23.8540435,1079,02234060,42.5116181,23.8444304,862,02234060,42.6156020,23.9883041,677,02234060,42.7191353,23.8798571,778,02234048,42.4579740,23.6816740,972,02234060,Triangulation,Кота,man_made=survey_point,icon_legend_verified,26366,0,
|
||||
0x6604,classic,10,10,,yes,0,42.2186995,27.7872348,"Къмпинг ""Юг""",02235068,43.0315375,27.8832793,къмпинг Рай,02235032,43.0407858,27.8884077,къмпинг Романтика,02235032,42.4205947,27.6452065,"Къмпинг ""Градина""",02235056,42.3917341,27.7048159,"Къмпинг ""Смокиня""",02235056,,,,not_on_legend,10,0,
|
||||
0x6608,classic,2644,2591,tourism=hotel,yes,1,42.8794885,27.8957462,Fortuna Cape Complex,02235044,42.3725724,27.7117682,Марина Бийч - Дюни,02235056,42.0698905,24.7490859,Семеен хотел „Купола“,02235062,42.6359010,27.6414514,Midia Grand Resort,02235056,43.0968761,25.6632471,Севастократор,02235028,Hotel,Хотел,tourism=hotel,icon_legend_verified,2644,0,
|
||||
0x6609,classic,372,362,tourism=alpine_hut,yes,1,43.2779145,27.1159101,Хижа Мадарски конник,02235031,41.8324399,24.7721529,х. Пашалийца (не работи),02235074,41.9550920,24.8939681,х. Безово (не работи),02235074,43.1889725,23.0808592,х.Ком (нова) 1515м,02234035,41.4229417,23.6594868,Х. Славянка,02234096,Hut,Хижа,tourism=alpine_hut,icon_legend_verified,372,0,
|
||||
0x660a,classic,275,240,amenity=shelter;shelter_type=basic_hut,yes,1,42.8157377,23.8160634,Заслон,02234048,42.7268600,26.3467383,заслон Чочо,02235041,43.1160593,25.6249881,Дълъг живот,02235028,41.7127061,23.5394526,З.Изворите,02234084,42.7820492,25.8150172,Караиваново хорище,02235040,Refuge,Заслон,amenity=shelter;shelter_type=basic_hut,icon_legend_verified,275,0,
|
||||
0x660b,classic,2612,2534,,yes,1,43.9378452,22.4072385,Пир. 454,02234009,41.6514015,24.3190312,Инф. табло,02235085,41.9887161,26.8827081,Пир. 203,02235078,41.8233204,26.5118337,Пир. 292,02235078,41.2940240,25.6999397,Пир. 102,02235100,Mark,Маркировка,,icon_legend_verified,2612,0,
|
||||
0x660c,classic,94,88,natural=saddle,yes,0,43.6241341,22.4983478,Кадъбоаз,02234021,42.8232479,27.6280403,Дюлински проход,02235044,42.8006744,25.4271054,Гецанов камък,02235039,41.8039656,25.1517606,Казълъгедик,02235075,42.7531886,27.7547908,Поморийски проход,02235044,,,natural=saddle,not_on_legend,94,0,
|
||||
0x660d,classic,8,8,,yes,0,42.6904893,23.4124017,Летище София,02234047,43.1460357,25.7195950,Летище Горна Оряховица,02235028,43.2368660,27.8294420,Летище Варна,02235032,42.5648332,27.5147867,Летище Бургас,02235056,43.4545541,26.4315391,Летище Благоево,02235017,,,,not_on_legend,8,0,
|
||||
0x660e,classic,8,8,,yes,0,43.4520006,24.5126653,Авиобаза Долна Митрополия,02235014,42.0614576,24.8470831,24-та АБ Крумово,02235062,42.8157806,23.2999206,Авиобаза Доброславци,02234047,43.5985994,27.8323603,Авиобаза Добрич,02235020,42.1178055,25.0028229,Авиобаза Чешнегирово,02235063,,,,not_on_legend,8,0,
|
||||
0x660f,classic,44,28,,yes,0,42.6426816,26.3592696,Летище Сливен,02235053,43.2804251,27.7004385,Вертолетна площадка Калиманци,02235032,41.9794035,25.6020069,Летище Узунджово,02235076,41.4526820,23.2246900,Летище Кърналово,02234095,43.9716411,27.4697471,Летателна площадка Кайнарджа,02235007,,,,not_on_legend,44,0,
|
||||
0x6610,classic,15,15,,yes,1,42.8212094,26.1542845,Агликина поляна,02235041,41.6092157,23.5639143,Поляна,02234096,41.8723726,23.3053493,Поляна,02234083,41.8730593,23.3056498,Поляна с каптаж(2 бели камъка),02234083,41.8687248,23.3031178,Поляна здравец,02234083,Meadow,Поляна,,icon_legend_verified,15,0,
|
||||
0x6613,classic,1746,484,waterway=waterfall,yes,1,42.7435327,24.6398234,Кастрак дере горен,02235038,42.0257735,24.5287156,горен Устински водопад,02235062,41.8480825,24.6142459,Костен камък,02235074,42.7213883,23.9770174,Кокуш дере,02234048,41.4526606,25.5094600,Щолнята,02235088,Waterfall,Водопад,waterway=waterfall,icon_legend_verified,1746,0,
|
||||
0x6614,classic,15289,7841,,yes,1,42.7437901,25.2693915,15,02235039,42.7658057,25.9388924,6,02235040,41.6214252,25.8841109,9,02235088,42.6040363,23.9931536,8,02234060,41.7604923,25.1412892,7,02235075,Rock,Скала,,icon_legend_verified,15289,0,
|
||||
0x6615,classic,942,347,natural=cave_entrance,yes,1,41.8003178,23.3853436,Дупка,02234083,43.2577872,24.0077662,Магаречките дупки,02235025,43.3852458,24.6310258,Скални ниши,02235014,43.2037783,27.7019405,Темната дупка,02235032,43.2195926,23.4565187,Барки 14,02234035,Cave,Пещера,natural=cave_entrance,icon_legend_verified,942,0,
|
||||
0x6616,classic,15540,15436,natural=peak,no,0,42.8516150,25.7782173,Симов чукар,02235040,43.4484601,23.3003926,Остра могила (234),02234023,42.0256448,23.1812596,Чуката (904),02234071,42.3218465,23.6981964,Голяма Старческа присойна (845),02234072,42.2902608,23.9523411,Градевица (760),02234072,,,natural=peak,name_supported,15540,0,
|
||||
0x6617,classic,112,112,natural=peak,yes,1,41.7893529,22.9647946,Огреяк (Кадийца) (1924),02234082,41.9179702,24.9033022,Стария бунар (1517),02235074,41.3211894,23.1748867,Конгур (1951),02234107,41.7833877,27.6181912,Махя (1031),02235080,42.3677444,22.4650025,Арамлия (1496),02234057,Peak,Връх,natural=peak,icon_legend_verified,112,0,
|
||||
0x6618,classic,10176,1222,natural=tree,yes,1,42.7752686,23.9033318,столетно дърво,02234048,43.2969904,24.6177006,Полски клен,02235026,42.2663999,26.2558866,Черница,02235065,42.9399562,25.5326772,Зимен дъб,02235040,41.6851544,25.7126641,Полски ясен,02235076,Tree,Дърво,natural=tree,icon_legend_verified,10176,0,
|
||||
0x6619,classic,195,192,historic=archaeological_site,yes,1,42.5703692,25.3767228,Бащин камък (Слънчева врата),02235051,41.9394493,26.1900759,Долмен Оряхово,02235077,42.0039296,26.2752414,Долмен Мангъра,02235065,42.0932794,27.3929071,Долмен,02235067,41.6816568,25.8129787,Кромлех,02235076,Prehistoric site,Праисторически обект,historic=archaeological_site,icon_legend_verified,195,0,
|
||||
0x661a,classic,384,353,historic=archaeological_site,yes,1,41.7153454,26.0307527,Тракийска крепост Курт кале,02235077,43.2776999,27.1080351,Вила Рустика,02235031,41.6088080,23.8547945,Римски Мост,02234096,43.1936073,23.9905357,Антична крепост ''Кула'',02234036,41.9387841,25.3112984,Тракийска крепост Голямото градище,02235075,Antiquity site,Античен обект,historic=archaeological_site,icon_legend_verified,384,0,
|
||||
0x661b,classic,319,301,historic=archaeological_site,yes,1,42.0922279,24.2505813,"Средновековен манастир ""Св. Седмочиленици""",02235061,42.2452426,24.0083671,Късноантична и средновековна крепост ''Смилево градище'',02235061,41.5194798,23.3953214,Средновековен манастир „Св. Харалампий – св. Архангели“,02234095,42.0475101,24.1791701,Селското кале,02235061,43.2297850,24.4117069,Дядо Новаково кале,02235025,Medieval site,Средновековен обект,historic=archaeological_site,icon_legend_verified,319,0,
|
||||
0x661c,classic,1169,118,,yes,0,41.8346500,26.4578676,Койчовата могила,02235077,43.6355710,28.5723281,Аязмата,02235022,43.2369947,25.7930660,Немска могила,02235028,41.8810201,26.3879800,Стрелкова могила,02235077,41.8904185,26.4215612,Кочмарова могила,02235077,,,,not_on_legend,1169,0,
|
||||
0x661d,classic,1412,413,,yes,0,41.1914778,24.0922236,Овчарник,02235097,42.7084708,25.3351378,кошари,02235039,42.7437901,24.1515326,Овчарник,02235037,41.2387919,24.0231514,Овчарник,02235097,41.7111611,24.5897198,Овчарник,02235074,,,,not_on_legend,1412,0,
|
||||
0x661e,classic,979,803,amenity=shelter,yes,0,41.4122772,24.8197031,Навес с барбекю,02235086,41.3865280,24.7667241,Навес с барбекю,02235086,42.1769857,22.6236820,заслон-навес 1566 м,02234070,41.6840601,24.1560173,Навес,02235073,41.8664289,25.2836180,навес с маси и пейки,02235075,,,amenity=shelter,not_on_legend,979,0,
|
||||
0x10000,extended,2,0,,no,0,43.1772995,27.7539325,,02235032,43.1772995,27.7539325,,02235032,,,,,,,,,,,,,,,,extended_unverified,23,21,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x10018,extended,2,0,,no,0,43.1856465,27.9490042,,02235032,43.1691670,27.9513645,,02235032,,,,,,,,,,,,,,,,extended_unverified,160,158,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x10100,extended,12,12,,no,0,42.4783373,27.4493837,LFl 4.5s W 4M,02235055,41.6336131,28.0994225,Fl W 10s 12M,02235093,42.2633958,27.7585888,Iso W 6s 6M,02235068,43.1873202,27.9218388,LFl W 10s 10M,02235032,43.4110165,28.3561635,LFl W 5s 5M,02235021,,,,extended_unverified,35,23,
|
||||
0x10118,extended,1,0,,no,0,43.1870842,27.6683164,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,159,158,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1011e,extended,1,0,,no,0,42.5841022,27.6902461,,02235056,,,,,,,,,,,,,,,,,,,,extended_unverified,2,1,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x10204,extended,2,2,,no,0,42.6573801,27.7476025,Fl(3) W 10s,02235056,42.5164247,27.6434898,LFl(3) W 10s Horn,02235056,,,,,,,,,,,,,,,,extended_unverified,6,4,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x10205,extended,1,0,,no,0,42.4590254,27.5740099,,02235056,,,,,,,,,,,,,,,,,,,,extended_unverified,7,6,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x10209,extended,8,8,,no,0,42.4733591,27.4699187,Fl 3s,02235055,43.1984782,27.8729796,Fl R,02235032,43.1999803,27.8736019,Fl G (2+1) 10s,02235032,42.4790454,27.4806905,Fl 3s,02235055,43.1995296,27.8640532,Fl R,02235032,,,,extended_unverified,11,3,
|
||||
0x1020a,extended,9,9,,no,0,42.4602699,27.4538684,G,02235055,42.4743032,27.5255370,Fl 3s G 7.6M,02235056,43.1929851,27.7361441,Fl G,02235032,43.1970191,27.7040434,Fl G,02235032,43.1951952,27.7179480,Fl G,02235032,,,,extended_unverified,12,3,
|
||||
0x1020b,extended,5,3,,no,0,41.8699050,28.0232477,Fl(2) 6s,02235081,43.1872773,27.8926563,Y Fl 5s 4M,02235032,42.4769211,27.4610353,Fl 4s W,02235055,42.4678445,27.5515008,,02235056,42.6320171,27.6835513,,02235056,,,,extended_unverified,7,2,
|
||||
0x1020c,extended,2,0,,no,0,43.1899381,27.8013968,,02235032,43.1997228,27.8581524,,02235032,,,,,,,,,,,,,,,,extended_unverified,5,3,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x10218,extended,3,0,,no,0,42.0534110,27.9847956,,02235068,43.1925774,27.6698399,,02235032,43.1884360,27.8502131,,02235032,,,,,,,,,,,,extended_unverified,161,158,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x10301,extended,2006,0,,no,0,43.4377956,28.9283538,,02235022,42.2109532,27.8938365,,02235068,43.1874704,28.1750178,,02235033,41.9554996,28.1644607,,02235081,41.3539124,28.6557126,,02235094,,,,extended_unverified,2018,12,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x10401,extended,157,0,,no,0,42.6565218,27.7297497,,02235056,43.2037354,27.8479171,,02235032,43.1908822,27.6795602,,02235032,43.2028985,27.8478527,,02235032,43.1921697,27.8838801,,02235032,,,,extended_unverified,158,1,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x10402,extended,41,0,,no,0,43.2109666,28.1308579,,02235033,43.7255430,28.7586451,,02235010,43.2701468,28.1310081,,02235033,42.4677372,27.6944518,,02235056,43.5383034,28.6903024,,02235022,,,,extended_unverified,45,4,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x10403,extended,2,0,,no,0,41.3038731,28.7996078,,02235106,43.6612129,28.5722423,,02235022,,,,,,,,,,,,,,,,extended_unverified,5,3,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1040d,extended,229,0,,no,0,41.9180989,28.0489111,,02235081,42.8007388,27.8943729,,02235044,43.5790086,28.6161017,,02235022,41.5124631,28.2507205,,02235093,41.3938880,28.5315371,,02235094,,,,extended_unverified,229,0,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1040e,extended,4,0,,no,0,42.8295565,27.9202938,,02235044,43.6208725,28.6146212,,02235022,42.0751047,27.9735947,,02235068,42.8465295,27.9236841,,02235044,,,,,,,,extended_unverified,4,0,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1041e,extended,1,0,,no,0,42.6499343,27.8320599,,02235056,,,,,,,,,,,,,,,,,,,,extended_unverified,1,0,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x10501,extended,1,0,,no,0,43.2052803,27.9446054,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,4,3,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x10602,extended,1,0,,no,0,42.7095008,27.8530884,,02235044,,,,,,,,,,,,,,,,,,,,extended_unverified,2,1,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1061d,extended,1,0,,no,0,43.2051730,27.9395843,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,2,1,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x10701,extended,58,0,,no,0,43.1964397,27.8618217,,02235032,42.4684024,27.4976420,,02235055,42.4901605,27.5672507,,02235056,43.0828428,27.9600120,,02235032,42.4663210,27.5366306,,02235056,,,,extended_unverified,59,1,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x10705,extended,33,0,,no,0,43.2224250,28.1217384,,02235033,43.1959248,27.7077127,,02235032,43.5670781,28.7531519,,02235022,43.1349206,27.9537892,,02235032,43.0644107,28.0772996,,02235033,,,,extended_unverified,33,0,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x10706,extended,32,0,,no,0,43.4509492,28.8183832,,02235022,42.4609566,27.5497198,,02235056,43.0328679,28.2337046,,02235033,43.5668850,28.6722565,,02235022,43.0170536,28.3903027,,02235033,,,,extended_unverified,32,0,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x10801,extended,1,0,,no,0,42.8644896,27.9285121,,02235044,,,,,,,,,,,,,,,,,,,,extended_unverified,2,1,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x10903,extended,1,0,,no,0,42.6283908,27.6877141,,02235056,,,,,,,,,,,,,,,,,,,,extended_unverified,8,7,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x10a01,extended,1,0,,no,0,43.2014394,27.8667355,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,2,1,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x10b01,extended,1,0,,no,0,41.8894100,28.0229688,,02235081,,,,,,,,,,,,,,,,,,,,extended_unverified,18,17,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x10b09,extended,1,0,,no,0,43.2140994,27.9750752,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,1,0,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x10c00,extended,1,0,,no,0,43.2016969,27.9050374,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,2,1,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x10d01,extended,1,0,,no,0,43.2011819,27.8610492,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,1,0,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1161f,extended,1,0,,no,0,43.1953883,27.9319453,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,2,1,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1171e,extended,1,0,,no,0,43.2054305,27.8968406,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,2,1,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1181f,extended,1,0,,no,0,43.2013321,27.7061892,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,1,0,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x11901,extended,1,0,,no,0,43.8046575,28.5944295,,02235010,,,,,,,,,,,,,,,,,,,,extended_unverified,3,2,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x11902,extended,1,0,,no,0,43.2049370,27.7813983,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,4,3,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x11a02,extended,1,0,,no,0,43.1968260,27.6557207,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,3,2,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1201f,extended,1,0,,no,0,42.5242352,27.5483894,,02235056,,,,,,,,,,,,,,,,,,,,extended_unverified,1,0,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x12102,extended,1,0,,no,0,42.4892378,27.5353217,,02235056,,,,,,,,,,,,,,,,,,,,extended_unverified,6,5,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x12502,extended,1,0,,no,0,43.2015038,27.8690314,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,4,3,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x12a03,extended,1,0,,no,0,42.6277685,27.7115536,,02235056,,,,,,,,,,,,,,,,,,,,extended_unverified,7,6,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x12c1e,extended,1,0,,no,0,43.2013321,27.7046227,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,1,0,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x12d01,extended,1,0,,no,0,43.1838441,27.9260015,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,2,1,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x12e1f,extended,1,0,,no,0,43.2423377,28.1846094,,02235033,,,,,,,,,,,,,,,,,,,,extended_unverified,1,0,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x13001,extended,1,0,,no,0,43.1683517,28.0398345,,02235033,,,,,,,,,,,,,,,,,,,,extended_unverified,4,3,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1321f,extended,1,0,,no,0,42.6127267,27.8121257,,02235056,,,,,,,,,,,,,,,,,,,,extended_unverified,1,0,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1331f,extended,1,0,,no,0,43.2015467,27.8662419,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,3,2,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x13400,extended,1,0,,no,0,43.1861830,27.9269886,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,2,1,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x13a01,extended,1,0,,no,0,42.5860548,27.6915121,,02235056,,,,,,,,,,,,,,,,,,,,extended_unverified,3,2,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x13c03,extended,1,0,,no,0,42.4661279,27.6418805,,02235056,,,,,,,,,,,,,,,,,,,,extended_unverified,4,3,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x13d1e,extended,1,1,,no,0,43.2068896,27.9138136,я припек,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,2,1,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1411e,extended,1,0,,no,0,43.2047009,27.7807546,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,1,0,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x14400,extended,1,0,,no,0,43.2175541,27.9579949,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,2,1,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x14401,extended,1,0,,no,0,43.2052159,27.9493475,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,3,2,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1441c,extended,1,0,,no,0,43.1683731,28.0286121,,02235033,,,,,,,,,,,,,,,,,,,,extended_unverified,1,0,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x14501,extended,1,0,,no,0,42.6383686,27.8804684,,02235056,,,,,,,,,,,,,,,,,,,,extended_unverified,5,4,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x14602,extended,1,0,,no,0,43.1857967,27.8471661,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,4,3,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1461c,extended,1,0,,no,0,43.2015252,27.7032280,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,3,2,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1461f,extended,1,0,,no,0,43.2052588,27.8920341,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,2,1,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1471f,extended,1,0,,no,0,43.2224464,27.8871202,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,4,3,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x14803,extended,1,0,,no,0,42.5953245,27.7765274,,02235056,,,,,,,,,,,,,,,,,,,,extended_unverified,16,15,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1481f,extended,1,0,,no,0,43.2054090,27.8980207,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,2,1,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x14a1e,extended,1,0,,no,0,43.2069111,27.9140067,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,1,0,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x14b01,extended,1,0,,no,0,43.2014823,27.8672075,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,4,3,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x14c01,extended,1,0,,no,0,43.2069111,27.9118609,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,2,1,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x14d1f,extended,1,0,,no,0,42.5163817,27.6553559,,02235056,,,,,,,,,,,,,,,,,,,,extended_unverified,2,1,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x14e1e,extended,1,0,,no,0,42.4459577,27.6790023,,02235056,,,,,,,,,,,,,,,,,,,,extended_unverified,2,1,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x15200,extended,1,0,,no,0,43.2048941,27.7857113,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,4,3,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x15303,extended,1,0,,no,0,43.2014179,27.8711987,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,5,4,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1541d,extended,1,0,,no,0,42.4657202,27.6436615,,02235056,,,,,,,,,,,,,,,,,,,,extended_unverified,1,0,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x15501,extended,1,0,,no,0,43.2052588,27.8956819,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,4,3,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x15800,extended,1,0,,no,0,43.2052588,27.9370308,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,3,2,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x15a00,extended,1,0,,no,0,43.2053447,27.8867555,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,6,5,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x15e01,extended,1,0,,no,0,42.6091433,27.6586604,,02235056,,,,,,,,,,,,,,,,,,,,extended_unverified,5,4,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x16103,extended,1,0,,no,0,43.1455421,28.0770850,,02235033,,,,,,,,,,,,,,,,,,,,extended_unverified,5,4,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x16201,extended,1,0,,no,0,43.2000232,27.9100585,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,4,3,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x16701,extended,1,0,,no,0,43.1955171,27.9348421,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,5,4,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1681c,extended,1,1,,no,0,42.6561785,27.8976774,Тюлен,02235056,,,,,,,,,,,,,,,,,,,,extended_unverified,2,1,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1681d,extended,1,0,,no,0,43.2166100,28.0465937,,02235033,,,,,,,,,,,,,,,,,,,,extended_unverified,3,2,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x16a00,extended,1,0,,no,0,43.2054305,27.8999090,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,3,2,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x16b1c,extended,1,0,,no,0,42.6562428,27.9021621,,02235056,,,,,,,,,,,,,,,,,,,,extended_unverified,1,0,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x16e1f,extended,1,0,,no,0,42.6637101,27.7445555,,02235056,,,,,,,,,,,,,,,,,,,,extended_unverified,1,0,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x17000,extended,1,0,,no,0,42.5416589,27.6806760,,02235056,,,,,,,,,,,,,,,,,,,,extended_unverified,3,2,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1711d,extended,1,0,,no,0,43.2069111,27.9155731,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,2,1,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x17303,extended,1,0,,no,0,42.5860977,27.6886582,,02235056,,,,,,,,,,,,,,,,,,,,extended_unverified,6,5,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1731e,extended,1,0,,no,0,43.1925559,27.8419733,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,1,0,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1751f,extended,1,0,,no,0,43.2048941,27.7850676,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,2,1,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1771e,extended,1,0,,no,0,42.4598193,27.7104378,,02235056,,,,,,,,,,,,,,,,,,,,extended_unverified,2,1,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1791e,extended,1,0,,no,0,43.2051516,27.8927636,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,1,0,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x17d1e,extended,1,0,,no,0,43.2051086,27.9474807,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,2,1,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x17e03,extended,1,0,,no,0,43.1967616,27.6618361,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,18,17,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x18003,extended,1,0,,no,0,43.1717634,27.9500127,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,10,9,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1811e,extended,1,0,,no,0,42.5413799,27.6878858,,02235056,,,,,,,,,,,,,,,,,,,,extended_unverified,5,4,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x18302,extended,1,0,,no,0,43.2048941,27.7903032,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,2,1,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1861d,extended,1,0,,no,0,43.2015252,27.8606415,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,2,1,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1861f,extended,1,0,,no,0,43.2055807,27.8994370,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,3,2,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x18901,extended,1,0,,no,0,42.6384759,27.8675079,,02235056,,,,,,,,,,,,,,,,,,,,extended_unverified,3,2,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x18a1f,extended,2,1,,no,0,43.2052374,27.8961754,ставена,02235032,43.2015467,27.8710055,,02235032,,,,,,,,,,,,,,,,extended_unverified,2,0,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x18c1e,extended,1,0,,no,0,43.2053876,27.8944159,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,2,1,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x18d01,extended,1,0,,no,0,42.6413083,27.7646613,,02235056,,,,,,,,,,,,,,,,,,,,extended_unverified,5,4,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x19001,extended,1,0,,no,0,42.6142931,27.7507782,,02235056,,,,,,,,,,,,,,,,,,,,extended_unverified,5,4,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1921f,extended,1,0,,no,0,43.1928349,27.8456640,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,1,0,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x19a00,extended,1,0,,no,0,43.0997944,27.9608488,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,3,2,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x19d03,extended,1,0,,no,0,42.8070259,27.9287481,,02235044,,,,,,,,,,,,,,,,,,,,extended_unverified,2,1,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1a11f,extended,1,0,,no,0,42.6562643,27.9072046,,02235056,,,,,,,,,,,,,,,,,,,,extended_unverified,2,1,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1a401,extended,1,0,,no,0,43.1839085,27.9244995,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,3,2,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1a501,extended,1,0,,no,0,42.6584101,27.8624225,,02235056,,,,,,,,,,,,,,,,,,,,extended_unverified,4,3,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1a51c,extended,1,0,,no,0,43.2050872,27.9406786,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,2,1,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1a800,extended,1,0,,no,0,42.5856042,27.6471162,,02235056,,,,,,,,,,,,,,,,,,,,extended_unverified,1,0,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1a81c,extended,1,0,,no,0,43.2015252,27.7040648,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,1,0,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1a91c,extended,1,0,,no,0,43.2051516,27.9386616,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,1,0,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1a91f,extended,1,0,,no,0,43.1954098,27.9332972,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,2,1,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1ab1f,extended,1,0,,no,0,42.5952172,27.7136993,,02235056,,,,,,,,,,,,,,,,,,,,extended_unverified,6,5,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1b101,extended,1,0,,no,0,43.1928992,27.8481531,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,3,2,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1b31f,extended,1,0,,no,0,43.2052374,27.9455066,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,4,3,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1b402,extended,2,0,,no,0,42.5443196,27.5562000,,02235056,43.1732011,27.9486609,,02235032,,,,,,,,,,,,,,,,extended_unverified,4,2,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1b41c,extended,2,0,,no,0,43.1952381,27.7601337,,02235032,43.2049155,27.7816987,,02235032,,,,,,,,,,,,,,,,extended_unverified,2,0,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1b703,extended,1,0,,no,0,42.7092648,27.8581309,,02235044,,,,,,,,,,,,,,,,,,,,extended_unverified,1,0,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1ba03,extended,1,0,,no,0,43.2014394,27.8686452,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,5,4,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1be1c,extended,1,0,,no,0,43.2013321,27.7118969,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,2,1,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1c11e,extended,1,0,,no,0,43.1928992,27.8475738,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,2,1,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1c31d,extended,1,0,,no,0,43.1954956,27.9373097,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,1,0,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1c500,extended,1,0,,no,0,43.2015681,27.8681087,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,2,1,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1c71f,extended,1,0,,no,0,43.2048726,27.7903676,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,3,2,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1c81e,extended,1,0,,no,0,43.1928992,27.8485823,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,1,0,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1cb1f,extended,1,0,,no,0,43.2015681,27.8663921,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,7,6,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1ce02,extended,1,0,,no,0,43.2049799,27.7835441,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,2,1,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1d501,extended,1,0,,no,0,42.4691319,27.6782942,,02235056,,,,,,,,,,,,,,,,,,,,extended_unverified,4,3,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1d51e,extended,1,1,,no,0,43.2054305,27.8993511,вец,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,1,0,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1d61f,extended,1,0,,no,0,43.2015681,27.8704262,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,3,2,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1d71c,extended,1,0,,no,0,43.2011819,27.8677869,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,2,1,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1d800,extended,1,0,,no,0,43.2052159,27.8855324,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,5,4,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1da01,extended,1,0,,no,0,42.5940800,27.8528523,,02235056,,,,,,,,,,,,,,,,,,,,extended_unverified,4,3,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1da1e,extended,1,0,,no,0,42.4458933,27.5304723,,02235056,,,,,,,,,,,,,,,,,,,,extended_unverified,1,0,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1db01,extended,1,0,,no,0,43.1839299,27.9252076,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,2,1,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1db1e,extended,1,0,,no,0,43.2012463,27.8598905,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,1,0,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1db1f,extended,1,0,,no,0,43.1928563,27.8472519,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,3,2,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1dc01,extended,1,0,,no,0,43.1860757,27.8722286,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,2,1,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1de1f,extended,1,0,,no,0,43.2052588,27.9385757,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,3,2,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1e101,extended,1,0,,no,0,43.1975555,27.8627014,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,1,0,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1e21f,extended,2,0,,no,0,43.2048941,27.7844238,,02235032,42.4360442,27.6796460,,02235056,,,,,,,,,,,,,,,,extended_unverified,4,2,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1ea00,extended,1,0,,no,0,43.1715059,27.9508066,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,2,1,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1ec1d,extended,1,0,,no,0,43.2013321,27.7051377,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,3,2,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1f401,extended,1,0,,no,0,43.1708193,28.0719352,,02235033,,,,,,,,,,,,,,,,,,,,extended_unverified,4,3,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1f501,extended,1,0,,no,0,42.5145793,27.5918198,,02235056,,,,,,,,,,,,,,,,,,,,extended_unverified,3,2,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1fb01,extended,1,0,,no,0,43.2013750,27.7114248,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,1,0,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1ff00,extended,1,0,,no,0,43.2054734,27.8981280,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,20,19,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1ff11,extended,1,0,,no,0,42.4699044,27.4409509,,02235055,,,,,,,,,,,,,,,,,,,,extended_unverified,5,4,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
0x1ff18,extended,1,0,,no,0,43.1953454,27.9564929,,02235032,,,,,,,,,,,,,,,,,,,,extended_unverified,148,147,Extended feature lacks icon: independently verify whether meaningful point or malformed record
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+264
-1872
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,264 @@
|
||||
code,count,verified_legend_bg,sample_lat,sample_lon,source_tags,osm_type_tags_v09,osmand_style_icon,minzoom,review_status
|
||||
0x6600,66206,Кота,41.2312603,22.6785922,,bgm:spot_height=yes;garmin:legend=triangulation;bgm:unclassified=yes,barrier_small_black_1,17,icon_legend_verified
|
||||
0x2800,54902,,42.6277471,24.3122506,place=locality,place=locality,neighbourhood,17,not_on_legend
|
||||
0x6511,50308,Извор,42.8732872,23.3371925,natural=spring,natural=spring;garmin:legend=spring,natural_spring,17,icon_legend_verified
|
||||
0x6414,32922,Чешма,43.1117034,23.7205982,amenity=drinking_water,amenity=drinking_water;garmin:legend=drinking_water,amenity_drinking_water,17,icon_legend_verified
|
||||
0x6500,31214,Каптаж,42.0310307,24.7559094,,man_made=water_intake;garmin:legend=reservoir,reservoir,17,icon_legend_verified
|
||||
0x6603,26366,Кота,42.5520873,23.8540435,man_made=survey_point,man_made=survey_point;garmin:legend=triangulation,mountain,17,icon_legend_verified
|
||||
0x6616,15540,,42.8516150,25.7782173,natural=peak,natural=peak,natural_peak,17,name_supported
|
||||
0x6614,15289,Скала,42.7437901,25.2693915,,natural=rock;garmin:legend=rock,natural_stone,17,icon_legend_verified
|
||||
0x6618,10176,Дърво,42.7752686,23.9033318,natural=tree,natural=tree;garmin:legend=tree,natural_tree,17,icon_legend_verified
|
||||
0x6417,8868,Кладенец,42.2628808,24.2223430,man_made=water_well,man_made=water_well;garmin:legend=well,man_made_water_well,16,icon_legend_verified
|
||||
0x650b,8767,Зимна маркировка,42.0000887,23.3820820,,trailblazed=yes;garmin:legend=winter_marking;bgm:unclassified=yes,barrier_small_red_bold_1,16,icon_legend_verified
|
||||
0x1100,8430,,42.5975990,22.5972247,,place=locality,mountain,16,not_on_legend
|
||||
0xd00,6610,,41.6287208,23.7694144,,place=locality,mountain,16,not_on_legend
|
||||
0x6402,6186,Сграда,42.5507569,23.2217932,building=yes,building=yes;garmin:legend=building,building,16,icon_legend_verified
|
||||
0x641c,3120,Спирка,42.8542113,25.3382707,highway=bus_stop,highway=bus_stop;garmin:legend=bus_stop_station,highway_bus_stop,16,icon_legend_verified
|
||||
0x6416,2886,Руини,41.5940452,24.3094182,historic=ruins,historic=ruins;garmin:legend=ruins,historic_ruins,16,icon_legend_verified
|
||||
0x6407,2861,Пикник,41.9156528,25.3233576,tourism=picnic_site,tourism=picnic_site;garmin:legend=picnic_site,tourism_picnic_site,16,icon_legend_verified
|
||||
0x640f,2766,"Гробище, оброк",42.0345068,22.4919534,,landuse=cemetery;garmin:legend=graveyard_tombstone,grave_yard,16,icon_legend_verified
|
||||
0x6608,2644,Хотел,42.8794885,27.8957462,tourism=hotel,tourism=hotel;garmin:legend=hotel,tourism_hotel,16,icon_legend_verified
|
||||
0x660b,2612,Маркировка,43.9378452,22.4072385,,trailblazed=yes;garmin:legend=mark;bgm:unclassified=yes,checkpoint_hiking,16,icon_legend_verified
|
||||
0x2c05,2481,Училище,41.7214394,24.6845198,amenity=school,amenity=school;garmin:legend=school,amenity_school,16,icon_legend_verified
|
||||
0x6501,2412,Ресторант,43.3456135,28.0715060,amenity=restaurant,amenity=restaurant;garmin:legend=restaurant,amenity_restaurant,16,icon_legend_verified
|
||||
0x640a,2095,Опасност,43.1507993,25.3284001,,hazard=yes;garmin:legend=danger;bgm:unclassified=yes,danger,16,icon_legend_verified
|
||||
0x10301,2006,,43.4377956,28.9283538,,bgm:unclassified=yes,tourism_information,16,extended_unverified
|
||||
0x6502,1864,Брод,42.7929711,25.2992177,,ford=yes;garmin:legend=river_passage;bgm:unclassified=yes,water_tap,16,icon_legend_verified
|
||||
0x6613,1746,Водопад,42.7435327,24.6398234,waterway=waterfall,waterway=waterfall;garmin:legend=waterfall,waterfall,16,icon_legend_verified
|
||||
0x6403,1729,"Гробище, оброк",43.0418801,23.5914874,,landuse=cemetery;garmin:legend=graveyard_tombstone,grave_yard,16,icon_legend_verified
|
||||
0x6401,1679,Мост,42.6645684,22.9691291,man_made=bridge,man_made=bridge;garmin:legend=bridge,bridge,16,icon_legend_verified
|
||||
0x2c0b,1606,Църква,43.0217957,24.8099613,amenity=place_of_worship,amenity=place_of_worship;garmin:legend=church,building_type_church,16,icon_legend_verified
|
||||
0x2b00,1558,,42.6465440,27.6449919,tourism=hotel,tourism=hotel,tourism_hotel,16,not_on_legend
|
||||
0x6404,1507,Църква,42.1896243,27.0861053,amenity=place_of_worship,amenity=place_of_worship;garmin:legend=church,building_type_church,16,icon_legend_verified
|
||||
0x2f0b,1499,,43.7308860,23.9443588,,leisure=track,building_type_church,16,not_on_legend
|
||||
0x661d,1412,,41.1914778,24.0922236,,building=agricultural,tourism_information,16,not_on_legend
|
||||
0x640c,1353,Мина,43.0497336,22.9328442,man_made=mine_shaft,man_made=mine_shaft;garmin:legend=mine_shaft,natural_cave_entrance,16,icon_legend_verified
|
||||
0x2c08,1328,,41.9112968,24.9703360,,leisure=horse_riding,tourism_information,16,not_on_legend
|
||||
0x2f00,1269,,42.9236698,24.2466116,,landuse=industrial,tourism_information,16,not_on_legend
|
||||
0x6409,1235,Паметник,43.1282043,23.6027098,historic=monument,historic=monument;garmin:legend=monument,monument,16,icon_legend_verified
|
||||
0x661c,1169,,41.8346500,26.4578676,,bgm:landmark=mound;bgm:unclassified=yes,tourism_information,16,not_on_legend
|
||||
0x640b,1128,Параклис,41.9598985,24.3688774,amenity=place_of_worship,amenity=place_of_worship;garmin:legend=chapel,building_type_chapel,16,icon_legend_verified
|
||||
0x661e,979,,41.4122772,24.8197031,amenity=shelter,amenity=shelter,tourism_information,15,not_on_legend
|
||||
0x640e,977,Спирка,43.3513427,25.1430917,highway=bus_stop,highway=bus_stop;garmin:legend=bus_stop_station,highway_bus_stop,15,icon_legend_verified
|
||||
0x6615,942,Пещера,41.8003178,23.3853436,natural=cave_entrance,natural=cave_entrance;garmin:legend=cave,natural_cave_entrance,15,icon_legend_verified
|
||||
0x6602,891,Гледка,41.7438412,23.4641790,tourism=viewpoint,tourism=viewpoint;garmin:legend=viewpoint,tourism_viewpoint,15,icon_legend_verified
|
||||
0x6411,875,Кула,41.7411375,24.8182654,man_made=tower,man_made=tower;garmin:legend=tower,man_made_tower,15,icon_legend_verified
|
||||
0x6406,854,Бариера,41.5502286,24.7455668,barrier=gate,barrier=gate;garmin:legend=barrier_gate,barrier_gate,15,icon_legend_verified
|
||||
0x3003,841,,43.2501698,27.7748966,,amenity=townhall,tourism_information,15,not_on_legend
|
||||
0x2f01,778,,41.5430832,23.2712317,,amenity=fuel,tourism_information,15,not_on_legend
|
||||
0x6503,760,Кръстопът,43.4149003,28.4942007,,bgm:trail_junction=yes;garmin:legend=crossroad;bgm:unclassified=yes,information_guidepost,15,icon_legend_verified
|
||||
0x3002,564,,42.5638032,27.6036644,,emergency=first_aid,tourism_information,15,not_on_legend
|
||||
0x2c02,538,,42.3479176,25.0754786,,amenity=kindergarten,tourism_information,15,not_on_legend
|
||||
0x2a0e,525,,42.0046806,24.8740768,,shop=yes,shop_general,15,not_on_legend
|
||||
0x2e03,502,,43.2763910,27.9675651,,shop=yes,shop_general,15,not_on_legend
|
||||
0x2e05,487,Аптека,42.7442837,25.3431416,amenity=pharmacy,amenity=pharmacy;garmin:legend=pharmacy,amenity_pharmacy,15,icon_legend_verified
|
||||
0x2f05,486,,42.0306015,23.8108063,amenity=post_office,amenity=post_office,tourism_information,15,not_on_legend
|
||||
0x2e02,477,,41.6551137,25.5503798,,shop=convenience,shop_general,15,not_on_legend
|
||||
0x2c03,474,,43.2219315,25.7480693,,amenity=community_centre,tourism_information,15,not_on_legend
|
||||
0x6400,465,Кариера,40.8776808,23.9436078,landuse=quarry,landuse=quarry;garmin:legend=quarry,natural_stone,15,icon_legend_verified
|
||||
0x2d02,434,,42.1507859,24.7315550,,bgm:landmark=unknown;bgm:unclassified=yes,tourism_information,15,not_on_legend
|
||||
0x6506,424,Музей,42.1463013,24.7487855,tourism=museum,tourism=museum;garmin:legend=museum,tourism_museum,15,icon_legend_verified
|
||||
0x661a,384,Античен обект,41.7153454,26.0307527,historic=archaeological_site,historic=archaeological_site;garmin:legend=antiquity_site,historic_archaeological_site,15,icon_legend_verified
|
||||
0x6609,372,Хижа,43.2779145,27.1159101,tourism=alpine_hut,tourism=alpine_hut;garmin:legend=hut,tourism_alpine_hut,15,icon_legend_verified
|
||||
0x2e06,348,,43.4717417,23.9467192,,shop=yes,shop_general,15,not_on_legend
|
||||
0x2d09,337,,41.8625021,23.5053134,leisure=swimming_pool,leisure=swimming_pool,tourism_information,15,not_on_legend
|
||||
0x2f06,320,,42.3073840,23.8596869,,amenity=bank,tourism_information,15,not_on_legend
|
||||
0x2f0c,320,Джамия,44.0549612,26.7991304,amenity=place_of_worship;religion=muslim,amenity=place_of_worship;religion=muslim;garmin:legend=mosque,building_type_mosque,15,icon_legend_verified
|
||||
0x661b,319,Средновековен обект,42.0922279,24.2505813,historic=archaeological_site,historic=archaeological_site;garmin:legend=medieval_site,historic_archaeological_site,15,icon_legend_verified
|
||||
0x6418,305,,42.7693677,26.3003898,,power=generator;generator:source=wind,tourism_information,15,not_on_legend
|
||||
0x900,283,Град <75 000,42.0570374,24.5459247,place=town,place=town;garmin:legend=town,mountain,15,icon_legend_verified
|
||||
0x660a,275,Заслон,42.8157377,23.8160634,amenity=shelter;shelter_type=basic_hut,amenity=shelter;shelter_type=basic_hut;garmin:legend=refuge,amenity_shelter,15,icon_legend_verified
|
||||
0x6415,264,Място за бивакуване,41.7506647,25.1023221,tourism=camp_site,tourism=camp_site;garmin:legend=camp_site,tourism_camp_site,15,icon_legend_verified
|
||||
0x6405,260,Ловна хижа,42.7514720,27.2207522,,building=hut;garmin:legend=hunting_lodge,tourism_alpine_hut,15,icon_legend_verified
|
||||
0x1040d,229,,41.9180989,28.0489111,,bgm:unclassified=yes,tourism_information,15,extended_unverified
|
||||
0x2a07,227,,43.8551474,25.9693837,,bgm:landmark=unknown;bgm:unclassified=yes,tourism_information,15,not_on_legend
|
||||
0x6619,195,Праисторически обект,42.5703692,25.3767228,historic=archaeological_site,historic=archaeological_site;garmin:legend=prehistoric_site,historic_archaeological_site,15,icon_legend_verified
|
||||
0x3001,170,,43.3623934,25.1447439,,bgm:unclassified=yes,tourism_information,15,not_on_legend
|
||||
0x6601,165,Природен феномен,42.9589677,25.2119064,,bgm:landmark=natural_phenomenon;garmin:legend=natural_phenomenon;bgm:unclassified=yes,natural_stone,15,icon_legend_verified
|
||||
0x2e0a,159,,43.8517356,25.9867859,,shop=car,shop_general,15,not_on_legend
|
||||
0x10401,157,,42.6565218,27.7297497,,bgm:unclassified=yes,tourism_information,15,extended_unverified
|
||||
0x640d,137,Лифт,42.6056242,23.2995987,,aerialway=station;garmin:legend=lift,aerialway_station,15,icon_legend_verified
|
||||
0x3007,132,,43.2023406,25.7318473,,man_made=pumping_station,tourism_information,15,not_on_legend
|
||||
0x2f08,123,,42.6397204,23.3731771,,bgm:landmark=unknown;bgm:unclassified=yes,tourism_information,15,not_on_legend
|
||||
0xe00,114,,43.9952660,22.8717756,,place=neighbourhood,mountain,15,not_on_legend
|
||||
0x6419,113,,42.5478601,26.7053819,,power=generator;generator:source=solar,tourism_information,15,not_on_legend
|
||||
0x6617,112,Връх,41.7893529,22.9647946,natural=peak,natural=peak;garmin:legend=peak,natural_peak,15,icon_legend_verified
|
||||
0x2f03,106,,41.3775158,25.0830102,,shop=car_repair,shop_general,15,not_on_legend
|
||||
0x2e07,105,Магазин за дрехи,43.0698609,25.6080151,shop=clothes,shop=clothes;garmin:legend=clothes_shop,shop_general,15,icon_legend_verified
|
||||
0x4700,101,Пристанище,41.6431189,25.2845192,industrial=port,garmin:legend=port;bgm:legend=port;bgm:needs_geographic_review=yes,tourism_information,15,icon_legend_verified
|
||||
0x6410,98,,43.6105728,23.6852574,,bgm:unclassified=yes,tourism_information,17,not_on_legend
|
||||
0x660c,94,,43.6241341,22.4983478,natural=saddle,natural=saddle,natural_saddle,17,not_on_legend
|
||||
0x3006,85,,43.7391043,28.5608482,,bgm:unclassified=yes,tourism_information,17,not_on_legend
|
||||
0x6413,76,Тунел,42.6872063,23.3418703,,garmin:legend=tunnel;bgm:unclassified=yes,natural_cave_entrance,17,icon_legend_verified
|
||||
0x2d01,68,,42.8797030,25.3179932,,bgm:unclassified=yes,tourism_information,17,not_on_legend
|
||||
0x2e04,66,,42.5185919,27.4564004,,bgm:unclassified=yes,tourism_information,17,not_on_legend
|
||||
0x641a,62,Църква,42.9599547,23.0566549,amenity=place_of_worship,amenity=place_of_worship;garmin:legend=church,information,17,icon_legend_verified
|
||||
0x10701,58,,43.1964397,27.8618217,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x2c06,57,,43.2240987,27.9363871,,bgm:unclassified=yes,tourism_information,17,not_on_legend
|
||||
0x2d03,57,,42.6922703,23.3241892,,bgm:unclassified=yes,tourism_information,17,not_on_legend
|
||||
0x641e,55,,42.3201728,24.3003416,,bgm:unclassified=yes,tourism_information,17,not_on_legend
|
||||
0x2e0b,52,,42.1881008,24.3556809,,bgm:unclassified=yes,tourism_information,17,not_on_legend
|
||||
0x800,51,Град >75 000,43.9025259,22.2788572,place=city,place=city;garmin:legend=large_city,place_city,17,icon_legend_verified
|
||||
0x660f,44,,42.6426816,26.3592696,,bgm:unclassified=yes,tourism_information,17,not_on_legend
|
||||
0x10402,41,,43.2109666,28.1308579,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x3008,37,Пожарна,42.5666571,27.6193285,amenity=fire_station,amenity=fire_station;garmin:legend=fire_station,information,17,icon_legend_verified
|
||||
0x10705,33,,43.2224250,28.1217384,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x10706,32,,43.4509492,28.8183832,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x2c01,20,,42.0264173,23.9946342,,bgm:unclassified=yes,tourism_information,17,not_on_legend
|
||||
0x2c07,20,,43.1368518,24.7227359,,bgm:unclassified=yes,tourism_information,17,not_on_legend
|
||||
0x641d,17,,42.1828008,24.7408462,,bgm:unclassified=yes,tourism_information,17,not_on_legend
|
||||
0x6610,15,Поляна,42.8212094,26.1542845,,garmin:legend=meadow;bgm:unclassified=yes,grass,17,icon_legend_verified
|
||||
0x4e00,14,,41.9877291,24.0870094,,bgm:unclassified=yes,tourism_information,17,not_on_legend
|
||||
0x2e08,13,,42.7295208,23.2671332,,bgm:unclassified=yes,tourism_information,17,not_on_legend
|
||||
0x6408,12,ПСС,42.6026416,23.2414269,emergency=mountain_rescue,emergency=mountain_rescue;garmin:legend=mountain_rescue,mountain_rescue,17,icon_legend_verified
|
||||
0x10100,12,,42.4783373,27.4493837,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x6604,10,,42.2186995,27.7872348,,bgm:unclassified=yes,tourism_information,17,not_on_legend
|
||||
0x1020a,9,,42.4602699,27.4538684,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x2e09,8,,43.2294202,27.8701901,,bgm:unclassified=yes,tourism_information,17,not_on_legend
|
||||
0x660d,8,,42.6904893,23.4124017,,bgm:unclassified=yes,tourism_information,17,not_on_legend
|
||||
0x660e,8,,43.4520006,24.5126653,,bgm:unclassified=yes,tourism_information,17,not_on_legend
|
||||
0x10209,8,,42.4733591,27.4699187,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1020b,5,,41.8699050,28.0232477,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x2f0a,4,Синагога,41.5711713,23.7286234,amenity=place_of_worship;religion=jewish,amenity=place_of_worship;religion=jewish;garmin:legend=synagogue,information,17,icon_legend_verified
|
||||
0x2f0e,4,Автомивка,42.2939301,22.7035904,amenity=car_wash,amenity=car_wash;garmin:legend=car_wash,information,17,icon_legend_verified
|
||||
0x1040e,4,,42.8295565,27.9202938,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x10218,3,,42.0534110,27.9847956,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x200,2,Столица,41.0612941,28.8116670,place=city;capital=yes,place=city;capital=yes;garmin:legend=capital_city,place_city,17,icon_legend_verified
|
||||
0x10000,2,,43.1772995,27.7539325,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x10018,2,,43.1856465,27.9490042,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x10204,2,,42.6573801,27.7476025,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1020c,2,,43.1899381,27.8013968,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x10403,2,,41.3038731,28.7996078,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x18a1f,2,,43.2052374,27.8961754,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1b402,2,,42.5443196,27.5562000,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1b41c,2,,43.1952381,27.7601337,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1e21f,2,,43.2048941,27.7844238,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x641f,1,,43.7468505,23.7692428,,bgm:unclassified=yes,tourism_information,17,not_on_legend
|
||||
0x10118,1,,43.1870842,27.6683164,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1011e,1,,42.5841022,27.6902461,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x10205,1,,42.4590254,27.5740099,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1041e,1,,42.6499343,27.8320599,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x10501,1,,43.2052803,27.9446054,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x10602,1,,42.7095008,27.8530884,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1061d,1,,43.2051730,27.9395843,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x10801,1,,42.8644896,27.9285121,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x10903,1,,42.6283908,27.6877141,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x10a01,1,,43.2014394,27.8667355,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x10b01,1,,41.8894100,28.0229688,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x10b09,1,,43.2140994,27.9750752,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x10c00,1,,43.2016969,27.9050374,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x10d01,1,,43.2011819,27.8610492,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1161f,1,,43.1953883,27.9319453,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1171e,1,,43.2054305,27.8968406,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1181f,1,,43.2013321,27.7061892,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x11901,1,,43.8046575,28.5944295,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x11902,1,,43.2049370,27.7813983,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x11a02,1,,43.1968260,27.6557207,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1201f,1,,42.5242352,27.5483894,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x12102,1,,42.4892378,27.5353217,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x12502,1,,43.2015038,27.8690314,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x12a03,1,,42.6277685,27.7115536,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x12c1e,1,,43.2013321,27.7046227,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x12d01,1,,43.1838441,27.9260015,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x12e1f,1,,43.2423377,28.1846094,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x13001,1,,43.1683517,28.0398345,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1321f,1,,42.6127267,27.8121257,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1331f,1,,43.2015467,27.8662419,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x13400,1,,43.1861830,27.9269886,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x13a01,1,,42.5860548,27.6915121,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x13c03,1,,42.4661279,27.6418805,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x13d1e,1,,43.2068896,27.9138136,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1411e,1,,43.2047009,27.7807546,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x14400,1,,43.2175541,27.9579949,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x14401,1,,43.2052159,27.9493475,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1441c,1,,43.1683731,28.0286121,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x14501,1,,42.6383686,27.8804684,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x14602,1,,43.1857967,27.8471661,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1461c,1,,43.2015252,27.7032280,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1461f,1,,43.2052588,27.8920341,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1471f,1,,43.2224464,27.8871202,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x14803,1,,42.5953245,27.7765274,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1481f,1,,43.2054090,27.8980207,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x14a1e,1,,43.2069111,27.9140067,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x14b01,1,,43.2014823,27.8672075,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x14c01,1,,43.2069111,27.9118609,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x14d1f,1,,42.5163817,27.6553559,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x14e1e,1,,42.4459577,27.6790023,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x15200,1,,43.2048941,27.7857113,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x15303,1,,43.2014179,27.8711987,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1541d,1,,42.4657202,27.6436615,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x15501,1,,43.2052588,27.8956819,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x15800,1,,43.2052588,27.9370308,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x15a00,1,,43.2053447,27.8867555,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x15e01,1,,42.6091433,27.6586604,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x16103,1,,43.1455421,28.0770850,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x16201,1,,43.2000232,27.9100585,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x16701,1,,43.1955171,27.9348421,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1681c,1,,42.6561785,27.8976774,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1681d,1,,43.2166100,28.0465937,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x16a00,1,,43.2054305,27.8999090,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x16b1c,1,,42.6562428,27.9021621,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x16e1f,1,,42.6637101,27.7445555,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x17000,1,,42.5416589,27.6806760,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1711d,1,,43.2069111,27.9155731,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x17303,1,,42.5860977,27.6886582,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1731e,1,,43.1925559,27.8419733,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1751f,1,,43.2048941,27.7850676,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1771e,1,,42.4598193,27.7104378,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1791e,1,,43.2051516,27.8927636,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x17d1e,1,,43.2051086,27.9474807,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x17e03,1,,43.1967616,27.6618361,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x18003,1,,43.1717634,27.9500127,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1811e,1,,42.5413799,27.6878858,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x18302,1,,43.2048941,27.7903032,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1861d,1,,43.2015252,27.8606415,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1861f,1,,43.2055807,27.8994370,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x18901,1,,42.6384759,27.8675079,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x18c1e,1,,43.2053876,27.8944159,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x18d01,1,,42.6413083,27.7646613,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x19001,1,,42.6142931,27.7507782,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1921f,1,,43.1928349,27.8456640,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x19a00,1,,43.0997944,27.9608488,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x19d03,1,,42.8070259,27.9287481,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1a11f,1,,42.6562643,27.9072046,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1a401,1,,43.1839085,27.9244995,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1a501,1,,42.6584101,27.8624225,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1a51c,1,,43.2050872,27.9406786,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1a800,1,,42.5856042,27.6471162,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1a81c,1,,43.2015252,27.7040648,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1a91c,1,,43.2051516,27.9386616,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1a91f,1,,43.1954098,27.9332972,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1ab1f,1,,42.5952172,27.7136993,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1b101,1,,43.1928992,27.8481531,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1b31f,1,,43.2052374,27.9455066,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1b703,1,,42.7092648,27.8581309,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1ba03,1,,43.2014394,27.8686452,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1be1c,1,,43.2013321,27.7118969,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1c11e,1,,43.1928992,27.8475738,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1c31d,1,,43.1954956,27.9373097,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1c500,1,,43.2015681,27.8681087,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1c71f,1,,43.2048726,27.7903676,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1c81e,1,,43.1928992,27.8485823,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1cb1f,1,,43.2015681,27.8663921,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1ce02,1,,43.2049799,27.7835441,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1d501,1,,42.4691319,27.6782942,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1d51e,1,,43.2054305,27.8993511,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1d61f,1,,43.2015681,27.8704262,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1d71c,1,,43.2011819,27.8677869,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1d800,1,,43.2052159,27.8855324,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1da01,1,,42.5940800,27.8528523,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1da1e,1,,42.4458933,27.5304723,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1db01,1,,43.1839299,27.9252076,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1db1e,1,,43.2012463,27.8598905,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1db1f,1,,43.1928563,27.8472519,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1dc01,1,,43.1860757,27.8722286,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1de1f,1,,43.2052588,27.9385757,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1e101,1,,43.1975555,27.8627014,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1ea00,1,,43.1715059,27.9508066,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1ec1d,1,,43.2013321,27.7051377,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1f401,1,,43.1708193,28.0719352,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1f501,1,,42.5145793,27.5918198,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1fb01,1,,43.2013750,27.7114248,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1ff00,1,,43.2054734,27.8981280,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1ff11,1,,42.4699044,27.4409509,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
0x1ff18,1,,43.1953454,27.9564929,,bgm:unclassified=yes,tourism_information,17,extended_unverified
|
||||
|
@@ -0,0 +1,68 @@
|
||||
code,legend_en,legend_bg,reviewed_semantics,occurrences_in_img_v05,confidence,evidence,status
|
||||
0x200,Capital City,Столица,place=city;capital=yes,2,visual_exact,Exact concentric capital icon,present
|
||||
0x800,Large City,Град >75 000,place=city,51,visual_exact,Exact medium city circle icon,present
|
||||
0x900,Town,Град <75 000,place=town,283,visual_exact,Exact small city circle icon,present
|
||||
0x2c05,School,Училище,amenity=school,2481,visual_exact,Exact yellow school icon,present
|
||||
0x2c0b,Church,Църква,amenity=place_of_worship,1606,visual_exact,Exact yellow church icon,present
|
||||
0x2d04,Casino,Казино,amenity=casino,0,visual_exact,Exact dice/cards casino icon,icon_defined_not_seen_in_IMG
|
||||
0x2d08,Ice Rink,Пързалка,leisure=ice_rink,0,visual_exact,Exact yellow ice-skating icon,icon_defined_not_seen_in_IMG
|
||||
0x2e05,Pharmacy,Аптека,amenity=pharmacy,487,visual_exact,Exact yellow pharmacy cup icon,present
|
||||
0x2e07,Clothes shop,Магазин за дрехи,shop=clothes,105,visual_exact,Exact clothes-on-hanger icon,present
|
||||
0x2f0a,Synagogue,Синагога,amenity=place_of_worship;religion=jewish,4,visual_exact,Exact yellow star icon,present
|
||||
0x2f0c,Mosque,Джамия,amenity=place_of_worship;religion=muslim,320,visual_exact,Exact crescent icon,present
|
||||
0x2f0e,Car Wash,Автомивка,amenity=car_wash,4,visual_exact,Exact blue/red carwash icon,present
|
||||
0x3004,Courthouse,Съд,amenity=courthouse,0,visual_exact,Exact grey courthouse icon,icon_defined_not_seen_in_IMG
|
||||
0x3008,Fire Station,Пожарна,amenity=fire_station,37,visual_exact,Exact firefighter icon,present
|
||||
0x4700,Port,Пристанище,industrial=port,101,visual_exact,Exact anchor; functional port use not independently confirmed,present
|
||||
0x6400,Quarry,Кариера,landuse=quarry,465,visual_exact,Exact crossed mining tools icon; point vs area geometry still to assess,present
|
||||
0x6401,Bridge,Мост,man_made=bridge,1679,visual_exact,Exact bridge-icon depiction; original route connectivity not established,present
|
||||
0x6402,Building,Сграда,building=yes,6186,visual_exact,Exact yellow building icon; original building footprint not present,present
|
||||
0x6403,Graveyard/Tombstone,"Гробище, оброк",,1729,visual_exact,Exact grave cross; ambiguous between graveyard and religious votive feature,present
|
||||
0x6404,Church,Църква,amenity=place_of_worship,1507,visual_exact,Exact church icon,present
|
||||
0x6405,Hunting Lodge,Ловна хижа,,260,visual_exact,Exact hunting lodge icon; do NOT infer tourist/alpine hut,present
|
||||
0x6406,Barrier/Gate,Бариера,barrier=gate,854,visual_exact,Exact black/red barrier icon,present
|
||||
0x6407,Picnic Site,Пикник,tourism=picnic_site,2861,visual_exact,Exact picnic bench icon,present
|
||||
0x6408,Mountain Rescue,ПСС,emergency=mountain_rescue,12,visual_exact,Exact shield with red cross,present
|
||||
0x6409,Monument,Паметник,historic=monument,1235,visual_exact,Exact obelisk icon,present
|
||||
0x640a,Danger,Опасност,,2095,visual_exact,"Exact danger triangle, but specific hazard is unspecified",present
|
||||
0x640b,Chapel,Параклис,amenity=place_of_worship,1128,visual_exact,Exact small chapel icon,present
|
||||
0x640c,Mine Shaft,Мина,man_made=mine_shaft,1353,visual_exact,Exact crossed tools icon,present
|
||||
0x640d,Lift,Лифт,,137,visual_exact,Exact chairlift icon; unknown whether point is aerialway station or line,present
|
||||
0x640e,Bus Stop/Station,Спирка,highway=bus_stop,977,visual_exact,Exact bus stop icon; may be terminal rather than stop,present
|
||||
0x640f,Graveyard/Tombstone,"Гробище, оброк",,2766,visual_exact,Exact two-cross marker; ambiguous cemetery versus religious site,present
|
||||
0x6411,Tower,Кула,man_made=tower,875,visual_exact,Exact tower icon,present
|
||||
0x6412,Trailhead,Начало пътека,highway=trailhead,0,visual_exact,Exact walking-person trailhead icon; corrects former guidepost,icon_defined_not_seen_in_IMG
|
||||
0x6413,Tunnel,Тунел,,76,visual_exact,Exact tunnel portal icon; avoid tunnel=yes on standalone node,present
|
||||
0x6414,Drinking Water,Чешма,amenity=drinking_water,32922,visual_exact,Exact tap/fountain icon; source may include dry fountains,present
|
||||
0x6415,Camp Site,Място за бивакуване,tourism=camp_site,264,visual_exact,Exact blue tent icon; corrects shelter,present
|
||||
0x6416,Ruins,Руини,historic=ruins,2886,visual_exact,Exact ruin block icon,present
|
||||
0x6417,Well,Кладенец,man_made=water_well,8868,visual_exact,Exact turquoise well-circle icon; no automatic drinking-water claim,present
|
||||
0x641a,Church,Църква,amenity=place_of_worship,62,visual_exact,Exact yellow church icon,present
|
||||
0x641b,Church,Църква,amenity=place_of_worship,0,visual_exact,Exact yellow church icon,icon_defined_not_seen_in_IMG
|
||||
0x641c,Bus Stop/Station,Спирка,highway=bus_stop,3120,visual_exact,Exact blue bus station icon,present
|
||||
0x6500,Reservoir,Каптаж,,31214,visual_exact,"Exact solid blue square; legend means catchment/reservoir, not waterworks",present
|
||||
0x6501,Restaurant,Ресторант,amenity=restaurant,2412,visual_exact,Exact fork+knife icon; corrects name-based cafe inference,present
|
||||
0x6502,River Passage,Брод,,1864,visual_exact,Exact blue river crossing; need to verify whether it is ford=yes,present
|
||||
0x6503,Crossroad,Кръстопът,,760,visual_exact,Exact black crossroad icon; corrects guidepost assumption,present
|
||||
0x6505,Shop,Магазин,shop=yes,0,visual_exact,Exact shopfront icon,icon_defined_not_seen_in_IMG
|
||||
0x6506,Museum,Музей,tourism=museum,424,visual_exact,Exact museum icon,present
|
||||
0x650b,Winter Marking,Зимна маркировка,,8767,visual_exact,Exact winter red/yellow marker; corrects information=board,present
|
||||
0x650c,Dead End,Задънена улица,noexit=yes,0,visual_exact,Exact blue square T sign; point is dead-end indicator,icon_defined_not_seen_in_IMG
|
||||
0x6511,Spring,Извор,natural=spring,50308,visual_exact,Exact blue water spring drop; no automatic potable-water claim,present
|
||||
0x6600,Triangulation,Кота,,66206,visual_exact,Exact square survey icon; preserve any independently parsed numeric elevation,present
|
||||
0x6601,Natural Phenomenon,Природен феномен,,165,visual_exact,Exact natural-phenomenon hiking silhouette; subtype unknown,present
|
||||
0x6602,Viewpoint,Гледка,tourism=viewpoint,891,visual_exact,Exact black camera icon,present
|
||||
0x6603,Triangulation,Кота,man_made=survey_point,26366,visual_exact,Exact black square survey-point icon,present
|
||||
0x6608,Hotel,Хотел,tourism=hotel,2644,visual_exact,Exact hotel/bed icon; corrects viewpoint,present
|
||||
0x6609,Hut,Хижа,tourism=alpine_hut,372,visual_exact,Exact mountain hut icon,present
|
||||
0x660a,Refuge,Заслон,amenity=shelter;shelter_type=basic_hut,275,visual_exact,Exact refuge icon; shelter type provisional,present
|
||||
0x660b,Mark,Маркировка,,2612,visual_exact,Exact black circle mark icon; corrects information=board,present
|
||||
0x6610,Meadow,Поляна,,15,visual_exact,Exact green meadow/flag icon; point geometry not polygon,present
|
||||
0x6613,Waterfall,Водопад,waterway=waterfall,1746,visual_exact,Exact three blue streams icon,present
|
||||
0x6614,Rock,Скала,,15289,visual_exact,Exact black rock silhouette; many numerical labels require additional checking,present
|
||||
0x6615,Cave,Пещера,natural=cave_entrance,942,visual_exact,Exact yellow cave icon,present
|
||||
0x6617,Peak,Връх,natural=peak,112,visual_exact,Exact triangular mountain icon,present
|
||||
0x6618,Tree,Дърво,natural=tree,10176,visual_exact,Exact green pine icon,present
|
||||
0x6619,Prehistoric site,Праисторически обект,historic=archaeological_site,195,visual_exact,Exact yellow prehistoric icon,present
|
||||
0x661a,Antiquity site,Античен обект,historic=archaeological_site,384,visual_exact,Exact yellow antiquity icon,present
|
||||
0x661b,Medieval site,Средновековен обект,historic=archaeological_site,319,visual_exact,Exact yellow medieval icon,present
|
||||
|
@@ -0,0 +1,118 @@
|
||||
mapset,code,lat,lon,previous_name,new_name,strict_retained,note
|
||||
02235021,0x10100,43.4110165,28.3561635,,LFl W 5s 5M,yes,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x1001f,42.5125623,27.2854257,,ика,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x10100,43.1701112,27.9448843,,LFl(3) 15s 26M Fog(n),yes,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x10100,43.1873202,27.9218388,,LFl W 10s 10M,yes,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x10100,43.1913543,27.9202938,,Iso G 4s 2M,yes,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x10101,43.1972551,27.3595619,,рска приказка,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x10107,43.2118893,27.3650122,,азсадника,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x1010d,43.1999588,27.2827220,,а,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x10110,43.1816769,27.3898816,,Байрямходжа,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x10209,43.1984782,27.8729796,,Fl R,yes,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x10209,43.1995296,27.8640532,,Fl R,yes,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x10209,43.1999803,27.8736019,,Fl G (2+1) 10s,yes,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x10209,43.2022333,27.8879142,,Fl R,yes,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x10209,43.2039928,27.8854036,,Fl R,yes,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x1020a,43.1873417,27.9283190,,Fl G 3s 4M,yes,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x1020a,43.1929851,27.7361441,,Fl G,yes,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x1020a,43.1951952,27.7179480,,Fl G,yes,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x1020a,43.1970191,27.7040434,,Fl G,yes,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x1020b,43.1872773,27.8926563,,Y Fl 5s 4M,yes,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x1041d,43.5910678,27.7808833,ка,,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x1081f,42.7471161,27.8701687,дичката,,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x10a1e,43.2076192,27.9695392, Дебелянов А:9,,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x1161e,43.5382390,27.9140496,а чешма тече,,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x1381c,43.2196784,27.7099657,аслон ЛРД Гроздьово(закл.),,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x13d1e,43.2068896,27.9138136,,я припек,yes,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x1451f,43.2791591,27.8135848, (196),,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x14e1e,43.4941864,27.8600621,ес,,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x15d1e,43.4057808,27.7575803,Геров',,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x1681f,43.3688521,27.6615357,олявания,,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x16a1f,43.7723422,27.7879000,ка,,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x1701f,43.8288403,27.9363227, - Варна“,,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x17a1e,42.5776649,28.4707046,ero,,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x18a1e,42.5776649,28.2399917,Iso G 4s 2M,,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x18a1f,43.2052374,27.8961754,,ставена,yes,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x18b1f,43.8247848,27.6633596,,ва чешма,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x18f1f,43.7823415,27.9808688,нц Банк,,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x1901f,42.5457573,27.9449272,Павлов,,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x1951c,43.4540176,27.9401207,частно у-ще Юрий Гагарин,,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x1971f,43.5492253,27.9103589,мир,,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x19e1d,43.2855964,27.7119613,ладост,,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x1a01f,42.5457573,28.1428528,ека,,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x1a41e,43.2681727,27.8133273,,ва чешма,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x1a91d,43.3990860,27.9460645,янка,,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x1ad1c,42.6961327,27.8991795, Кирил и Методий,,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x1b31e,42.5776649,27.9816413,ибите,,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x1b71d,43.6789584,27.7872133,ия,,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x1b91e,42.5776649,28.1960464,улар,,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x1bb1f,43.5775924,27.6611495,дичката,,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x1bc1d,42.5383759,27.8599763,– Горна махала,,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x1c41f,42.9374027,27.9581237,,овачев чучур,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x1cb1d,43.7515712,27.8164387,я припек,,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x1cb1f,43.5310936,27.8975701,ев,,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x1cd1f,43.6151433,27.9139209, Крали Марко,,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x1cf1f,43.2135201,27.7617216,Геров',,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x1d51e,43.2054305,27.8993511,,вец,yes,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x1d71f,43.2176614,27.6753974,пе (247),,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x1db1d,43.3505058,27.8923774,и Кочовото,ва чешма,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x1e11e,43.3231044,27.8128767, Крали Марко,,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x1e41f,42.5117254,27.9763198,формационен център,,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x1ea1f,42.5860977,27.9441977,t-атракционен к-с,,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x1f31f,42.5421524,27.9463005,пин,,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x1f61f,42.4895167,27.4341702,юпрю,,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x1f61f,42.4913406,28.6044717,осеняк,,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x1f81f,43.6141133,27.9245639,дония,,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x1fb1f,43.2299137,27.9362583,дов,,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x1fc0e,43.1847239,28.3298993,"а А:9,60,55",,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x1fc11,43.1847024,27.3301649,ската чешма,,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x1fc13,43.1785226,27.5834513,"а А:9,60,55",,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x1fd1c,43.1948948,27.3650336,,да,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x1fd1e,43.2076836,27.3123980,,ставена,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x1fd1f,43.1785440,27.3747110,ската чешма,,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x1fd1f,43.2176614,27.6763201,рево дере,,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x1fe04,42.4892592,27.7805829,ски,,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x1fe0d,43.1885004,27.5156236,ската чешма,,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x1ff16,43.1785440,27.3747110,ската чешма,,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235032,0x1ff1f,43.6459565,27.9016256,,not for sale,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235033,0x11d1f,42.5101376,27.8002381,а,,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235033,0x1fe1f,42.5162959,27.7108026,ена,,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235044,0x13e1f,42.7236843,27.7475381,трап,,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235044,0x1b31e,42.1718574,27.2740746,лото кладенче,,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235044,0x1dd1c,42.7140284,27.7933073,,iner,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235055,0x10100,42.4783373,27.4493837,,LFl 4.5s W 4M,yes,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235055,0x10100,42.4815774,27.4833083,,LFl W 3s 10M Horn(n),yes,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235055,0x10209,42.4596262,27.4533534,,R,yes,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235055,0x10209,42.4733591,27.4699187,,Fl 3s,yes,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235055,0x10209,42.4790454,27.4806905,,Fl 3s,yes,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235055,0x1020a,42.4593043,27.4570227,,G,yes,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235055,0x1020a,42.4602699,27.4538684,,G,yes,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235055,0x1020a,42.4753761,27.4862909,,Fl 3s,yes,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235055,0x1020b,42.4769211,27.4610353,,Fl 4s W,yes,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235056,0x10100,42.4683380,27.5529599,,LFl8s 8/4M,yes,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235056,0x10204,42.5164247,27.6434898,,LFl(3) W 10s Horn,yes,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235056,0x10204,42.6573801,27.7476025,,Fl(3) W 10s,yes,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235056,0x1020a,42.4481034,27.5333905,,Fl 3s G,yes,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235056,0x1020a,42.4743032,27.5255370,,Fl 3s G 7.6M,yes,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235056,0x10d1f,43.0592179,27.7399421,есебър,,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235056,0x1401f,42.0054746,27.9379106,тво на Пресвета Богородица,,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235056,0x1511d,42.9270601,27.5779152,ра,,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235056,0x1681c,42.6561785,27.8976774,,Тюлен,yes,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235056,0x1721f,41.8052316,27.2527027,кия път,,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235056,0x1801f,42.2969770,27.6732945,,к,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235056,0x1801f,42.2969770,27.6735735,,к,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235056,0x1811f,42.2969770,27.6737022,,к,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235056,0x18b16,42.4416447,27.2098732,, Волов,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235056,0x1a31f,41.9548130,27.5373173,ва Парадайз Резорт,,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235056,0x1a31f,41.9610357,28.0307364,sto,,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235056,0x1c31c,43.1126475,27.6588106,айряк,,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235056,0x1c71d,42.6243782,27.8401279,,оргиев,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235056,0x1e21f,41.9545984,27.8767347,ch Resort,,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235056,0x1f51f,42.0065045,27.7718925,ака,,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235056,0x1fe1e,43.0608487,27.5399780,Баливата поляна,,no,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235068,0x10100,42.2332907,27.7816129,,LFl W 4.5s 2M,yes,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235068,0x10100,42.2633958,27.7585888,,Iso W 6s 6M,yes,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235081,0x10100,41.8847537,28.0560136,,Fl(2) W 5s 20M,yes,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235081,0x1020b,41.8699050,28.0232477,,Fl(2) 6s,yes,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235093,0x10100,41.6336131,28.0994225,,Fl W 10s 12M,yes,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
02235094,0x10100,41.3474965,28.6828995,,Fl W 5s 15M,yes,"Corrected extended POI label byte offset (before, some strings accidentally decoded from wrong LBL address)"
|
||||
|
@@ -0,0 +1,61 @@
|
||||
code,raw_count,legend_en,legend_bg,old_default_tags,previous_override_mode,new_override_mode,new_override_tags,evidence,reason,example_lat,example_lon,example_name
|
||||
0x200,2,Capital City,Столица,,append,replace,garmin:legend=capital_city;place=city;capital=yes,exact TYP icon match + provided BGMountains legend,Exact concentric capital icon,41.0612941,28.8116670,Истанбул
|
||||
0x800,51,Large City,Град >75 000,,append,replace,garmin:legend=large_city;place=city,exact TYP icon match + provided BGMountains legend,Exact medium city circle icon,41.4337349,22.0119452,Кавадарци
|
||||
0x900,283,Town,Град <75 000,,append,replace,garmin:legend=town;place=town,exact TYP icon match + provided BGMountains legend,Exact small city circle icon,43.4656477,24.8692060,Славяново
|
||||
0x2c05,2481,School,Училище,,append,replace,garmin:legend=school;amenity=school,exact TYP icon match + provided BGMountains legend,Exact yellow school icon,42.6968622,23.3169794,91-ва НЕГ
|
||||
0x2c0b,1606,Church,Църква,amenity=place_of_worship,append,replace,garmin:legend=church;amenity=place_of_worship,exact TYP icon match + provided BGMountains legend,Exact yellow church icon,42.2740817,27.4773002,Свети Атанасий
|
||||
0x2e05,487,Pharmacy,Аптека,,append,replace,garmin:legend=pharmacy;amenity=pharmacy,exact TYP icon match + provided BGMountains legend,Exact yellow pharmacy cup icon,42.2891879,22.6976037,Аполон
|
||||
0x2e07,105,Clothes shop,Магазин за дрехи,,append,replace,garmin:legend=clothes_shop;shop=clothes,exact TYP icon match + provided BGMountains legend,Exact clothes-on-hanger icon,43.5691166,27.8283262,На Тъмно
|
||||
0x2f0a,4,Synagogue,Синагога,,append,replace,garmin:legend=synagogue;amenity=place_of_worship;religion=jewish,exact TYP icon match + provided BGMountains legend,Exact yellow star icon,41.5711713,23.7286234,Синагога
|
||||
0x2f0c,320,Mosque,Джамия,,append,replace,garmin:legend=mosque;amenity=place_of_worship;religion=muslim,exact TYP icon match + provided BGMountains legend,Exact crescent icon,41.7266321,24.6736193,Джамия
|
||||
0x2f0e,4,Car Wash,Автомивка,,append,replace,garmin:legend=car_wash;amenity=car_wash,exact TYP icon match + provided BGMountains legend,Exact blue/red carwash icon,42.2939301,22.7035904,Олимпия
|
||||
0x3008,37,Fire Station,Пожарна,,append,replace,garmin:legend=fire_station;amenity=fire_station,exact TYP icon match + provided BGMountains legend,Exact firefighter icon,42.6372099,24.3618178,Пожарна команда
|
||||
0x4700,101,Port,Пристанище,,append,replace,garmin:legend=port;industrial=port,exact TYP icon match + provided BGMountains legend,Exact anchor; functional port use not independently confirmed,42.0604706,27.9666424,Пристан разходки
|
||||
0x6400,465,Quarry,Кариера,,append,replace,garmin:legend=quarry;landuse=quarry,exact TYP icon match + provided BGMountains legend,Exact crossed mining tools icon; point vs area geometry still to assess,41.5047598,23.8884187,баластерна (Кам.)
|
||||
0x6401,1679,Bridge,Мост,,append,replace,garmin:legend=bridge;man_made=bridge,exact TYP icon match + provided BGMountains legend,Exact bridge-icon depiction; original route connectivity not established,41.2652493,25.2744985,Разрушен мост!
|
||||
0x6402,6186,Building,Сграда,,append,replace,garmin:legend=building;building=yes,exact TYP icon match + provided BGMountains legend,Exact yellow building icon; original building footprint not present,42.1432757,27.3156166,Бункер
|
||||
0x6403,1729,Graveyard/Tombstone,"Гробище, оброк",,append,replace,garmin:legend=graveyard_tombstone,exact TYP icon match + provided BGMountains legend,Exact grave cross; ambiguous between graveyard and religious votive feature,42.9402995,23.2433367,Св. Богородица
|
||||
0x6404,1507,Church,Църква,amenity=place_of_worship,append,replace,garmin:legend=church;amenity=place_of_worship,exact TYP icon match + provided BGMountains legend,Exact church icon,42.5159526,24.8802352,църква Св. Троица
|
||||
0x6405,260,Hunting Lodge,Ловна хижа,tourism=alpine_hut,append,replace,garmin:legend=hunting_lodge,exact TYP icon match + provided BGMountains legend,Exact hunting lodge icon; do NOT infer tourist/alpine hut,41.9273901,24.6181726,Ловен дом
|
||||
0x6406,854,Barrier/Gate,Бариера,,append,replace,garmin:legend=barrier_gate;barrier=gate,exact TYP icon match + provided BGMountains legend,Exact black/red barrier icon,42.9346991,24.3904638,Ловно стопанство
|
||||
0x6407,2861,Picnic Site,Пикник,tourism=picnic_site,append,replace,garmin:legend=picnic_site;tourism=picnic_site,exact TYP icon match + provided BGMountains legend,Exact picnic bench icon,42.0027494,27.7377534,Пейки
|
||||
0x6408,12,Mountain Rescue,ПСС,emergency=mountain_rescue,append,replace,garmin:legend=mountain_rescue;emergency=mountain_rescue,exact TYP icon match + provided BGMountains legend,Exact shield with red cross,42.7656770,25.5035806,ПСС
|
||||
0x6409,1235,Monument,Паметник,,append,replace,garmin:legend=monument;historic=monument,exact TYP icon match + provided BGMountains legend,Exact obelisk icon,41.5322685,23.4290528,Яне Сандански
|
||||
0x640a,2095,Danger,Опасност,,append,replace,garmin:legend=danger,exact TYP icon match + provided BGMountains legend,"Exact danger triangle, but specific hazard is unspecified",42.7237058,24.8196387,3-то въже
|
||||
0x640b,1128,Chapel,Параклис,amenity=place_of_worship,append,replace,garmin:legend=chapel;amenity=place_of_worship,exact TYP icon match + provided BGMountains legend,Exact small chapel icon,42.1218395,24.7316194,Св. Николай Чудотворец
|
||||
0x640c,1353,Mine Shaft,Мина,,append,replace,garmin:legend=mine_shaft;man_made=mine_shaft,exact TYP icon match + provided BGMountains legend,Exact crossed tools icon,41.4886451,24.9193740,lead
|
||||
0x640d,137,Lift,Лифт,aerialway=station,append,replace,garmin:legend=lift,exact TYP icon match + provided BGMountains legend,Exact chairlift icon; unknown whether point is aerialway station or line,41.6450930,24.6898842,Лифт Студенец 3 едноседалков (горна)
|
||||
0x640e,977,Bus Stop/Station,Спирка,,append,replace,garmin:legend=bus_stop_station;highway=bus_stop,exact TYP icon match + provided BGMountains legend,Exact bus stop icon; may be terminal rather than stop,42.6942873,23.3665466,Подуяне разпр.
|
||||
0x640f,2766,Graveyard/Tombstone,"Гробище, оброк",,append,replace,garmin:legend=graveyard_tombstone,exact TYP icon match + provided BGMountains legend,Exact two-cross marker; ambiguous cemetery versus religious site,41.4929795,24.6545863,гробище
|
||||
0x6411,875,Tower,Кула,man_made=tower,append,replace,garmin:legend=tower;man_made=tower,exact TYP icon match + provided BGMountains legend,Exact tower icon,41.6357160,24.3137312,Наблюдателница
|
||||
0x6413,76,Tunnel,Тунел,,append,replace,garmin:legend=tunnel,exact TYP icon match + provided BGMountains legend,Exact tunnel portal icon; avoid tunnel=yes on standalone node,42.6872063,23.3418703,Подлез
|
||||
0x6414,32922,Drinking Water,Чешма,amenity=drinking_water,append,replace,garmin:legend=drinking_water;amenity=drinking_water,exact TYP icon match + provided BGMountains legend,Exact tap/fountain icon; source may include dry fountains,41.5237284,24.6429133,(пресъхва)
|
||||
0x6415,264,Camp Site,Място за бивакуване,amenity=shelter,append,replace,garmin:legend=camp_site;tourism=camp_site,exact TYP icon match + provided BGMountains legend,Exact blue tent icon; corrects shelter,41.7062902,23.4892845,Бивак
|
||||
0x6416,2886,Ruins,Руини,,append,replace,garmin:legend=ruins;historic=ruins,exact TYP icon match + provided BGMountains legend,Exact ruin block icon,41.7404509,24.5439506,Овчарник
|
||||
0x6417,8868,Well,Кладенец,,append,replace,garmin:legend=well;man_made=water_well,exact TYP icon match + provided BGMountains legend,Exact turquoise well-circle icon; no automatic drinking-water claim,43.1815052,27.0594978,92
|
||||
0x641a,62,Church,Църква,amenity=place_of_worship,append,replace,garmin:legend=church;amenity=place_of_worship,exact TYP icon match + provided BGMountains legend,Exact yellow church icon,42.6823997,23.1001067,Дивотински ман. Св. Троица 805м
|
||||
0x641c,3120,Bus Stop/Station,Спирка,,append,replace,garmin:legend=bus_stop_station;highway=bus_stop,exact TYP icon match + provided BGMountains legend,Exact blue bus station icon,42.6686668,23.4124231,А:10
|
||||
0x6500,31214,Reservoir,Каптаж,man_made=water_works,append,replace,garmin:legend=reservoir,exact TYP icon match + provided BGMountains legend,"Exact solid blue square; legend means catchment/reservoir, not waterworks",42.0388198,24.2291665,шах.
|
||||
0x6501,2412,Restaurant,Ресторант,amenity=cafe,append,replace,garmin:legend=restaurant;amenity=restaurant,exact TYP icon match + provided BGMountains legend,Exact fork+knife icon; corrects name-based cafe inference,43.7800884,23.7217569,Механа Банята
|
||||
0x6502,1864,River Passage,Брод,,append,replace,garmin:legend=river_passage,exact TYP icon match + provided BGMountains legend,Exact blue river crossing; need to verify whether it is ford=yes,41.8396497,24.9647784,Брод
|
||||
0x6503,760,Crossroad,Кръстопът,tourism=information;information=guidepost,append,replace,garmin:legend=crossroad,exact TYP icon match + provided BGMountains legend,Exact black crossroad icon; corrects guidepost assumption,42.1621370,23.7036037,Рзкл х.Венетица
|
||||
0x6506,424,Museum,Музей,,append,replace,garmin:legend=museum;tourism=museum,exact TYP icon match + provided BGMountains legend,Exact museum icon,42.5559711,27.6403785,Худ. Галерия Дечко Стоев
|
||||
0x650b,8767,Winter Marking,Зимна маркировка,tourism=information;information=board,append,replace,garmin:legend=winter_marking,exact TYP icon match + provided BGMountains legend,Exact winter red/yellow marker; corrects information=board,42.7436614,24.7850704,47
|
||||
0x6511,50308,Spring,Извор,amenity=drinking_water,append,replace,garmin:legend=spring;natural=spring,exact TYP icon match + provided BGMountains legend,Exact blue water spring drop; no automatic potable-water claim,42.7327180,22.7021098,Балканджийски кладенец
|
||||
0x6600,66206,Triangulation,Кота,,append,append,garmin:legend=triangulation,exact TYP icon match + provided BGMountains legend,Exact square survey icon; preserve any independently parsed numeric elevation,41.6710138,25.2657866,341
|
||||
0x6601,165,Natural Phenomenon,Природен феномен,,append,replace,garmin:legend=natural_phenomenon,exact TYP icon match + provided BGMountains legend,Exact natural-phenomenon hiking silhouette; subtype unknown,42.0306444,23.9876390,Детски кът
|
||||
0x6602,891,Viewpoint,Гледка,tourism=viewpoint,append,replace,garmin:legend=viewpoint;tourism=viewpoint,exact TYP icon match + provided BGMountains legend,Exact black camera icon,41.5811491,24.7859502,Гледка
|
||||
0x6603,26366,Triangulation,Кота,,append,replace,garmin:legend=triangulation;man_made=survey_point,exact TYP icon match + provided BGMountains legend,Exact black square survey-point icon,42.5338054,23.5568118,912
|
||||
0x6608,2644,Hotel,Хотел,tourism=viewpoint,append,replace,garmin:legend=hotel;tourism=hotel,exact TYP icon match + provided BGMountains legend,Exact hotel/bed icon; corrects viewpoint,42.0398927,24.5189953,Вила Юстина-винарна
|
||||
0x6609,372,Hut,Хижа,tourism=alpine_hut,append,replace,garmin:legend=hut;tourism=alpine_hut,exact TYP icon match + provided BGMountains legend,Exact mountain hut icon,41.7704916,23.4612608,З.Караманица
|
||||
0x660a,275,Refuge,Заслон,tourism=wilderness_hut,append,replace,garmin:legend=refuge;amenity=shelter;shelter_type=basic_hut,exact TYP icon match + provided BGMountains legend,Exact refuge icon; shelter type provisional,42.6021266,23.3073664,Колиба
|
||||
0x660b,2612,Mark,Маркировка,tourism=information;information=board,append,replace,garmin:legend=mark,exact TYP icon match + provided BGMountains legend,Exact black circle mark icon; corrects information=board,42.2340202,22.5802732,табела за с.Вратца
|
||||
0x6610,15,Meadow,Поляна,,append,replace,garmin:legend=meadow,exact TYP icon match + provided BGMountains legend,Exact green meadow/flag icon; point geometry not polygon,41.8730593,23.3056498,Поляна с каптаж(2 бели камъка)
|
||||
0x6613,1746,Waterfall,Водопад,waterway=waterfall,append,replace,garmin:legend=waterfall;waterway=waterfall,exact TYP icon match + provided BGMountains legend,Exact three blue streams icon,42.7368593,24.6472049,Водопад Джафар дере
|
||||
0x6614,15289,Rock,Скала,garmin:marker=distance_or_index,append,replace,garmin:legend=rock,exact TYP icon match + provided BGMountains legend,Exact black rock silhouette; many numerical labels require additional checking,41.6530752,23.8123512,3
|
||||
0x6615,942,Cave,Пещера,,append,replace,garmin:legend=cave;natural=cave_entrance,exact TYP icon match + provided BGMountains legend,Exact yellow cave icon,43.0111957,23.7462187,Водната пещ
|
||||
0x6617,112,Peak,Връх,natural=peak,append,replace,garmin:legend=peak;natural=peak,exact TYP icon match + provided BGMountains legend,Exact triangular mountain icon,42.1792388,23.5853076,Мусала (2925)
|
||||
0x6618,10176,Tree,Дърво,,append,replace,garmin:legend=tree;natural=tree,exact TYP icon match + provided BGMountains legend,Exact green pine icon,43.2255578,26.1123776,Летен дъб
|
||||
0x6619,195,Prehistoric site,Праисторически обект,,append,replace,garmin:legend=prehistoric_site;historic=archaeological_site,exact TYP icon match + provided BGMountains legend,Exact yellow prehistoric icon,41.9197297,25.2343297,Тракийски скални ниши
|
||||
0x661a,384,Antiquity site,Античен обект,,append,replace,garmin:legend=antiquity_site;historic=archaeological_site,exact TYP icon match + provided BGMountains legend,Exact yellow antiquity icon,41.4625525,25.3149462,Тракийска крепост
|
||||
0x661b,319,Medieval site,Средновековен обект,,append,replace,garmin:legend=medieval_site;historic=archaeological_site,exact TYP icon match + provided BGMountains legend,Exact yellow medieval icon,43.2418871,23.1252766,Берковско кале
|
||||
|
@@ -0,0 +1,404 @@
|
||||
{
|
||||
"0x200": {
|
||||
"label_en": "Capital City",
|
||||
"label_bg": "Столица",
|
||||
"reviewed_tags": "place=city;capital=yes",
|
||||
"evidence": "Exact concentric capital icon"
|
||||
},
|
||||
"0x800": {
|
||||
"label_en": "Large City",
|
||||
"label_bg": "Град >75 000",
|
||||
"reviewed_tags": "place=city",
|
||||
"evidence": "Exact medium city circle icon"
|
||||
},
|
||||
"0x900": {
|
||||
"label_en": "Town",
|
||||
"label_bg": "Град <75 000",
|
||||
"reviewed_tags": "place=town",
|
||||
"evidence": "Exact small city circle icon"
|
||||
},
|
||||
"0x2c05": {
|
||||
"label_en": "School",
|
||||
"label_bg": "Училище",
|
||||
"reviewed_tags": "amenity=school",
|
||||
"evidence": "Exact yellow school icon"
|
||||
},
|
||||
"0x2c0b": {
|
||||
"label_en": "Church",
|
||||
"label_bg": "Църква",
|
||||
"reviewed_tags": "amenity=place_of_worship",
|
||||
"evidence": "Exact yellow church icon"
|
||||
},
|
||||
"0x2d04": {
|
||||
"label_en": "Casino",
|
||||
"label_bg": "Казино",
|
||||
"reviewed_tags": "amenity=casino",
|
||||
"evidence": "Exact dice/cards casino icon"
|
||||
},
|
||||
"0x2d08": {
|
||||
"label_en": "Ice Rink",
|
||||
"label_bg": "Пързалка",
|
||||
"reviewed_tags": "leisure=ice_rink",
|
||||
"evidence": "Exact yellow ice-skating icon"
|
||||
},
|
||||
"0x2e05": {
|
||||
"label_en": "Pharmacy",
|
||||
"label_bg": "Аптека",
|
||||
"reviewed_tags": "amenity=pharmacy",
|
||||
"evidence": "Exact yellow pharmacy cup icon"
|
||||
},
|
||||
"0x2e07": {
|
||||
"label_en": "Clothes shop",
|
||||
"label_bg": "Магазин за дрехи",
|
||||
"reviewed_tags": "shop=clothes",
|
||||
"evidence": "Exact clothes-on-hanger icon"
|
||||
},
|
||||
"0x2f0a": {
|
||||
"label_en": "Synagogue",
|
||||
"label_bg": "Синагога",
|
||||
"reviewed_tags": "amenity=place_of_worship;religion=jewish",
|
||||
"evidence": "Exact yellow star icon"
|
||||
},
|
||||
"0x2f0c": {
|
||||
"label_en": "Mosque",
|
||||
"label_bg": "Джамия",
|
||||
"reviewed_tags": "amenity=place_of_worship;religion=muslim",
|
||||
"evidence": "Exact crescent icon"
|
||||
},
|
||||
"0x2f0e": {
|
||||
"label_en": "Car Wash",
|
||||
"label_bg": "Автомивка",
|
||||
"reviewed_tags": "amenity=car_wash",
|
||||
"evidence": "Exact blue/red carwash icon"
|
||||
},
|
||||
"0x3004": {
|
||||
"label_en": "Courthouse",
|
||||
"label_bg": "Съд",
|
||||
"reviewed_tags": "amenity=courthouse",
|
||||
"evidence": "Exact grey courthouse icon"
|
||||
},
|
||||
"0x3008": {
|
||||
"label_en": "Fire Station",
|
||||
"label_bg": "Пожарна",
|
||||
"reviewed_tags": "amenity=fire_station",
|
||||
"evidence": "Exact firefighter icon"
|
||||
},
|
||||
"0x4700": {
|
||||
"label_en": "Port",
|
||||
"label_bg": "Пристанище",
|
||||
"reviewed_tags": "industrial=port",
|
||||
"evidence": "Exact anchor; functional port use not independently confirmed"
|
||||
},
|
||||
"0x6400": {
|
||||
"label_en": "Quarry",
|
||||
"label_bg": "Кариера",
|
||||
"reviewed_tags": "landuse=quarry",
|
||||
"evidence": "Exact crossed mining tools icon; point vs area geometry still to assess"
|
||||
},
|
||||
"0x6401": {
|
||||
"label_en": "Bridge",
|
||||
"label_bg": "Мост",
|
||||
"reviewed_tags": "man_made=bridge",
|
||||
"evidence": "Exact bridge-icon depiction; original route connectivity not established"
|
||||
},
|
||||
"0x6402": {
|
||||
"label_en": "Building",
|
||||
"label_bg": "Сграда",
|
||||
"reviewed_tags": "building=yes",
|
||||
"evidence": "Exact yellow building icon; original building footprint not present"
|
||||
},
|
||||
"0x6403": {
|
||||
"label_en": "Graveyard/Tombstone",
|
||||
"label_bg": "Гробище, оброк",
|
||||
"reviewed_tags": "",
|
||||
"evidence": "Exact grave cross; ambiguous between graveyard and religious votive feature"
|
||||
},
|
||||
"0x6404": {
|
||||
"label_en": "Church",
|
||||
"label_bg": "Църква",
|
||||
"reviewed_tags": "amenity=place_of_worship",
|
||||
"evidence": "Exact church icon"
|
||||
},
|
||||
"0x6405": {
|
||||
"label_en": "Hunting Lodge",
|
||||
"label_bg": "Ловна хижа",
|
||||
"reviewed_tags": "",
|
||||
"evidence": "Exact hunting lodge icon; do NOT infer tourist/alpine hut"
|
||||
},
|
||||
"0x6406": {
|
||||
"label_en": "Barrier/Gate",
|
||||
"label_bg": "Бариера",
|
||||
"reviewed_tags": "barrier=gate",
|
||||
"evidence": "Exact black/red barrier icon"
|
||||
},
|
||||
"0x6407": {
|
||||
"label_en": "Picnic Site",
|
||||
"label_bg": "Пикник",
|
||||
"reviewed_tags": "tourism=picnic_site",
|
||||
"evidence": "Exact picnic bench icon"
|
||||
},
|
||||
"0x6408": {
|
||||
"label_en": "Mountain Rescue",
|
||||
"label_bg": "ПСС",
|
||||
"reviewed_tags": "emergency=mountain_rescue",
|
||||
"evidence": "Exact shield with red cross"
|
||||
},
|
||||
"0x6409": {
|
||||
"label_en": "Monument",
|
||||
"label_bg": "Паметник",
|
||||
"reviewed_tags": "historic=monument",
|
||||
"evidence": "Exact obelisk icon"
|
||||
},
|
||||
"0x640a": {
|
||||
"label_en": "Danger",
|
||||
"label_bg": "Опасност",
|
||||
"reviewed_tags": "",
|
||||
"evidence": "Exact danger triangle, but specific hazard is unspecified"
|
||||
},
|
||||
"0x640b": {
|
||||
"label_en": "Chapel",
|
||||
"label_bg": "Параклис",
|
||||
"reviewed_tags": "amenity=place_of_worship",
|
||||
"evidence": "Exact small chapel icon"
|
||||
},
|
||||
"0x640c": {
|
||||
"label_en": "Mine Shaft",
|
||||
"label_bg": "Мина",
|
||||
"reviewed_tags": "man_made=mine_shaft",
|
||||
"evidence": "Exact crossed tools icon"
|
||||
},
|
||||
"0x640d": {
|
||||
"label_en": "Lift",
|
||||
"label_bg": "Лифт",
|
||||
"reviewed_tags": "",
|
||||
"evidence": "Exact chairlift icon; unknown whether point is aerialway station or line"
|
||||
},
|
||||
"0x640e": {
|
||||
"label_en": "Bus Stop/Station",
|
||||
"label_bg": "Спирка",
|
||||
"reviewed_tags": "highway=bus_stop",
|
||||
"evidence": "Exact bus stop icon; may be terminal rather than stop"
|
||||
},
|
||||
"0x640f": {
|
||||
"label_en": "Graveyard/Tombstone",
|
||||
"label_bg": "Гробище, оброк",
|
||||
"reviewed_tags": "",
|
||||
"evidence": "Exact two-cross marker; ambiguous cemetery versus religious site"
|
||||
},
|
||||
"0x6411": {
|
||||
"label_en": "Tower",
|
||||
"label_bg": "Кула",
|
||||
"reviewed_tags": "man_made=tower",
|
||||
"evidence": "Exact tower icon"
|
||||
},
|
||||
"0x6412": {
|
||||
"label_en": "Trailhead",
|
||||
"label_bg": "Начало пътека",
|
||||
"reviewed_tags": "highway=trailhead",
|
||||
"evidence": "Exact walking-person trailhead icon; corrects former guidepost"
|
||||
},
|
||||
"0x6413": {
|
||||
"label_en": "Tunnel",
|
||||
"label_bg": "Тунел",
|
||||
"reviewed_tags": "",
|
||||
"evidence": "Exact tunnel portal icon; avoid tunnel=yes on standalone node"
|
||||
},
|
||||
"0x6414": {
|
||||
"label_en": "Drinking Water",
|
||||
"label_bg": "Чешма",
|
||||
"reviewed_tags": "amenity=drinking_water",
|
||||
"evidence": "Exact tap/fountain icon; source may include dry fountains"
|
||||
},
|
||||
"0x6415": {
|
||||
"label_en": "Camp Site",
|
||||
"label_bg": "Място за бивакуване",
|
||||
"reviewed_tags": "tourism=camp_site",
|
||||
"evidence": "Exact blue tent icon; corrects shelter"
|
||||
},
|
||||
"0x6416": {
|
||||
"label_en": "Ruins",
|
||||
"label_bg": "Руини",
|
||||
"reviewed_tags": "historic=ruins",
|
||||
"evidence": "Exact ruin block icon"
|
||||
},
|
||||
"0x6417": {
|
||||
"label_en": "Well",
|
||||
"label_bg": "Кладенец",
|
||||
"reviewed_tags": "man_made=water_well",
|
||||
"evidence": "Exact turquoise well-circle icon; no automatic drinking-water claim"
|
||||
},
|
||||
"0x641a": {
|
||||
"label_en": "Church",
|
||||
"label_bg": "Църква",
|
||||
"reviewed_tags": "amenity=place_of_worship",
|
||||
"evidence": "Exact yellow church icon"
|
||||
},
|
||||
"0x641b": {
|
||||
"label_en": "Church",
|
||||
"label_bg": "Църква",
|
||||
"reviewed_tags": "amenity=place_of_worship",
|
||||
"evidence": "Exact yellow church icon"
|
||||
},
|
||||
"0x641c": {
|
||||
"label_en": "Bus Stop/Station",
|
||||
"label_bg": "Спирка",
|
||||
"reviewed_tags": "highway=bus_stop",
|
||||
"evidence": "Exact blue bus station icon"
|
||||
},
|
||||
"0x6500": {
|
||||
"label_en": "Reservoir",
|
||||
"label_bg": "Каптаж",
|
||||
"reviewed_tags": "",
|
||||
"evidence": "Exact solid blue square; legend means catchment/reservoir, not waterworks"
|
||||
},
|
||||
"0x6501": {
|
||||
"label_en": "Restaurant",
|
||||
"label_bg": "Ресторант",
|
||||
"reviewed_tags": "amenity=restaurant",
|
||||
"evidence": "Exact fork+knife icon; corrects name-based cafe inference"
|
||||
},
|
||||
"0x6502": {
|
||||
"label_en": "River Passage",
|
||||
"label_bg": "Брод",
|
||||
"reviewed_tags": "",
|
||||
"evidence": "Exact blue river crossing; need to verify whether it is ford=yes"
|
||||
},
|
||||
"0x6503": {
|
||||
"label_en": "Crossroad",
|
||||
"label_bg": "Кръстопът",
|
||||
"reviewed_tags": "",
|
||||
"evidence": "Exact black crossroad icon; corrects guidepost assumption"
|
||||
},
|
||||
"0x6505": {
|
||||
"label_en": "Shop",
|
||||
"label_bg": "Магазин",
|
||||
"reviewed_tags": "shop=yes",
|
||||
"evidence": "Exact shopfront icon"
|
||||
},
|
||||
"0x6506": {
|
||||
"label_en": "Museum",
|
||||
"label_bg": "Музей",
|
||||
"reviewed_tags": "tourism=museum",
|
||||
"evidence": "Exact museum icon"
|
||||
},
|
||||
"0x650b": {
|
||||
"label_en": "Winter Marking",
|
||||
"label_bg": "Зимна маркировка",
|
||||
"reviewed_tags": "",
|
||||
"evidence": "Exact winter red/yellow marker; corrects information=board"
|
||||
},
|
||||
"0x650c": {
|
||||
"label_en": "Dead End",
|
||||
"label_bg": "Задънена улица",
|
||||
"reviewed_tags": "noexit=yes",
|
||||
"evidence": "Exact blue square T sign; point is dead-end indicator"
|
||||
},
|
||||
"0x6511": {
|
||||
"label_en": "Spring",
|
||||
"label_bg": "Извор",
|
||||
"reviewed_tags": "natural=spring",
|
||||
"evidence": "Exact blue water spring drop; no automatic potable-water claim"
|
||||
},
|
||||
"0x6600": {
|
||||
"label_en": "Triangulation",
|
||||
"label_bg": "Кота",
|
||||
"reviewed_tags": "",
|
||||
"evidence": "Exact square survey icon; preserve any independently parsed numeric elevation"
|
||||
},
|
||||
"0x6601": {
|
||||
"label_en": "Natural Phenomenon",
|
||||
"label_bg": "Природен феномен",
|
||||
"reviewed_tags": "",
|
||||
"evidence": "Exact natural-phenomenon hiking silhouette; subtype unknown"
|
||||
},
|
||||
"0x6602": {
|
||||
"label_en": "Viewpoint",
|
||||
"label_bg": "Гледка",
|
||||
"reviewed_tags": "tourism=viewpoint",
|
||||
"evidence": "Exact black camera icon"
|
||||
},
|
||||
"0x6603": {
|
||||
"label_en": "Triangulation",
|
||||
"label_bg": "Кота",
|
||||
"reviewed_tags": "man_made=survey_point",
|
||||
"evidence": "Exact black square survey-point icon"
|
||||
},
|
||||
"0x6608": {
|
||||
"label_en": "Hotel",
|
||||
"label_bg": "Хотел",
|
||||
"reviewed_tags": "tourism=hotel",
|
||||
"evidence": "Exact hotel/bed icon; corrects viewpoint"
|
||||
},
|
||||
"0x6609": {
|
||||
"label_en": "Hut",
|
||||
"label_bg": "Хижа",
|
||||
"reviewed_tags": "tourism=alpine_hut",
|
||||
"evidence": "Exact mountain hut icon"
|
||||
},
|
||||
"0x660a": {
|
||||
"label_en": "Refuge",
|
||||
"label_bg": "Заслон",
|
||||
"reviewed_tags": "amenity=shelter;shelter_type=basic_hut",
|
||||
"evidence": "Exact refuge icon; shelter type provisional"
|
||||
},
|
||||
"0x660b": {
|
||||
"label_en": "Mark",
|
||||
"label_bg": "Маркировка",
|
||||
"reviewed_tags": "",
|
||||
"evidence": "Exact black circle mark icon; corrects information=board"
|
||||
},
|
||||
"0x6610": {
|
||||
"label_en": "Meadow",
|
||||
"label_bg": "Поляна",
|
||||
"reviewed_tags": "",
|
||||
"evidence": "Exact green meadow/flag icon; point geometry not polygon"
|
||||
},
|
||||
"0x6613": {
|
||||
"label_en": "Waterfall",
|
||||
"label_bg": "Водопад",
|
||||
"reviewed_tags": "waterway=waterfall",
|
||||
"evidence": "Exact three blue streams icon"
|
||||
},
|
||||
"0x6614": {
|
||||
"label_en": "Rock",
|
||||
"label_bg": "Скала",
|
||||
"reviewed_tags": "",
|
||||
"evidence": "Exact black rock silhouette; many numerical labels require additional checking"
|
||||
},
|
||||
"0x6615": {
|
||||
"label_en": "Cave",
|
||||
"label_bg": "Пещера",
|
||||
"reviewed_tags": "natural=cave_entrance",
|
||||
"evidence": "Exact yellow cave icon"
|
||||
},
|
||||
"0x6617": {
|
||||
"label_en": "Peak",
|
||||
"label_bg": "Връх",
|
||||
"reviewed_tags": "natural=peak",
|
||||
"evidence": "Exact triangular mountain icon"
|
||||
},
|
||||
"0x6618": {
|
||||
"label_en": "Tree",
|
||||
"label_bg": "Дърво",
|
||||
"reviewed_tags": "natural=tree",
|
||||
"evidence": "Exact green pine icon"
|
||||
},
|
||||
"0x6619": {
|
||||
"label_en": "Prehistoric site",
|
||||
"label_bg": "Праисторически обект",
|
||||
"reviewed_tags": "historic=archaeological_site",
|
||||
"evidence": "Exact yellow prehistoric icon"
|
||||
},
|
||||
"0x661a": {
|
||||
"label_en": "Antiquity site",
|
||||
"label_bg": "Античен обект",
|
||||
"reviewed_tags": "historic=archaeological_site",
|
||||
"evidence": "Exact yellow antiquity icon"
|
||||
},
|
||||
"0x661b": {
|
||||
"label_en": "Medieval site",
|
||||
"label_bg": "Средновековен обект",
|
||||
"reviewed_tags": "historic=archaeological_site",
|
||||
"evidence": "Exact yellow medieval icon"
|
||||
}
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
Binary file not shown.
|
After Width: | Height: | Size: 34 KiB |
@@ -0,0 +1,75 @@
|
||||
# Original legend crosswalk, all 67 historic icon matches
|
||||
|
||||
Reference table generated from the earlier reviewed Garmin TYP/legend matching data. **Documentation only**; the two CSV files under `config/` are the only user-editable translation controls. The original icon PNGs are not needed, used, or packaged. Where no native semantic tag is defensible it is shown as “unclassified”.
|
||||
|
||||
| Source Garmin hex | Legend BG | Legend EN | Old TYP icon | v0.92 OSM tags | Priority | Sample lat, lon |
|
||||
|---|---|---|---|---|---|---|
|
||||
| 0x200 | Столица | Capital City | TYP:0x200 | place=city;capital=yes | normal | 41.0612941, 28.8116670 |
|
||||
| 0x800 | Град >75 000 | Large City | TYP:0x800 | place=city | normal | 43.9025259, 22.2788572 |
|
||||
| 0x900 | Град <75 000 | Town | TYP:0x900 | place=town | normal | 42.0570374, 24.5459247 |
|
||||
| 0x2c05 | Училище | School | TYP:0x2c05 | amenity=school | normal | 41.7214394, 24.6845198 |
|
||||
| 0x2c0b | Църква | Church | TYP:0x2c0b | amenity=place_of_worship | normal | 43.0217957, 24.8099613 |
|
||||
| 0x2d04 | Казино | Casino | TYP:0x2d04 | unclassified | normal | — |
|
||||
| 0x2d08 | Пързалка | Ice Rink | TYP:0x2d08 | unclassified | normal | — |
|
||||
| 0x2e05 | Аптека | Pharmacy | TYP:0x2e05 | amenity=pharmacy | normal | 42.7442837, 25.3431416 |
|
||||
| 0x2e07 | Магазин за дрехи | Clothes shop | TYP:0x2e07 | shop=clothes | normal | 43.0698609, 25.6080151 |
|
||||
| 0x2f0a | Синагога | Synagogue | TYP:0x2f0a | amenity=place_of_worship;religion=jewish | normal | 41.5711713, 23.7286234 |
|
||||
| 0x2f0c | Джамия | Mosque | TYP:0x2f0c | amenity=place_of_worship;religion=muslim | normal | 44.0549612, 26.7991304 |
|
||||
| 0x2f0e | Автомивка | Car Wash | TYP:0x2f0e | amenity=car_wash | normal | 42.2939301, 22.7035904 |
|
||||
| 0x3004 | Съд | Courthouse | TYP:0x3004 | unclassified | normal | — |
|
||||
| 0x3008 | Пожарна | Fire Station | TYP:0x3008 | amenity=fire_station | normal | 42.5666571, 27.6193285 |
|
||||
| 0x4700 | Пристанище | Port | TYP:0x4700 | unclassified | normal | 41.6431189, 25.2845192 |
|
||||
| 0x6400 | Кариера | Quarry | TYP:0x6400 | landuse=quarry | normal | 40.8776808, 23.9436078 |
|
||||
| 0x6401 | Мост | Bridge | TYP:0x6401 | man_made=bridge | critical | 42.6645684, 22.9691291 |
|
||||
| 0x6402 | Сграда | Building | TYP:0x6402 | building=yes | critical | 42.5507569, 23.2217932 |
|
||||
| 0x6403 | Гробище, оброк | Graveyard/Tombstone | TYP:0x6403 | landuse=cemetery | normal | 43.0418801, 23.5914874 |
|
||||
| 0x6404 | Църква | Church | TYP:0x6404 | amenity=place_of_worship | normal | 42.1896243, 27.0861053 |
|
||||
| 0x6405 | Ловна хижа | Hunting Lodge | TYP:0x6405 | building=hut | normal | 42.7514720, 27.2207522 |
|
||||
| 0x6406 | Бариера | Barrier/Gate | TYP:0x6406 | barrier=gate | normal | 41.5502286, 24.7455668 |
|
||||
| 0x6407 | Пикник | Picnic Site | TYP:0x6407 | tourism=picnic_site | normal | 41.9156528, 25.3233576 |
|
||||
| 0x6408 | ПСС | Mountain Rescue | TYP:0x6408 | emergency=mountain_rescue | critical | 42.6026416, 23.2414269 |
|
||||
| 0x6409 | Паметник | Monument | TYP:0x6409 | historic=monument | normal | 43.1282043, 23.6027098 |
|
||||
| 0x640a | Опасност | Danger | TYP:0x640a | hazard=yes | normal | 43.1507993, 25.3284001 |
|
||||
| 0x640b | Параклис | Chapel | TYP:0x640b | amenity=place_of_worship | normal | 41.9598985, 24.3688774 |
|
||||
| 0x640c | Мина | Mine Shaft | TYP:0x640c | man_made=mine_shaft | normal | 43.0497336, 22.9328442 |
|
||||
| 0x640d | Лифт | Lift | TYP:0x640d | aerialway=station | normal | 42.6056242, 23.2995987 |
|
||||
| 0x640e | Спирка | Bus Stop/Station | TYP:0x640e | highway=bus_stop | normal | 43.3513427, 25.1430917 |
|
||||
| 0x640f | Гробище, оброк | Graveyard/Tombstone | TYP:0x640f | landuse=cemetery | normal | 42.0345068, 22.4919534 |
|
||||
| 0x6411 | Кула | Tower | TYP:0x6411 | man_made=tower | normal | 41.7411375, 24.8182654 |
|
||||
| 0x6412 | Начало пътека | Trailhead | TYP:0x6412 | unclassified | normal | — |
|
||||
| 0x6413 | Тунел | Tunnel | TYP:0x6413 | unclassified | normal | 42.6872063, 23.3418703 |
|
||||
| 0x6414 | Чешма | Drinking Water | TYP:0x6414 | amenity=drinking_water | critical | 43.1117034, 23.7205982 |
|
||||
| 0x6415 | Място за бивакуване | Camp Site | TYP:0x6415 | tourism=camp_site | critical | 41.7506647, 25.1023221 |
|
||||
| 0x6416 | Руини | Ruins | TYP:0x6416 | historic=ruins | normal | 41.5940452, 24.3094182 |
|
||||
| 0x6417 | Кладенец | Well | TYP:0x6417 | man_made=water_well | critical | 42.2628808, 24.2223430 |
|
||||
| 0x641a | Църква | Church | TYP:0x641a | amenity=place_of_worship | normal | 42.9599547, 23.0566549 |
|
||||
| 0x641b | Църква | Church | TYP:0x641b | unclassified | normal | — |
|
||||
| 0x641c | Спирка | Bus Stop/Station | TYP:0x641c | highway=bus_stop | normal | 42.8542113, 25.3382707 |
|
||||
| 0x6500 | Каптаж | Reservoir | TYP:0x6500 | man_made=water_intake | critical | 42.0310307, 24.7559094 |
|
||||
| 0x6501 | Ресторант | Restaurant | TYP:0x6501 | amenity=restaurant | normal | 43.3456135, 28.0715060 |
|
||||
| 0x6502 | Брод | River Passage | TYP:0x6502 | ford=yes | normal | 42.7929711, 25.2992177 |
|
||||
| 0x6503 | Кръстопът | Crossroad | TYP:0x6503 | unclassified | normal | 43.4149003, 28.4942007 |
|
||||
| 0x6505 | Магазин | Shop | TYP:0x6505 | unclassified | normal | — |
|
||||
| 0x6506 | Музей | Museum | TYP:0x6506 | tourism=museum | normal | 42.1463013, 24.7487855 |
|
||||
| 0x650b | Зимна маркировка | Winter Marking | TYP:0x650b | unclassified | normal | 42.0000887, 23.3820820 |
|
||||
| 0x650c | Задънена улица | Dead End | TYP:0x650c | unclassified | normal | — |
|
||||
| 0x6511 | Извор | Spring | TYP:0x6511 | natural=spring | critical | 42.8732872, 23.3371925 |
|
||||
| 0x6600 | Кота | Triangulation | TYP:0x6600 | unclassified | terrain | 41.2312603, 22.6785922 |
|
||||
| 0x6601 | Природен феномен | Natural Phenomenon | TYP:0x6601 | unclassified | terrain | 42.9589677, 25.2119064 |
|
||||
| 0x6602 | Гледка | Viewpoint | TYP:0x6602 | tourism=viewpoint | normal | 41.7438412, 23.4641790 |
|
||||
| 0x6603 | Кота | Triangulation | TYP:0x6603 | man_made=survey_point | normal | 42.5520873, 23.8540435 |
|
||||
| 0x6608 | Хотел | Hotel | TYP:0x6608 | tourism=hotel | critical | 42.8794885, 27.8957462 |
|
||||
| 0x6609 | Хижа | Hut | TYP:0x6609 | tourism=alpine_hut | critical | 43.2779145, 27.1159101 |
|
||||
| 0x660a | Заслон | Refuge | TYP:0x660a | amenity=shelter;shelter_type=basic_hut | critical | 42.8157377, 23.8160634 |
|
||||
| 0x660b | Маркировка | Mark | TYP:0x660b | unclassified | normal | 43.9378452, 22.4072385 |
|
||||
| 0x6610 | Поляна | Meadow | TYP:0x6610 | unclassified | terrain | 42.8212094, 26.1542845 |
|
||||
| 0x6613 | Водопад | Waterfall | TYP:0x6613 | waterway=waterfall | normal | 42.7435327, 24.6398234 |
|
||||
| 0x6614 | Скала | Rock | TYP:0x6614 | natural=rock | terrain | 42.7437901, 25.2693915 |
|
||||
| 0x6615 | Пещера | Cave | TYP:0x6615 | natural=cave_entrance | normal | 41.8003178, 23.3853436 |
|
||||
| 0x6617 | Връх | Peak | TYP:0x6617 | natural=peak | normal | 41.7893529, 22.9647946 |
|
||||
| 0x6618 | Дърво | Tree | TYP:0x6618 | natural=tree | normal | 42.7752686, 23.9033318 |
|
||||
| 0x6619 | Праисторически обект | Prehistoric site | TYP:0x6619 | historic=archaeological_site | normal | 42.5703692, 25.3767228 |
|
||||
| 0x661a | Античен обект | Antiquity site | TYP:0x661a | historic=archaeological_site | normal | 41.7153454, 26.0307527 |
|
||||
| 0x661b | Средновековен обект | Medieval site | TYP:0x661b | historic=archaeological_site | normal | 42.0922279, 24.2505813 |
|
||||
|
||||
**Caveats:** “unclassified” means the converter retains provenance but does not forge an amenity to force an icon. `zoom_hint` is nonfunctional on stock OsmAnd unless a style is separately changed. Neither legend-derived geometry nor icons may be redistributed under arbitrary licenses.
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"status": "PASS_preparation_only",
|
||||
"subset": "Vihren region; no national OSM/OBF build performed",
|
||||
"bbox": "23.30,41.67,23.50,41.84",
|
||||
"workers": 4,
|
||||
"total_pois": 1915,
|
||||
"unknown_fallback": 150,
|
||||
"spot_heights_preserved": 296,
|
||||
"unclassified": 0,
|
||||
"hiking_route_relations": 82,
|
||||
"candidate_overlay_segments": 273,
|
||||
"caveat": "Serial route grouping differs (78 vs 82). OBF rendering not validated."
|
||||
}
|
||||
@@ -0,0 +1,63 @@
|
||||
{
|
||||
"release": "v0.92",
|
||||
"test_environment": "Linux runtime, C++17, Python 3",
|
||||
"unit_tests": "3/3 CTest cases passed; v0.92 suite 5 individual tests",
|
||||
"source_img_size_bytes": 441942016,
|
||||
"vihren": {
|
||||
"bbox": "23.36,41.70,23.42,41.76",
|
||||
"pois": 221,
|
||||
"ways": 5597,
|
||||
"colored_source_segments": 53,
|
||||
"hiking_route_relations": 17,
|
||||
"physical_highway_segments_reused": 48,
|
||||
"unmatched_overlay_segments": 5,
|
||||
"serial_vs_parallel": "identical counts, mapping, and relation statistics"
|
||||
},
|
||||
"plovdiv": {
|
||||
"bbox": "24.63,42.02,24.67,42.05",
|
||||
"example_pois": [
|
||||
{
|
||||
"type": "0x6602",
|
||||
"lat": 42.0346141,
|
||||
"lon": 24.6528697,
|
||||
"osm": "tourism=viewpoint"
|
||||
},
|
||||
{
|
||||
"type": "0x6500",
|
||||
"lat": 42.0347643,
|
||||
"lon": 24.6522689,
|
||||
"osm": "man_made=water_intake"
|
||||
},
|
||||
{
|
||||
"type": "0x6500",
|
||||
"lat": 42.0340991,
|
||||
"lon": 24.6520114,
|
||||
"osm": "man_made=water_intake"
|
||||
}
|
||||
]
|
||||
},
|
||||
"elevation": {
|
||||
"bbox": "22.29,43.88,22.34,43.93",
|
||||
"spot_height_points": 23,
|
||||
"with_ele_tag": 23
|
||||
},
|
||||
"future_template": {
|
||||
"tested": true,
|
||||
"discovered_poi_types_in_bbox": 21,
|
||||
"discovered_line_types_in_bbox": 16
|
||||
},
|
||||
"obf_build": {
|
||||
"status": "NOT_TESTED",
|
||||
"reason": "Official OsmAndMapCreator is not installed and runtime has no network access"
|
||||
},
|
||||
"stock_icon_visibility": {
|
||||
"status": "NOT_VERIFIED",
|
||||
"reason": "Stock OsmAnd icon and zoom behaviour depends on app version, built-in map style and settings"
|
||||
},
|
||||
"notes": [
|
||||
"zero independent Garmin icon PNGs packaged",
|
||||
"two editable CSV mapping files",
|
||||
"C++ jobs default 1",
|
||||
"Native OSM route relations, no custom phone renderer"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
# BGMountains v0.9: meaningful POIs, distinct icons and Garmin TYP route colours
|
||||
|
||||
## Why v0.8 displayed 'Marina', information boards and orange anchors
|
||||
|
||||
The old dataset used unrelated standard tags to force OsmAnd to index symbols. In v0.9 the default `poi-overrides-all-types.csv` no longer injects synthetic `tourism=information;information=board` for arbitrary places. The C++ area type 0x09 was also incorrectly tagged `leisure=marina`, although the BGMountains legend identifies it as shopping area. It is now `landuse=retail`. We found 0x650b winter waymarks clustering on the Vihren route (not marinas). The output is not for public OpenStreetMap imports without source license clearance.
|
||||
|
||||
## Build from original IMG to OBF (Linux)
|
||||
|
||||
```bash
|
||||
sudo apt install -y build-essential cmake libpng-dev libsqlite3-dev python3 openjdk-21-jre-headless unzip
|
||||
python3 scripts/build_bgmountains.py \
|
||||
--img '/path/to/gmapsupp.img' \
|
||||
--out './BGMountains-output' --download-creator
|
||||
```
|
||||
|
||||
Or use an already installed OsmAndMapCreator:
|
||||
|
||||
```bash
|
||||
python3 scripts/build_bgmountains.py \
|
||||
--img '/path/to/gmapsupp.img' --creator /path/to/OsmAndMapCreator \
|
||||
--out ./BGMountains-output
|
||||
```
|
||||
|
||||
CLI uses **1 worker by default**, add `--jobs 4` to opt in.
|
||||
|
||||
Important: the MapCreator utility is not bundled (large official upstream binary); script downloads it if you specify `--download-creator`. The online upstream OsmAnd `poi_types.xml` and `rendering_types.xml` are fetched too. To work offline provide `--poi-base ... --rendering-base ... --creator ... --offline`.
|
||||
|
||||
Generated files:
|
||||
- `BGMountains.osm` geographic source, custom `bgm_poi` tags, raw Garmin IDs and hashes
|
||||
- `osmand-config/poi_types.bgmountains.xml`, `rendering_types.bgmountains.xml` for indexing
|
||||
- `osmand-config/BGMountains-outdoor.render.xml` **MUST BE INSTALLED/SELECTED IN OSMAND** for custom icons and trail colors
|
||||
- `source-pois.csv`, `poi-types.csv`, `validation.json`, `poi-coverage.csv` for checks
|
||||
- `.obf`, `mapcreator.log`, `obf-poi-index.txt` **only if MapCreator completed successfully**
|
||||
|
||||
### Install on your phone
|
||||
|
||||
1. Copy the output `.obf` to the OsmAnd offline maps directory or import through OsmAnd.
|
||||
2. Import the `.render.xml` style in OsmAnd. On Android: *Menu → Maps & Resources → Local → Rendering styles → Import*, or *Settings → Import from file*. Some versions require placing the style in the app's `rendering/` directory and restarting.
|
||||
3. Select `BGMountains outdoor v0.9` in *Menu → Configure map → Map rendering → Map style*.
|
||||
4. Test at zoom 16-18. Very dense points such as winter waymarks and reservoir/catchment markers intentionally begin at zoom 16-17 to prevent the map from being solid with symbols.
|
||||
5. For search: OsmAnd's POI database/index and on-screen symbols are different. Custom `bgm_poi` entries are added to the build's POI index, but custom POI *categories* and 'Nearby POI' behavior may require app-compatible POI definitions. Search by generated fallback name if Nearby doesn't expose them. We cannot guarantee this until the final OBF is inspected on the device.
|
||||
6. Remove the older test OBF before loading this one, otherwise the app can display overlapping categories/data.
|
||||
|
||||
### How to customise
|
||||
|
||||
- `config/poi-overrides-all-types.csv`: **meaning**, stable source Garmin hex → OSM tags. **Do not use false `leisure=marina` or fake boards for icons.**
|
||||
- `config/osmand-icons.csv`: **appearance**, code → built-in OsmAnd icon and minzoom. Some obscure icon IDs may vary between app builds: validate with your installed version.
|
||||
- `config/trail-styles.csv`: **hiking overlay appearance**, extended Garmin line type → color/zoom/width. Colors recovered from TYP; 50 line types audited. Exact Garmin pixel/band patterns aren't reproducible from plain OsmAnd XML alone; the extracted original source TYP remains in the IMG.
|
||||
- `config/poi-labels-bg.csv`: fallback **Bulgarian prefix + deterministic hash** for unnamed POIs; valid existing names untouched.
|
||||
- `config/poi-name-fixes.csv`: coordinate- and type-specific manual corrections, no fuzzy changes to location names.
|
||||
- `data/BGMountains-v09-POI-icon-crosswalk.csv`: verified legend, all 263 types, default style icon, counted occurrences and sample location.
|
||||
|
||||
### Known limitations
|
||||
|
||||
- IMG → OSM regional export fidelity validated, not mobile screen rendering.
|
||||
- MapCreator couldn't run in the author's offline environment; a new OBF was NOT generated or inspected in these tests.
|
||||
- Not every Garmin TYP icon has a built-in OsmAnd equivalent. The native application cannot load arbitrary TYP PNGs from an ordinary OBF/style; exact icon artwork requires a custom OsmAnd application build.
|
||||
- Road/trail colored overlays are not necessarily independently routable trail geometry. **v0.9 no longer creates false routable paths from the decorative extended overlays.** Underlying real road/path features retain their physical geometry.
|
||||
- Many obscure Garmin types still share the generic built-in info icon, not because they mean 'information board', but because their semantics and replacement art are unverified. Users can edit `config/osmand-icons.csv`; filenames in OsmAnd icon resources can differ between app versions.
|
||||
- Use this dataset for private testing pending rights clearance from BGMountains and third-party sources.
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"version": "0.9",
|
||||
"tested_img_region": "Vihren",
|
||||
"pois_source": 101,
|
||||
"winter_markers": 31,
|
||||
"serial_parallel_features_equal": 3665,
|
||||
"poi_styles": 259,
|
||||
"distinct_icon_ids": 46,
|
||||
"line_styles": 50,
|
||||
"no_false_marina_tags": true,
|
||||
"old_synthetic_information_rules_removed": 211,
|
||||
"obf_compiled_in_this_environment": false,
|
||||
"actual_mobile_display_verified": false
|
||||
}
|
||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"source_pois": 3986,
|
||||
"expected_after_drops": 3986,
|
||||
"declared_drops": 0,
|
||||
"osm_pois": 3986,
|
||||
"missing": 0,
|
||||
"extra": 0,
|
||||
"rule_tag_violations": {},
|
||||
"examples": [],
|
||||
"status": "PASS",
|
||||
"limitation": "Same IMG decoder is used for manifest and OSM: this validates export fidelity, not ground truth or OBF persistence."
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"source_pois": 2424,
|
||||
"expected_after_drops": 2424,
|
||||
"declared_drops": 0,
|
||||
"osm_pois": 2424,
|
||||
"missing": 0,
|
||||
"extra": 0,
|
||||
"rule_tag_violations": {},
|
||||
"examples": [],
|
||||
"status": "PASS",
|
||||
"limitation": "Same IMG decoder is used for manifest and OSM: this validates export fidelity, not ground truth or OBF persistence."
|
||||
}
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
Actual original IMG bbox: 24.640,42.020,24.665,42.050. Contains 57 extracted POIs, including the three user-provided coordinates. Not an OBF proof.
|
||||
@@ -0,0 +1 @@
|
||||
status,code,lat,lon,name,count,osm_url
|
||||
|
@@ -0,0 +1,25 @@
|
||||
code,osm_poi_count,nationwide_type_count,icon_strategy,synthetic_count,generated_name_count,legend,review_status,example_lat,example_lon,example_name,example_osm_tags,osm_coord_link
|
||||
0x6414,11,11,native-osm,0,9,,,42.0299792,24.6593070,Овчарска чешма,amenity=drinking_water,https://www.openstreetmap.org/?mlat=42.0299792&mlon=24.6593070#map=18/42.0299792/24.6593070
|
||||
0x6500,9,9,synthetic,9,7,,,42.0471239,24.6401882,Вода - Каптаж - 6XYYYJO443X,tourism=information|man_made=water_intake,https://www.openstreetmap.org/?mlat=42.0471239&mlon=24.6401882#map=18/42.0471239/24.6401882
|
||||
0x640b,4,4,native-osm,0,0,,,42.0467591,24.6438789,Св. Димитър,amenity=place_of_worship,https://www.openstreetmap.org/?mlat=42.0467591&mlon=24.6438789#map=18/42.0467591/24.6438789
|
||||
0x6600,4,4,synthetic,4,0,,,42.0236921,24.6458101,758,tourism=information,https://www.openstreetmap.org/?mlat=42.0236921&mlon=24.6458101#map=18/42.0236921/24.6458101
|
||||
0x6613,4,4,synthetic,4,4,,,42.0226622,24.6431494,Водопад - X905W9SL44C,tourism=information|waterway=waterfall,https://www.openstreetmap.org/?mlat=42.0226622&mlon=24.6431494#map=18/42.0226622/24.6431494
|
||||
0x6602,3,3,native-osm,0,3,,,42.0303869,24.6514106,Панорама - Гледка - IHT1SHKTVIH,tourism=viewpoint,https://www.openstreetmap.org/?mlat=42.0303869&mlon=24.6514106#map=18/42.0303869/24.6514106
|
||||
0x2800,2,2,synthetic,2,0,,,42.0296359,24.6555948,Момина скала,tourism=information|place=locality,https://www.openstreetmap.org/?mlat=42.0296359&mlon=24.6555948#map=18/42.0296359/24.6555948
|
||||
0x2b00,2,2,native-osm,0,0,,,42.0442057,24.6486855,х-л Водопада,tourism=hotel,https://www.openstreetmap.org/?mlat=42.0442057&mlon=24.6486855#map=18/42.0442057/24.6486855
|
||||
0x6502,2,2,synthetic,2,0,,,42.0416737,24.6499300,Брод,tourism=information,https://www.openstreetmap.org/?mlat=42.0416737&mlon=24.6499300#map=18/42.0416737/24.6499300
|
||||
0x6511,2,2,native-osm,0,1,,,42.0299363,24.6593714,Вода - Извор - 64XT1XE2OB5,natural=spring,https://www.openstreetmap.org/?mlat=42.0299363&mlon=24.6593714#map=18/42.0299363/24.6593714
|
||||
0x2c05,1,1,native-osm,0,0,,,42.0485187,24.6484709,Основно училище,amenity=school,https://www.openstreetmap.org/?mlat=42.0485187&mlon=24.6484709#map=18/42.0485187/24.6484709
|
||||
0x2c08,1,1,native-osm,0,0,,,42.0448923,24.6473336,Детска площадка,leisure=horse_riding,https://www.openstreetmap.org/?mlat=42.0448923&mlon=24.6473336#map=18/42.0448923/24.6473336
|
||||
0x3003,1,1,native-osm,0,0,,,42.0457292,24.6463251,Кметство,amenity=townhall,https://www.openstreetmap.org/?mlat=42.0457292&mlon=24.6463251#map=18/42.0457292/24.6463251
|
||||
0x3007,1,1,synthetic,1,0,,,42.0496774,24.6426129,Пречиствателна станция,tourism=information|man_made=pumping_station,https://www.openstreetmap.org/?mlat=42.0496774&mlon=24.6426129#map=18/42.0496774/24.6426129
|
||||
0x6402,1,1,synthetic,1,1,,,42.0302367,24.6557236,Сграда - 245G2CMJB5W,tourism=information|building=yes,https://www.openstreetmap.org/?mlat=42.0302367&mlon=24.6557236#map=18/42.0302367/24.6557236
|
||||
0x6403,1,1,synthetic,1,0,,,42.0300436,24.6541786,Кръст,tourism=information|landuse=cemetery,https://www.openstreetmap.org/?mlat=42.0300436&mlon=24.6541786#map=18/42.0300436/24.6541786
|
||||
0x6404,1,1,native-osm,0,0,,,42.0466948,24.6454024,„Св. Харалампий“,amenity=place_of_worship,https://www.openstreetmap.org/?mlat=42.0466948&mlon=24.6454024#map=18/42.0466948/24.6454024
|
||||
0x6407,1,1,native-osm,0,0,,,42.0327902,24.6572471,Маси и пейки,tourism=picnic_site,https://www.openstreetmap.org/?mlat=42.0327902&mlon=24.6572471#map=18/42.0327902/24.6572471
|
||||
0x6409,1,1,native-osm,0,1,,,42.0468235,24.6437931,Паметник - 0848D3PQRMD,historic=monument,https://www.openstreetmap.org/?mlat=42.0468235&mlon=24.6437931#map=18/42.0468235/24.6437931
|
||||
0x640a,1,1,synthetic,1,0,,,42.0404720,24.6489859,Свлачище!,tourism=information,https://www.openstreetmap.org/?mlat=42.0404720&mlon=24.6489859#map=18/42.0404720/24.6489859
|
||||
0x641c,1,1,synthetic,1,1,,,42.0456433,24.6473551,Спирка - 5JRDPRMELBN,tourism=information|highway=bus_stop,https://www.openstreetmap.org/?mlat=42.0456433&mlon=24.6473551#map=18/42.0456433/24.6473551
|
||||
0x6506,1,1,native-osm,0,0,,,42.0461583,24.6438360,Храбрино,tourism=museum,https://www.openstreetmap.org/?mlat=42.0461583&mlon=24.6438360#map=18/42.0461583/24.6438360
|
||||
0x661b,1,1,native-osm,0,0,,,42.0300221,24.6540499,Крепост Градец,historic=archaeological_site,https://www.openstreetmap.org/?mlat=42.0300221&mlon=24.6540499#map=18/42.0300221/24.6540499
|
||||
0xd00,1,1,synthetic,1,0,,,42.0457935,24.6471834,Храбрино,tourism=information|place=locality,https://www.openstreetmap.org/?mlat=42.0457935&mlon=24.6471834#map=18/42.0457935/24.6471834
|
||||
|
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"status": "PASS",
|
||||
"counts": {
|
||||
"pois": 57,
|
||||
"generated_name": 27,
|
||||
"synthetic_icon": 27
|
||||
},
|
||||
"catalog_types": 24,
|
||||
"exported_types": 24,
|
||||
"note": "Audit is for OSM tags only. A real .obf inspector comparison and OsmAnd visual inspection remain required.",
|
||||
"errors": [],
|
||||
"missing_types_from_catalog": []
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
code,kind,count,named,default_tags,has_typ_icon,configured_rules,example1_lat,example1_lon,example1_name,example1_map,example2_lat,example2_lon,example2_name,example2_map,example3_lat,example3_lon,example3_name,example3_map,example4_lat,example4_lon,example4_name,example4_map,example5_lat,example5_lon,example5_name,example5_map
|
||||
"0xd00",classic,1,1,"",no,1,42.0457935,24.6471834,"Храбрино","02235062",,,,,,,,,,,,,,,,
|
||||
"0x2800",classic,2,2,"place=locality",no,1,42.0296359,24.6555948,"Момина скала","02235062",42.0223832,24.6616030,"Димитранов камък","02235062",,,,,,,,,,,,
|
||||
"0x2b00",classic,2,2,"tourism=hotel",no,1,42.0442057,24.6486855,"х-л Водопада","02235062",42.0492697,24.6458745,"Звездната къща","02235062",,,,,,,,,,,,
|
||||
"0x2c05",classic,1,1,"garmin:legend=school;amenity=school",yes,1,42.0485187,24.6484709,"Основно училище","02235062",,,,,,,,,,,,,,,,
|
||||
"0x2c08",classic,1,1,"",yes,1,42.0448923,24.6473336,"Детска площадка","02235062",,,,,,,,,,,,,,,,
|
||||
"0x3003",classic,1,1,"",no,1,42.0457292,24.6463251,"Кметство","02235062",,,,,,,,,,,,,,,,
|
||||
"0x3007",classic,1,1,"",no,1,42.0496774,24.6426129,"Пречиствателна станция","02235062",,,,,,,,,,,,,,,,
|
||||
"0x6402",classic,1,1,"garmin:legend=building;building=yes",yes,1,42.0302367,24.6557236,"Сграда - 245G2CMJB5W","02235062",,,,,,,,,,,,,,,,
|
||||
"0x6403",classic,1,1,"garmin:legend=graveyard_tombstone",yes,1,42.0300436,24.6541786,"Кръст","02235062",,,,,,,,,,,,,,,,
|
||||
"0x6404",classic,1,1,"garmin:legend=church;amenity=place_of_worship",yes,1,42.0466948,24.6454024,"„Св. Харалампий“","02235062",,,,,,,,,,,,,,,,
|
||||
"0x6407",classic,1,1,"garmin:legend=picnic_site;tourism=picnic_site",yes,1,42.0327902,24.6572471,"Маси и пейки","02235062",,,,,,,,,,,,,,,,
|
||||
"0x6409",classic,1,1,"garmin:legend=monument;historic=monument",yes,1,42.0468235,24.6437931,"Паметник - 0848D3PQRMD","02235062",,,,,,,,,,,,,,,,
|
||||
"0x640a",classic,1,1,"garmin:legend=danger",yes,1,42.0404720,24.6489859,"Свлачище!","02235062",,,,,,,,,,,,,,,,
|
||||
"0x640b",classic,4,4,"garmin:legend=chapel;amenity=place_of_worship",yes,1,42.0467591,24.6438789,"Св. Димитър","02235062",42.0442271,24.6445870,"Св. Мария","02235062",42.0327687,24.6571398,"Св. Богородица","02235062",42.0438838,24.6479988,"Св. Георги","02235062",,,,
|
||||
"0x6414",classic,11,11,"garmin:legend=drinking_water;amenity=drinking_water",yes,1,42.0299792,24.6593070,"Овчарска чешма","02235062",42.0340562,24.6610451,"Вода - Чешма - PG9C0I98SET","02235062",42.0319533,24.6577406,"Вода - Чешма - T3B8DZ40HTB","02235062",42.0245075,24.6626544,"(чучур)","02235062",42.0461583,24.6438146,"Вода - Чешма - 5AJ9ZXAO8PR","02235062"
|
||||
"0x641c",classic,1,1,"garmin:legend=bus_stop_station;highway=bus_stop",yes,1,42.0456433,24.6473551,"Спирка - 5JRDPRMELBN","02235062",,,,,,,,,,,,,,,,
|
||||
"0x6500",classic,9,9,"garmin:legend=reservoir",yes,1,42.0340991,24.6520114,"Вода - Каптаж - ED03D455VTZ","02235062",42.0357084,24.6481919,"Вода - Каптаж - WONQJS3668N","02235062",42.0471239,24.6401882,"Вода - Каптаж - 6XYYYJO443X","02235062",42.0347643,24.6522689,"Вода - Каптаж - 1THF1SDNTKJ","02235062",42.0379400,24.6520758,"Вода - Каптаж - GS51DWAWJP0","02235062"
|
||||
"0x6502",classic,2,2,"garmin:legend=river_passage",yes,1,42.0416737,24.6499300,"Брод","02235062",42.0363736,24.6521187,"Бент","02235062",,,,,,,,,,,,
|
||||
"0x6506",classic,1,1,"garmin:legend=museum;tourism=museum",yes,1,42.0461583,24.6438360,"Храбрино","02235062",,,,,,,,,,,,,,,,
|
||||
"0x6511",classic,2,2,"garmin:legend=spring;natural=spring",yes,1,42.0299363,24.6593714,"Вода - Извор - 64XT1XE2OB5","02235062",42.0380259,24.6560884,"Наковия кладенец","02235062",,,,,,,,,,,,
|
||||
"0x6600",classic,4,4,"garmin:legend=triangulation",yes,1,42.0278120,24.6633840,"769","02235062",42.0396781,24.6603799,"466","02235062",42.0400643,24.6476126,"453","02235062",42.0236921,24.6458101,"758","02235062",,,,
|
||||
"0x6602",classic,3,3,"garmin:legend=viewpoint;tourism=viewpoint",yes,1,42.0303869,24.6514106,"Панорама - Гледка - IHT1SHKTVIH","02235062",42.0346141,24.6528697,"Панорама - Гледка - 25IVP49H823","02235062",42.0321679,24.6523118,"Панорама - Гледка - LZ1TMLZV2JV","02235062",,,,,,,,
|
||||
"0x6613",classic,4,4,"garmin:legend=waterfall;waterway=waterfall",yes,1,42.0280695,24.6428490,"Водопад - EPRYIU6B6MW","02235062",42.0226622,24.6431494,"Водопад - X905W9SL44C","02235062",42.0441842,24.6483636,"Водопад - F8T10N7ZP96","02235062",42.0238209,24.6434712,"Водопад - 0MTQEAVSG4G","02235062",,,,
|
||||
"0x661b",classic,1,1,"garmin:legend=medieval_site;historic=archaeological_site",yes,1,42.0300221,24.6540499,"Крепост Градец","02235062",,,,,,,,,,,,,,,,
|
||||
|
@@ -0,0 +1,58 @@
|
||||
mapset,kind,code,lat,lon,name
|
||||
"02235062","classic","0x6602",42.0303869,24.6514106,"Панорама - Гледка - IHT1SHKTVIH"
|
||||
"02235062","classic","0x6613",42.0226622,24.6431494,"Водопад - X905W9SL44C"
|
||||
"02235062","classic","0x6600",42.0236921,24.6458101,"758"
|
||||
"02235062","classic","0x6613",42.0238209,24.6434712,"Водопад - 0MTQEAVSG4G"
|
||||
"02235062","classic","0x6600",42.0278120,24.6633840,"769"
|
||||
"02235062","classic","0x6613",42.0280695,24.6428490,"Водопад - EPRYIU6B6MW"
|
||||
"02235062","classic","0x661b",42.0300221,24.6540499,"Крепост Градец"
|
||||
"02235062","classic","0x6511",42.0299363,24.6593714,"Вода - Извор - 64XT1XE2OB5"
|
||||
"02235062","classic","0x6402",42.0302367,24.6557236,"Сграда - 245G2CMJB5W"
|
||||
"02235062","classic","0x6403",42.0300436,24.6541786,"Кръст"
|
||||
"02235062","classic","0x6414",42.0299792,24.6593070,"Овчарска чешма"
|
||||
"02235062","classic","0x6414",42.0245075,24.6626544,"(чучур)"
|
||||
"02235062","classic","0x2800",42.0296359,24.6555948,"Момина скала"
|
||||
"02235062","classic","0x2800",42.0223832,24.6616030,"Димитранов камък"
|
||||
"02235062","classic","0x6613",42.0441842,24.6483636,"Водопад - F8T10N7ZP96"
|
||||
"02235062","classic","0x6600",42.0400643,24.6476126,"453"
|
||||
"02235062","classic","0x6600",42.0396781,24.6603799,"466"
|
||||
"02235062","classic","0x6602",42.0346141,24.6528697,"Панорама - Гледка - 25IVP49H823"
|
||||
"02235062","classic","0x6602",42.0321679,24.6523118,"Панорама - Гледка - LZ1TMLZV2JV"
|
||||
"02235062","classic","0x6506",42.0461583,24.6438360,"Храбрино"
|
||||
"02235062","classic","0x6500",42.0471239,24.6401882,"Вода - Каптаж - 6XYYYJO443X"
|
||||
"02235062","classic","0x6500",42.0432830,24.6487284,"капт."
|
||||
"02235062","classic","0x6500",42.0425105,24.6494579,"капт."
|
||||
"02235062","classic","0x6502",42.0416737,24.6499300,"Брод"
|
||||
"02235062","classic","0x6500",42.0487332,24.6517754,"Вода - Каптаж - 9WEI0ZZQ66Y"
|
||||
"02235062","classic","0x6511",42.0380259,24.6560884,"Наковия кладенец"
|
||||
"02235062","classic","0x6500",42.0379400,24.6520758,"Вода - Каптаж - GS51DWAWJP0"
|
||||
"02235062","classic","0x6502",42.0363736,24.6521187,"Бент"
|
||||
"02235062","classic","0x6500",42.0357084,24.6481919,"Вода - Каптаж - WONQJS3668N"
|
||||
"02235062","classic","0x6500",42.0487547,24.6498013,"Вода - Каптаж - M80XTSKBFOQ"
|
||||
"02235062","classic","0x6500",42.0347643,24.6522689,"Вода - Каптаж - 1THF1SDNTKJ"
|
||||
"02235062","classic","0x6500",42.0340991,24.6520114,"Вода - Каптаж - ED03D455VTZ"
|
||||
"02235062","classic","0x6414",42.0476389,24.6402955,"Вода - Чешма - 449O0WBOFC0"
|
||||
"02235062","classic","0x6414",42.0492697,24.6564531,"Вода - Чешма - TMP5NG666J9"
|
||||
"02235062","classic","0x6409",42.0468235,24.6437931,"Паметник - 0848D3PQRMD"
|
||||
"02235062","classic","0x640b",42.0467591,24.6438789,"Св. Димитър"
|
||||
"02235062","classic","0x6404",42.0466948,24.6454024,"„Св. Харалампий“"
|
||||
"02235062","classic","0x6414",42.0465875,24.6500158,"Вода - Чешма - GSX3PLAFQQ6"
|
||||
"02235062","classic","0x6414",42.0461583,24.6438146,"Вода - Чешма - 5AJ9ZXAO8PR"
|
||||
"02235062","classic","0x6414",42.0319533,24.6577406,"Вода - Чешма - T3B8DZ40HTB"
|
||||
"02235062","classic","0x640b",42.0327687,24.6571398,"Св. Богородица"
|
||||
"02235062","classic","0x6407",42.0327902,24.6572471,"Маси и пейки"
|
||||
"02235062","classic","0x6414",42.0340562,24.6610451,"Вода - Чешма - PG9C0I98SET"
|
||||
"02235062","classic","0x640a",42.0404720,24.6489859,"Свлачище!"
|
||||
"02235062","classic","0x6414",42.0428324,24.6493292,"Вода - Чешма - 8J61V43EE3Y"
|
||||
"02235062","classic","0x640b",42.0438838,24.6479988,"Св. Георги"
|
||||
"02235062","classic","0x640b",42.0442271,24.6445870,"Св. Мария"
|
||||
"02235062","classic","0x6414",42.0454288,24.6470118,"Вода - Чешма - ZAA570CLKRC"
|
||||
"02235062","classic","0x6414",42.0455575,24.6632338,"Вода - Чешма - K0SLDKCX5K4"
|
||||
"02235062","classic","0x641c",42.0456433,24.6473551,"Спирка - 5JRDPRMELBN"
|
||||
"02235062","classic","0x3007",42.0496774,24.6426129,"Пречиствателна станция"
|
||||
"02235062","classic","0x3003",42.0457292,24.6463251,"Кметство"
|
||||
"02235062","classic","0x2c05",42.0485187,24.6484709,"Основно училище"
|
||||
"02235062","classic","0x2c08",42.0448923,24.6473336,"Детска площадка"
|
||||
"02235062","classic","0x2b00",42.0442057,24.6486855,"х-л Водопада"
|
||||
"02235062","classic","0x2b00",42.0492697,24.6458745,"Звездната къща"
|
||||
"02235062","classic","0xd00",42.0457935,24.6471834,"Храбрино"
|
||||
|
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"source_pois": 57,
|
||||
"expected_after_drops": 57,
|
||||
"declared_drops": 0,
|
||||
"osm_pois": 57,
|
||||
"missing": 0,
|
||||
"extra": 0,
|
||||
"rule_tag_violations": {},
|
||||
"examples": [],
|
||||
"status": "PASS",
|
||||
"limitation": "Same IMG decoder is used for manifest and OSM: this validates export fidelity, not ground truth or OBF persistence."
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"status": "PASS",
|
||||
"counts": {
|
||||
"pois": 101,
|
||||
"has_native_semantics": 43,
|
||||
"generated_name": 42,
|
||||
"has_bgm_poi_tag": 101,
|
||||
"needs_custom_style": 58
|
||||
},
|
||||
"catalog_types": 13,
|
||||
"exported_types": 13,
|
||||
"note": "POIs without standard OSM categories are valid for this PRIVATE map because bgm_poi uses custom index and renderer. They require importing the style; this does not prove OBF persistence or screen visibility.",
|
||||
"errors": [],
|
||||
"missing_types_from_catalog": []
|
||||
}
|
||||
@@ -0,0 +1,102 @@
|
||||
mapset,kind,code,lat,lon,name
|
||||
"02234083","classic","0x6614",41.7204094,23.3722329,"Скала - 3310ACQWEHI"
|
||||
"02234083","classic","0x6616",41.7381334,23.3741426,"Гергийца (2589)"
|
||||
"02234083","classic","0x660c",41.7340136,23.3734131,"Порта"
|
||||
"02234083","classic","0x6616",41.7392492,23.3764601,"Безимен (2571)"
|
||||
"02234083","classic","0x6616",41.7404938,23.3828115,"Безимен (2554)"
|
||||
"02234083","classic","0x6616",41.7317605,23.3725762,"Безимен (2543)"
|
||||
"02234083","classic","0x6615",41.7433262,23.3739281,"Дупка"
|
||||
"02234083","classic","0x660c",41.7268896,23.3712673,"Синанишка порта"
|
||||
"02234083","classic","0x6600",41.7258811,23.3701301,"2467"
|
||||
"02234083","classic","0x6616",41.7444634,23.3775759,"Муратова чука (2449)"
|
||||
"02234083","classic","0x6503",41.7358160,23.3705378,"Рзкл"
|
||||
"02234083","classic","0x6414",41.7449141,23.3817816,"Вода (поток)"
|
||||
"02234083","classic","0x2800",41.7440128,23.3833480,"Гергийца"
|
||||
"02234083","classic","0x6600",41.7351937,23.4019947,"2592"
|
||||
"02234083","classic","0x6600",41.7336702,23.4037971,"2609"
|
||||
"02234083","classic","0x6616",41.7310739,23.4095478,"(2636)"
|
||||
"02234083","classic","0x660c",41.7308378,23.4024239,"Седл Малко-Голямо Спано поле-2527"
|
||||
"02234083","classic","0x6616",41.7301941,23.3993340,"Спанополски чукар (2576)"
|
||||
"02234083","classic","0x6600",41.7301941,23.3989048,"2576"
|
||||
"02234083","classic","0x6602",41.7262030,23.4098053,"Панорама Башлийски и Бъндеришки чукар"
|
||||
"02234083","classic","0x6614",41.7244649,23.4084320,"Скала - ZZC90NYTOCF"
|
||||
"02234083","classic","0x6600",41.7223191,23.4024024,"2404"
|
||||
"02234083","classic","0x650b",41.7234993,23.3853221,"Зимна маркировка - QRY7DY72FMJ"
|
||||
"02234083","classic","0x650b",41.7258811,23.3845925,"Зимна маркировка - 8JT9VM2UB7C"
|
||||
"02234083","classic","0x650b",41.7268896,23.3845067,"Зимна маркировка - L9KQU03N0Y5"
|
||||
"02234083","classic","0x650b",41.7277479,23.3846354,"Зимна маркировка - BRWNXVGHJ2A"
|
||||
"02234083","classic","0x650b",41.7285633,23.3850217,"Зимна маркировка - QCHZ1FXG1S6"
|
||||
"02234083","classic","0x650b",41.7290139,23.3851933,"Зимна маркировка - L9UJHM8M3L5"
|
||||
"02234083","classic","0x650b",41.7302155,23.3854723,"Зимна маркировка - ZLGO6R0CWUL"
|
||||
"02234083","classic","0x6511",41.7302585,23.3907509,"Вода - Извор - SZ7MXII06CB"
|
||||
"02234083","classic","0x650b",41.7324471,23.3863521,"Зимна маркировка - 0PO1Y4QNTKQ"
|
||||
"02234083","classic","0x650b",41.7333913,23.3868670,"Зимна маркировка - S0OOBD9DMT9"
|
||||
"02234083","classic","0x650b",41.7340779,23.3873820,"Зимна маркировка - ZJJ69H95896"
|
||||
"02234083","classic","0x650b",41.7346787,23.3876395,"Зимна маркировка - LRUKQQLW46P"
|
||||
"02234083","classic","0x650b",41.7201734,23.3826399,"Зимна маркировка - ECDE8HOEXT6"
|
||||
"02234083","classic","0x650b",41.7204738,23.3879399,"Зимна маркировка - BJH9BWY0S43"
|
||||
"02234083","classic","0x650b",41.7204738,23.3852148,"Зимна маркировка - EON21NTVSS2"
|
||||
"02234083","classic","0x650b",41.7205381,23.3832836,"Зимна маркировка - BJ2IFV25F7B"
|
||||
"02234083","classic","0x650b",41.7206669,23.3861375,"Зимна маркировка - KN9AQOZ1709"
|
||||
"02234083","classic","0x650b",41.7206669,23.3843994,"Зимна маркировка - UPFR04SCKJ6"
|
||||
"02234083","classic","0x6503",41.7207956,23.3865023,"Рзкл жълта/кафява маркировка"
|
||||
"02234083","classic","0x650b",41.7208600,23.3870173,"Зимна маркировка - ETSMTX323F0"
|
||||
"02234083","classic","0x650b",41.7209244,23.3838630,"Зимна маркировка - 2CH7W5QYBST"
|
||||
"02234083","classic","0x650b",41.7210317,23.3819532,"Зимна маркировка - 0H20QTLK2D8"
|
||||
"02234083","classic","0x650b",41.7217612,23.3817601,"Зимна маркировка - UR9S90UU4PI"
|
||||
"02234083","classic","0x650b",41.7224050,23.3814812,"Зимна маркировка - 0WITPVLXNZ5"
|
||||
"02234083","classic","0x650b",41.7226624,23.3854723,"Зимна маркировка - KKJ6VOB1UHB"
|
||||
"02234083","classic","0x6503",41.7229199,23.3789277,"Рзкл зимна"
|
||||
"02234083","classic","0x640a",41.7336702,23.4035397,"Опасно слизане"
|
||||
"02234083","classic","0x2800",41.7288423,23.3857727,"Големо Спано поле"
|
||||
"02234083","classic","0x2800",41.7323613,23.4036040,"Караулите"
|
||||
"02234083","classic","0x2800",41.7231774,23.4089899,"Малко Спано поле"
|
||||
"02234083","classic","0x6600",41.7415237,23.3972311,"2501"
|
||||
"02234083","classic","0x660c",41.7417812,23.3968449,"Бъндеришка порта"
|
||||
"02234083","classic","0x6600",41.7420816,23.3896351,"2468"
|
||||
"02234083","classic","0x6600",41.7421889,23.4056425,"2351"
|
||||
"02234083","classic","0x6600",41.7431545,23.4037542,"2314"
|
||||
"02234083","classic","0x6600",41.7439270,23.4045053,"2304"
|
||||
"02234083","classic","0x6600",41.7442489,23.4093547,"2229"
|
||||
"02234083","classic","0x6616",41.7449570,23.3969307,"Муратов връх (2669)"
|
||||
"02234083","classic","0x6600",41.7452145,23.4076166,"2241"
|
||||
"02234083","classic","0x6600",41.7461371,23.4070802,"2248"
|
||||
"02234083","classic","0x660c",41.7486048,23.3911800,"Муратова премка"
|
||||
"02234083","classic","0x660c",41.7495489,23.3981752,"Влахински превал"
|
||||
"02234083","classic","0x660c",41.7514372,23.3985186,"Влахински превал"
|
||||
"02234083","classic","0x6616",41.7519951,23.3843350,"Гредаро (2605)"
|
||||
"02234083","classic","0x6602",41.7353010,23.4009218,"Иглата на Караулите"
|
||||
"02234083","classic","0x6600",41.7354727,23.4006214,"2586"
|
||||
"02234083","classic","0x6600",41.7358804,23.3998060,"2578"
|
||||
"02234083","classic","0x6600",41.7360520,23.3994627,"2597"
|
||||
"02234083","classic","0x6600",41.7374468,23.4049559,"2504"
|
||||
"02234083","classic","0x6503",41.7538404,23.3998060,"Рзкл зимно ребро от Муратово езеро"
|
||||
"02234083","classic","0x6511",41.7506433,23.3959866,"Вода - Извор - D7562E5MBLA"
|
||||
"02234083","classic","0x650b",41.7363524,23.3882833,"Зимна маркировка - ML7GHHLGGVB"
|
||||
"02234083","classic","0x6503",41.7493987,23.3964372,"Кръстопът - JS2LQVK6Z0Y"
|
||||
"02234083","classic","0x6503",41.7450428,23.4058356,"Рзкл Муратово ез."
|
||||
"02234083","classic","0x650b",41.7410517,23.3955145,"Зимна маркировка - ZVN3B0ZG6Z7"
|
||||
"02234083","classic","0x650b",41.7415667,23.3965015,"Зимна маркировка - C0GJITD9Q3J"
|
||||
"02234083","classic","0x6511",41.7416954,23.3946991,"Вода - Извор - YY24QUNHLSL"
|
||||
"02234083","classic","0x650b",41.7419100,23.3969736,"Зимна маркировка - N2XVWARW03F"
|
||||
"02234083","classic","0x650b",41.7400217,23.3932185,"Зимна маркировка - T5WTMHMWT4K"
|
||||
"02234083","classic","0x650b",41.7395926,23.3919525,"Зимна маркировка - UFCHM8SJ1D7"
|
||||
"02234083","classic","0x650b",41.7391205,23.3905363,"Зимна маркировка - O9IF7BPSJR6"
|
||||
"02234083","classic","0x650b",41.7378759,23.3894420,"Зимна маркировка - XCWILHV9I1K"
|
||||
"02234083","classic","0x6503",41.7445707,23.4080887,"Рзкл Муратово езеро"
|
||||
"02234083","classic","0x6414",41.7549562,23.3888626,"Вода - Чешма - XSX8SGXW0S5"
|
||||
"02234083","classic","0x6414",41.7544627,23.3887553,"Вода - Чешма - X8HNWYW73EC"
|
||||
"02234083","classic","0x6415",41.7402792,23.3953857,"Бивак"
|
||||
"02234083","classic","0x640a",41.7359018,23.3995056,"Опасно слизане"
|
||||
"02234083","classic","0x6415",41.7453432,23.4067583,"Бивак"
|
||||
"02234083","classic","0x6414",41.7509651,23.4011364,"Вода - Чешма - 4DAF49MGS8O"
|
||||
"02234083","classic","0x640a",41.7456007,23.3963728,"Опасно слизане"
|
||||
"02234083","classic","0x6414",41.7461586,23.4052134,"Вода (поток)"
|
||||
"02234083","classic","0x6414",41.7388630,23.3864164,"Вода - Чешма - 6B4RAQRPAHT"
|
||||
"02234083","classic","0x6414",41.7479610,23.4026814,"Вода - Чешма - B107V8QHR57"
|
||||
"02234083","classic","0x6414",41.7468023,23.3872318,"Вода (поток)"
|
||||
"02234083","classic","0x6415",41.7465878,23.4065437,"Бивак"
|
||||
"02234083","classic","0x2800",41.7509651,23.3984327,"Влахински превал"
|
||||
"02234083","classic","0x2800",41.7442060,23.4046984,"Муратов циркус"
|
||||
"02234083","classic","0x2800",41.7368460,23.3897853,"Циркус Големо Спано поле"
|
||||
"02234083","classic","0x2800",41.7449570,23.4051275,"Овинати езера"
|
||||
|
@@ -0,0 +1,14 @@
|
||||
code,kind,count,named,default_tags,has_typ_icon,configured_rules,example1_lat,example1_lon,example1_name,example1_map,example2_lat,example2_lon,example2_name,example2_map,example3_lat,example3_lon,example3_name,example3_map,example4_lat,example4_lon,example4_name,example4_map,example5_lat,example5_lon,example5_name,example5_map
|
||||
"0x2800",classic,8,8,"place=locality",no,1,41.7440128,23.3833480,"Гергийца","02234083",41.7509651,23.3984327,"Влахински превал","02234083",41.7288423,23.3857727,"Големо Спано поле","02234083",41.7231774,23.4089899,"Малко Спано поле","02234083",41.7442060,23.4046984,"Муратов циркус","02234083"
|
||||
"0x640a",classic,3,3,"garmin:legend=danger",yes,1,41.7456007,23.3963728,"Опасно слизане","02234083",41.7359018,23.3995056,"Опасно слизане","02234083",41.7336702,23.4035397,"Опасно слизане","02234083",,,,,,,,
|
||||
"0x6414",classic,8,8,"garmin:legend=drinking_water;amenity=drinking_water",yes,1,41.7544627,23.3887553,"Вода - Чешма - X8HNWYW73EC","02234083",41.7388630,23.3864164,"Вода - Чешма - 6B4RAQRPAHT","02234083",41.7468023,23.3872318,"Вода (поток)","02234083",41.7509651,23.4011364,"Вода - Чешма - 4DAF49MGS8O","02234083",41.7449141,23.3817816,"Вода (поток)","02234083"
|
||||
"0x6415",classic,3,3,"garmin:legend=camp_site;tourism=camp_site",yes,1,41.7402792,23.3953857,"Бивак","02234083",41.7453432,23.4067583,"Бивак","02234083",41.7465878,23.4065437,"Бивак","02234083",,,,,,,,
|
||||
"0x6503",classic,7,7,"garmin:legend=crossroad",yes,1,41.7538404,23.3998060,"Рзкл зимно ребро от Муратово езеро","02234083",41.7445707,23.4080887,"Рзкл Муратово езеро","02234083",41.7358160,23.3705378,"Рзкл","02234083",41.7493987,23.3964372,"Кръстопът - JS2LQVK6Z0Y","02234083",41.7229199,23.3789277,"Рзкл зимна","02234083"
|
||||
"0x650b",classic,31,31,"garmin:legend=winter_marking",yes,1,41.7419100,23.3969736,"Зимна маркировка - N2XVWARW03F","02234083",41.7285633,23.3850217,"Зимна маркировка - QCHZ1FXG1S6","02234083",41.7205381,23.3832836,"Зимна маркировка - BJ2IFV25F7B","02234083",41.7395926,23.3919525,"Зимна маркировка - UFCHM8SJ1D7","02234083",41.7324471,23.3863521,"Зимна маркировка - 0PO1Y4QNTKQ","02234083"
|
||||
"0x6511",classic,3,3,"garmin:legend=spring;natural=spring",yes,1,41.7506433,23.3959866,"Вода - Извор - D7562E5MBLA","02234083",41.7416954,23.3946991,"Вода - Извор - YY24QUNHLSL","02234083",41.7302585,23.3907509,"Вода - Извор - SZ7MXII06CB","02234083",,,,,,,,
|
||||
"0x6600",classic,17,17,"garmin:legend=triangulation",yes,1,41.7415237,23.3972311,"2501","02234083",41.7421889,23.4056425,"2351","02234083",41.7442489,23.4093547,"2229","02234083",41.7452145,23.4076166,"2241","02234083",41.7336702,23.4037971,"2609","02234083"
|
||||
"0x6602",classic,2,2,"garmin:legend=viewpoint;tourism=viewpoint",yes,1,41.7262030,23.4098053,"Панорама Башлийски и Бъндеришки чукар","02234083",41.7353010,23.4009218,"Иглата на Караулите","02234083",,,,,,,,,,,,
|
||||
"0x660c",classic,7,7,"natural=saddle",yes,1,41.7514372,23.3985186,"Влахински превал","02234083",41.7417812,23.3968449,"Бъндеришка порта","02234083",41.7495489,23.3981752,"Влахински превал","02234083",41.7486048,23.3911800,"Муратова премка","02234083",41.7340136,23.3734131,"Порта","02234083"
|
||||
"0x6614",classic,2,2,"garmin:legend=rock",yes,1,41.7204094,23.3722329,"Скала - 3310ACQWEHI","02234083",41.7244649,23.4084320,"Скала - ZZC90NYTOCF","02234083",,,,,,,,,,,,
|
||||
"0x6615",classic,1,1,"garmin:legend=cave;natural=cave_entrance",yes,1,41.7433262,23.3739281,"Дупка","02234083",,,,,,,,,,,,,,,,
|
||||
"0x6616",classic,9,9,"natural=peak",no,1,41.7404938,23.3828115,"Безимен (2554)","02234083",41.7381334,23.3741426,"Гергийца (2589)","02234083",41.7317605,23.3725762,"Безимен (2543)","02234083",41.7444634,23.3775759,"Муратова чука (2449)","02234083",41.7301941,23.3993340,"Спанополски чукар (2576)","02234083"
|
||||
|
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"source_pois": 101,
|
||||
"expected_after_drops": 101,
|
||||
"declared_drops": 0,
|
||||
"osm_pois": 101,
|
||||
"missing": 0,
|
||||
"extra": 0,
|
||||
"rule_tag_violations": {},
|
||||
"examples": [],
|
||||
"status": "PASS",
|
||||
"limitation": "Same IMG decoder is used for manifest and OSM: this validates export fidelity, not ground truth or OBF persistence."
|
||||
}
|
||||
Binary file not shown.
@@ -0,0 +1,68 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Prefer existing physical highway ways as native hiking-route relation members.
|
||||
Never invent highway=path. Only attach where exact coordinate-node edge coverage >=90%
|
||||
and physical-way overrun <=10%; otherwise preserve original overlay member.
|
||||
"""
|
||||
import argparse,collections,json,pathlib,xml.etree.ElementTree as ET
|
||||
from native_translate import mapping,tagdict,top_level_elements
|
||||
|
||||
def edges(refs):
|
||||
for a,b in zip(refs,refs[1:]):
|
||||
if a!=b:yield (a,b) if a<b else (b,a)
|
||||
|
||||
def match(src,dst,line_cfg,report):
|
||||
candidates={c for c,r in mapping(line_cfg).items() if r.get('route_mode')=='relation'}
|
||||
overlay_refs={};lookup=collections.defaultdict(set)
|
||||
with open(src,'rb') as f:
|
||||
for e in top_level_elements(f):
|
||||
if e.tag=='way':
|
||||
t=tagdict(e)
|
||||
if t.get('garmin:type') in candidates and t.get('garmin:feature')=='extended_polyline':
|
||||
oid=int(e.get('id'))
|
||||
ns=[int(n.get('ref')) for n in e.findall('nd')]
|
||||
if len(ns)>=2:
|
||||
overlay_refs[oid]=ns
|
||||
for edge in edges(ns):lookup[edge].add(oid)
|
||||
e.clear()
|
||||
elif e.tag in ('node','relation'):e.clear()
|
||||
matches=collections.defaultdict(collections.Counter);physical_len={};written=0
|
||||
with open(src,'rb') as f,open(dst,'w',encoding='utf-8') as out:
|
||||
out.write('<?xml version="1.0" encoding="UTF-8"?>\n<osm version="0.6" generator="garmin2osm-v0.92" upload="never">\n')
|
||||
replaced={}; relations=0
|
||||
for e in top_level_elements(f):
|
||||
if e.tag=='way':
|
||||
t=tagdict(e)
|
||||
if 'highway' in t:
|
||||
pid=int(e.get('id'));ns=[int(n.get('ref')) for n in e.findall('nd')]
|
||||
physical_len[pid]=max(0,len(ns)-1)
|
||||
for edge in edges(ns):
|
||||
for oid in lookup.get(edge,()):matches[oid][pid]+=1
|
||||
elif e.tag=='relation':
|
||||
if not replaced:
|
||||
for oid,refs in overlay_refs.items():
|
||||
nseg=max(1,len(refs)-1)
|
||||
for pid,matched in matches.get(oid,{}).most_common():
|
||||
# Not allowed to extend a colored marking beyond its actual physical segment.
|
||||
if matched/nseg>=0.9 and physical_len.get(pid,10**9)<=nseg*1.1:
|
||||
replaced[oid]=pid;break
|
||||
tt=tagdict(e)
|
||||
if tt.get('route')=='hiking' and tt.get('bgm:source_feature')=='extended_polyline':
|
||||
seen=set();relations+=1
|
||||
for m in list(e.findall('member')):
|
||||
val=int(m.get('ref'))
|
||||
ref=str(replaced.get(val,val))
|
||||
if ref in seen:e.remove(m)
|
||||
else:m.set('ref',ref);seen.add(ref)
|
||||
out.write(ET.tostring(e,encoding='unicode')+'\n');written+=1;e.clear()
|
||||
out.write('</osm>\n')
|
||||
summary={'candidate_overlay_ways':len(overlay_refs),'attached_to_existing_highway':len(replaced),
|
||||
'unmatched_overlay_members':len(overlay_refs)-len(replaced),'hiking_relations':relations,
|
||||
'policy':'Attach only with >=90% shared physical segments and <=10% physical overrun. No invented routable ways.'}
|
||||
pathlib.Path(report).write_text(json.dumps(summary,ensure_ascii=False,indent=2)+'\n',encoding='utf-8')
|
||||
return summary
|
||||
|
||||
def main():
|
||||
p=argparse.ArgumentParser(description=__doc__)
|
||||
p.add_argument('--osm',required=True);p.add_argument('--out',required=True);p.add_argument('--lines',required=True);p.add_argument('--report',required=True)
|
||||
a=p.parse_args();print(json.dumps(match(a.osm,a.out,a.lines,a.report),ensure_ascii=False,indent=2))
|
||||
if __name__=='__main__':main()
|
||||
Executable
+341
@@ -0,0 +1,341 @@
|
||||
#!/usr/bin/env python3
|
||||
"""One-command BGMountains IMG -> reviewed OSM -> custom indexed OsmAnd OBF.
|
||||
|
||||
Only Python 3 stdlib needed for orchestration; CMake/C++/OsmAndMapCreator are external.
|
||||
"""
|
||||
from __future__ import annotations
|
||||
import argparse
|
||||
import csv
|
||||
import datetime as dt
|
||||
import hashlib
|
||||
import json
|
||||
import os
|
||||
from pathlib import Path
|
||||
import shutil
|
||||
import subprocess
|
||||
import sys
|
||||
import urllib.request
|
||||
import xml.etree.ElementTree as ET
|
||||
|
||||
ROOT = Path(__file__).resolve().parents[1]
|
||||
UPSTREAM = {
|
||||
'poi': 'https://raw.githubusercontent.com/osmandapp/OsmAnd-resources/master/poi/poi_types.xml',
|
||||
'rendering': 'https://raw.githubusercontent.com/osmandapp/OsmAnd-resources/master/obf_creation/rendering_types.xml'
|
||||
}
|
||||
|
||||
def call(argv, cwd=None, log=None, env=None):
|
||||
argv = [str(s) for s in argv]
|
||||
print('+', ' '.join(shlex_quote(s) for s in argv), flush=True)
|
||||
if log:
|
||||
with Path(log).open('w', encoding='utf-8') as output:
|
||||
r = subprocess.run(argv, cwd=cwd, env=env, stdout=output, stderr=subprocess.STDOUT)
|
||||
if r.returncode:
|
||||
print('Command failed; last log lines:', file=sys.stderr)
|
||||
print('\n'.join(Path(log).read_text(errors='replace').splitlines()[-35:]), file=sys.stderr)
|
||||
raise SystemExit(r.returncode)
|
||||
else:
|
||||
subprocess.run(argv, cwd=cwd, env=env, check=True)
|
||||
|
||||
def shlex_quote(s):
|
||||
import shlex
|
||||
return shlex.quote(s)
|
||||
|
||||
def base_xml(provided, creator, key, cache, offline):
|
||||
if provided:
|
||||
p = Path(provided).expanduser().resolve()
|
||||
if not p.is_file(): raise SystemExit('Upstream XML not found: '+str(p))
|
||||
return p
|
||||
names = ['poi_types.xml'] if key == 'poi' else ['rendering_types.xml']
|
||||
if creator:
|
||||
for prefix in [creator, creator/'resources', creator/'config', creator/'poi', creator/'obf_creation']:
|
||||
for name in names:
|
||||
candidate = prefix/name
|
||||
if candidate.is_file(): return candidate.resolve()
|
||||
target = cache/names[0]
|
||||
if target.is_file(): return target
|
||||
if offline:
|
||||
raise SystemExit('Missing upstream '+names[0]+': pass --'+key+'-base FILE or allow download')
|
||||
target.parent.mkdir(parents=True,exist_ok=True)
|
||||
print('Fetching official OsmAnd '+names[0]+' (first run only) ...', flush=True)
|
||||
try:
|
||||
with urllib.request.urlopen(UPSTREAM[key], timeout=50) as u, target.open('wb') as out:
|
||||
shutil.copyfileobj(u,out)
|
||||
except Exception as ex:
|
||||
target.unlink(missing_ok=True)
|
||||
raise SystemExit('Cannot fetch official OsmAnd '+names[0]+': '+str(ex)+'\nProvide --'+key+'-base FILE manually.')
|
||||
return target
|
||||
|
||||
def catalog_rows(p):
|
||||
with Path(p).open('r',encoding='utf-8-sig',newline='') as f:
|
||||
rows=list(csv.DictReader(f))
|
||||
if not rows or not {'code','count','has_typ_icon'}.issubset(rows[0]):
|
||||
raise SystemExit('Invalid POI catalog (expected code,count,has_typ_icon): '+str(p))
|
||||
out=[]
|
||||
seen=set()
|
||||
for r in rows:
|
||||
code='0x'+format(int(r['code'],0),'x')
|
||||
if code in seen:raise SystemExit('Duplicate code in catalog: '+code)
|
||||
seen.add(code)
|
||||
out.append(dict(r,code=code,count=int(r['count'])))
|
||||
return sorted(out,key=lambda r:(-r['count'],int(r['code'],0)))
|
||||
|
||||
def write_xml(tree,path):
|
||||
ET.indent(tree,space=' ')
|
||||
tree.write(path,encoding='utf-8',xml_declaration=True)
|
||||
ET.parse(path)
|
||||
|
||||
def make_configs(poi_base,render_base,catalog,folder,threshold,frequent_zoom=15,rare_zoom=17,route_styles=()):
|
||||
# Keep entire upstream definitions! Replacing with a standalone tiny XML is
|
||||
# precisely what used to make ordinary semantic POIs disappear.
|
||||
poi=ET.parse(poi_base); proot=poi.getroot()
|
||||
if proot.tag!='poi_types':raise SystemExit('Not an OsmAnd poi_types.xml: '+str(poi_base))
|
||||
if any(c.get('name')=='bgmountains_raw' for c in proot.findall('poi_category')):
|
||||
raise SystemExit('Input poi_types.xml already has a bgmountains_raw category')
|
||||
cat=ET.SubElement(proot,'poi_category',name='bgmountains_raw', default_tag='bgm_poi', no_edit='true')
|
||||
for r in catalog:
|
||||
code=r['code']
|
||||
ET.SubElement(cat,'poi_type',name='bgm_'+code.replace('0x',''),tag='bgm_poi',value='type_'+code,no_edit='true')
|
||||
pa=folder/'poi_types.bgmountains.xml'
|
||||
write_xml(poi,pa)
|
||||
|
||||
rendering=ET.parse(render_base); rroot=rendering.getroot()
|
||||
if rroot.tag != 'osmand_types':
|
||||
# OsmAnd resources use the tag 'rendering_types'; fail instead of dropping all built-in types.
|
||||
raise SystemExit('Unexpected OsmAnd rendering_types.xml root: '+rroot.tag)
|
||||
cats=[c for c in rroot.iter('category') if c.get('name')=='user_defined']
|
||||
target=cats[0] if cats else ET.SubElement(rroot,'category',name='user_defined')
|
||||
for r in catalog:
|
||||
code=r['code']
|
||||
ET.SubElement(target,'type',tag='bgm_poi',value='type_'+code,
|
||||
minzoom=str(frequent_zoom) if r['count']>=threshold else str(rare_zoom))
|
||||
# Route overlays have their OWN map-index main types, not only an ignored metadata tag.
|
||||
# Do not map decorative overlays to 'highway=path': that would create bogus routing.
|
||||
for route in route_styles:
|
||||
if route.get('show','yes').lower() not in ('yes','1','true'): continue
|
||||
ET.SubElement(target,'type',tag='bgm_route',value='type_'+route['code'],minzoom=route['display_minzoom'])
|
||||
rp=folder/'rendering_types.bgmountains.xml'
|
||||
write_xml(rendering,rp)
|
||||
summary={
|
||||
'catalog_types':len(catalog), 'route_overlay_types':len(route_styles),
|
||||
'poi_count_in_catalog':sum(r.get('sample_count',r['count']) for r in catalog),
|
||||
'types_at_or_above_threshold':sum(r['count']>=threshold for r in catalog),
|
||||
'frequent_index_minzoom':frequent_zoom, 'rare_index_minzoom':rare_zoom,
|
||||
'items_at_or_above_threshold':sum(r.get('sample_count',r['count']) for r in catalog if r['count']>=threshold),
|
||||
'types_with_extracted_icon':sum(r['has_typ_icon']=='yes' for r in catalog),
|
||||
'poi_base_sha256':hashlib.sha256(Path(poi_base).read_bytes()).hexdigest(),
|
||||
'rendering_base_sha256':hashlib.sha256(Path(render_base).read_bytes()).hexdigest(),
|
||||
'note':'Local-only compat data; synthetic information icons are not truth about an informational board. All Garmin hex POI types indexed; high-frequency raw types inserted into OBF map index from selected frequent zoom; low-frequency from selected rare zoom. Rendering exact Garmin icon PNGs requires installing compatible icons/style in OsmAnd, not merely compiling an OBF.'
|
||||
}
|
||||
(folder/'type-index-summary.json').write_text(json.dumps(summary,ensure_ascii=False,indent=2)+'\n',encoding='utf-8')
|
||||
return pa,rp,summary
|
||||
|
||||
def read_route_styles(path):
|
||||
with Path(path).open(encoding='utf-8-sig',newline='') as f: rows=list(csv.DictReader(f))
|
||||
if not rows or not {'code','color','show','display_minzoom','width'}.issubset(rows[0]):
|
||||
raise SystemExit('Invalid trail-styles.csv: '+str(path))
|
||||
seen=set()
|
||||
for r in rows:
|
||||
code='0x'+format(int(r['code'],0),'x')
|
||||
if code in seen: raise SystemExit('Duplicate route style type: '+code)
|
||||
seen.add(code);r['code']=code
|
||||
if not (len(r['color'])==7 and r['color'][0]=='#' and all(c in '0123456789abcdefABCDEF' for c in r['color'][1:])):
|
||||
raise SystemExit('Invalid CSS color in route type '+code)
|
||||
if not (0.2<=float(r['width'])<=15 and 1<=int(r['display_minzoom'])<=21):
|
||||
raise SystemExit('Invalid route width/zoom '+code)
|
||||
return rows
|
||||
|
||||
def make_style(icon_csv,folder,catalog,route_styles=()):
|
||||
"""Selectable OsmAnd map style that maps BGM indexes to built-in icons.
|
||||
|
||||
The .obf itself only embeds geometry/tags. Android requires installing and
|
||||
selecting this renderer; stock app ignores bgm_poi and bgm_route styling.
|
||||
"""
|
||||
known={r['code'] for r in catalog}
|
||||
with Path(icon_csv).open(encoding='utf-8-sig',newline='') as f:
|
||||
rows=list(csv.DictReader(f))
|
||||
visible=[]
|
||||
for r in rows:
|
||||
code='0x'+format(int(r['code'],0),'x')
|
||||
if code not in known or r['show_in_custom_style'].strip().lower() not in ('yes','true','1'):
|
||||
continue
|
||||
name=r['osmand_builtin_icon'].strip()
|
||||
if not name or not name.replace('_','').replace('-','').isalnum():
|
||||
raise SystemExit('Invalid OsmAnd icon: '+repr(name)+' code='+code)
|
||||
zoom=int(r['minzoom'])
|
||||
if not 1<=zoom<=21: raise SystemExit('Bad icon zoom: '+code)
|
||||
visible.append((code,name,zoom))
|
||||
root=ET.Element('renderingStyle',name='BGMountains outdoor v0.9',
|
||||
depends='default',defaultColor='#fff8ee',version='1')
|
||||
order=ET.SubElement(root,'order');points=ET.SubElement(root,'point')
|
||||
lines=ET.SubElement(root,'line')
|
||||
for code,name,zoom in visible:
|
||||
ET.SubElement(order,'case',tag='bgm_poi',value='type_'+code,
|
||||
minzoom=str(zoom),point='true',objectType='1',order='120')
|
||||
ET.SubElement(points,'case',tag='bgm_poi',value='type_'+code,minzoom=str(zoom),
|
||||
icon=name,iconOrder='11',iconVisibleSize='16',intersectionSizeFactor='0.7')
|
||||
route_count=0
|
||||
for route in route_styles:
|
||||
if route.get('show','yes').lower() not in ('yes','true','1'):continue
|
||||
route_count+=1
|
||||
code=route['code'];zoom=route['display_minzoom']
|
||||
ET.SubElement(order,'case',tag='bgm_route',value='type_'+code,
|
||||
minzoom=zoom,objectType='2',order='125')
|
||||
# Color and width faithfully recover TYP base line color, but NOT its bitmap
|
||||
# segment pattern. A precise pattern renderer requires a custom app build.
|
||||
ET.SubElement(lines,'case',tag='bgm_route',value='type_'+code,
|
||||
minzoom=zoom,color=route['color'],strokeWidth=route['width'],cap='ROUND')
|
||||
path=folder/'BGMountains-outdoor.render.xml'
|
||||
write_xml(ET.ElementTree(root),path)
|
||||
return path,len(visible),route_count
|
||||
|
||||
def obtain_creator(cache, offline=False):
|
||||
"""Opt-in download from official OsmAnd nightly build (large file)."""
|
||||
import zipfile
|
||||
link='https://download.osmand.net/latest-night-build/OsmAndMapCreator-main.zip'
|
||||
target=cache/'OsmAndMapCreator-main.zip'
|
||||
extracted=cache/'unpacked'
|
||||
found=list(extracted.rglob('utilities.sh')) if extracted.is_dir() else []
|
||||
if found:return found[0].parent
|
||||
if offline:raise SystemExit('Cannot download MapCreator with --offline; pass --creator')
|
||||
cache.mkdir(parents=True,exist_ok=True)
|
||||
if not target.is_file():
|
||||
print('Downloading official OsmAndMapCreator (~150 MB) ...',flush=True)
|
||||
try:
|
||||
with urllib.request.urlopen(link,timeout=180) as src,target.open('wb') as dest:
|
||||
shutil.copyfileobj(src,dest,length=2**20)
|
||||
except Exception as ex:
|
||||
target.unlink(missing_ok=True)
|
||||
raise SystemExit('Cannot download OsmAndMapCreator: '+str(ex)+'\nDownload manually: '+link)
|
||||
print('Extracting MapCreator...',flush=True)
|
||||
extracted.mkdir(parents=True,exist_ok=True)
|
||||
with zipfile.ZipFile(target) as z:
|
||||
for m in z.infolist():
|
||||
rel=Path(m.filename)
|
||||
if rel.is_absolute() or '..' in rel.parts:
|
||||
raise SystemExit('Unsafe file in MapCreator archive: '+m.filename)
|
||||
z.extract(m,extracted)
|
||||
found=list(extracted.rglob('utilities.sh'))
|
||||
if not found:raise SystemExit('MapCreator ZIP extracted but utilities.sh not found')
|
||||
for name in ('utilities.sh','inspector.sh'):
|
||||
for f in extracted.rglob(name):f.chmod(f.stat().st_mode|0o111)
|
||||
return found[0].parent
|
||||
|
||||
def resolve_creator(path):
|
||||
name = path or os.environ.get('OSMAND_MAPCREATOR')
|
||||
if not name:return None
|
||||
creator=Path(name).expanduser().resolve()
|
||||
if creator.is_file() and creator.name=='utilities.sh':creator=creator.parent
|
||||
if not (creator/'utilities.sh').is_file():
|
||||
raise SystemExit('Cannot find utilities.sh under '+str(creator))
|
||||
return creator
|
||||
|
||||
def main():
|
||||
p=argparse.ArgumentParser(description=__doc__,formatter_class=argparse.ArgumentDefaultsHelpFormatter)
|
||||
inp=p.add_mutually_exclusive_group(required=True)
|
||||
inp.add_argument('--img',help='Original Garmin IMG; converter is compiled and executed')
|
||||
inp.add_argument('--osm',help='Already converted OSM XML; must contain bgm_poi=type_0x... tags (v0.7+)')
|
||||
p.add_argument('--creator',help='OsmAndMapCreator directory containing utilities.sh (or OSMAND_MAPCREATOR env)')
|
||||
p.add_argument('--download-creator',action='store_true',help='Download official OsmAndMapCreator ZIP automatically (~150 MB) when no --creator is set')
|
||||
p.add_argument('--out',default='build/bgmountains-output',help='Output folder')
|
||||
p.add_argument('--jobs',type=int,default=1,help='C++ IMG reader threads (opt-in)')
|
||||
p.add_argument('--bbox',help='Optional W,S,E,N bounds for small-area test')
|
||||
p.add_argument('--threshold',type=int,default=100,help='Frequent-type occurrence threshold')
|
||||
p.add_argument('--frequent-zoom',type=int,default=15,help='Store frequent raw map icons at zoom N and above')
|
||||
p.add_argument('--rare-zoom',type=int,default=17,help='Store rare raw map icons at zoom N and above')
|
||||
p.add_argument('--icons-config',default=str(ROOT/'config/osmand-icons.csv'),help='OsmAnd icon mappings')
|
||||
p.add_argument('--trail-styles',default=str(ROOT/'config/trail-styles.csv'),help='Garmin TYP coloured route overlay styles')
|
||||
p.add_argument('--poi-overrides',default=str(ROOT/'config/poi-overrides-all-types.csv'))
|
||||
p.add_argument('--poi-name-fixes',default=str(ROOT/'config/poi-name-fixes.csv'))
|
||||
p.add_argument('--poi-labels',default=str(ROOT/'config/poi-labels-bg.csv'),help='Bulgarian prefixes for stable generated names on nameless Garmin POIs')
|
||||
p.add_argument('--poi-additions',default=str(ROOT/'config/poi-additions.csv'))
|
||||
p.add_argument('--poi-base',help='Official upstream poi_types.xml; if omitted use cache/download')
|
||||
p.add_argument('--rendering-base',help='Official upstream rendering_types.xml; if omitted use cache/download')
|
||||
p.add_argument('--offline',action='store_true',help='Never download upstream XML')
|
||||
p.add_argument('--prepare-only',action='store_true',help='Do not run OsmAndMapCreator, but generate OSM and XMLs')
|
||||
p.add_argument('--skip-qa',action='store_true',help='Skip OSM comparison for faster repeat runs')
|
||||
p.add_argument('--java-opts',default='-Xms512M -Xmx8192M',help='JAVA_OPTS for OsmAndMapCreator')
|
||||
p.add_argument('--skip-cpp-build',action='store_true')
|
||||
p.add_argument('--catalog',help='Preexisting POI catalog when supplying --osm (otherwise use packaged nationwide catalog)')
|
||||
p.add_argument('--frequency-catalog',default=str(ROOT/'data/BGMountains-unique-poi-types.csv'),help='Reference nationwide counts for map index zoom decisions even in --bbox builds')
|
||||
args=p.parse_args()
|
||||
if args.jobs<1 or args.jobs>64 or args.threshold<1 or not 1<=args.frequent_zoom<=21 or not 1<=args.rare_zoom<=21: p.error('--jobs 1..64; threshold >=1; zoom 1..21')
|
||||
dest=Path(args.out).expanduser().resolve();dest.mkdir(parents=True,exist_ok=True)
|
||||
creator=resolve_creator(args.creator)
|
||||
if not creator and args.download_creator and not args.prepare_only:
|
||||
creator=obtain_creator(ROOT/'build'/'mapcreator-download',args.offline)
|
||||
if not creator and not args.prepare_only:p.error('Supply --creator /path/to/OsmAndMapCreator (or OSMAND_MAPCREATOR env) or use --prepare-only')
|
||||
if args.img:
|
||||
if not Path(args.img).is_file():p.error('IMG file missing: '+args.img)
|
||||
binary=ROOT/'build'/'garmin2osm'
|
||||
if not args.skip_cpp_build or not binary.is_file():
|
||||
call(['cmake','-S',ROOT,'-B',ROOT/'build','-DCMAKE_BUILD_TYPE=Release'])
|
||||
call(['cmake','--build',ROOT/'build','--config','Release','-j','2'])
|
||||
osm=dest/'BGMountains.osm'
|
||||
cmd=[binary,'--input',Path(args.img).resolve(),'--output',osm,'--poi-overrides',Path(args.poi_overrides).resolve(),
|
||||
'--poi-name-fixes',Path(args.poi_name_fixes).resolve(),'--poi-labels',Path(args.poi_labels).resolve(),'--poi-additions',Path(args.poi_additions).resolve(),
|
||||
'--poi-manifest',dest/'source-pois.csv','--poi-types-out',dest/'poi-types.csv','--jobs',args.jobs]
|
||||
if args.bbox:cmd+=['--bbox',args.bbox]
|
||||
call(cmd,log=dest/'converter.log')
|
||||
catalog=dest/'poi-types.csv'
|
||||
if not args.skip_qa:
|
||||
call([sys.executable,ROOT/'tools/validate_pois.py','compare','--source',dest/'source-pois.csv','--osm',osm,
|
||||
'--rules',Path(args.poi_overrides).resolve(),'--report',dest/'validation.json','--mismatches',dest/'mismatches.csv'],
|
||||
log=dest/'validator.log')
|
||||
else:
|
||||
osm=Path(args.osm).expanduser().resolve()
|
||||
if not osm.is_file():p.error('OSM file missing: '+str(osm))
|
||||
catalog=Path(args.catalog).expanduser().resolve() if args.catalog else ROOT/'data'/'BGMountains-unique-poi-types.csv'
|
||||
call([sys.executable,ROOT/'tools/audit_icon_coverage.py', '--osm',osm, '--catalog',catalog,
|
||||
'--csv',dest/'poi-coverage.csv','--json',dest/'poi-coverage.json'],
|
||||
log=dest/'poi-coverage.log')
|
||||
rows=catalog_rows(catalog)
|
||||
nationwide={r['code']:r['count'] for r in catalog_rows(args.frequency_catalog)} if args.frequency_catalog else {}
|
||||
for row in rows:
|
||||
row['sample_count']=row['count']
|
||||
row['count']=nationwide.get(row['code'],row['count'])
|
||||
# A separately supplied legacy OSM might lack our new classifier.
|
||||
# For --img, the v0.7 converter above just generated it by construction.
|
||||
if args.osm:
|
||||
import gzip
|
||||
opener=gzip.open if osm.suffix=='.gz' else open
|
||||
with opener(osm,'rt',encoding='utf-8',errors='replace') as f:
|
||||
found=any('k="bgm_poi"' in line for line in f)
|
||||
if not found:
|
||||
raise SystemExit('Existing OSM lacks bgm_poi; re-extract with v0.7 C++ converter.')
|
||||
folder=dest/'osmand-config';folder.mkdir(exist_ok=True)
|
||||
poi_base=base_xml(args.poi_base,creator,'poi',dest/'upstream',args.offline)
|
||||
rendering_base=base_xml(args.rendering_base,creator,'rendering',dest/'upstream',args.offline)
|
||||
route_styles=read_route_styles(args.trail_styles)
|
||||
poi_cfg,render_cfg,summary=make_configs(poi_base,rendering_base,rows,folder,args.threshold,args.frequent_zoom,args.rare_zoom,route_styles)
|
||||
style,nicons,nlines=make_style(args.icons_config,folder,rows,route_styles)
|
||||
print('Indexed POI types:',summary['catalog_types'],'frequent:',summary['types_at_or_above_threshold'],'custom icons:',nicons,'colored route types:',nlines,flush=True)
|
||||
if args.prepare_only:
|
||||
print('PREPARED (no OBF generated). Files at:',dest)
|
||||
return 0
|
||||
before={str(i.resolve()) for i in dest.glob('*.obf')}
|
||||
# Save Java logs, and preserve OsmAndMapCreator temp data inside user-selected output dir.
|
||||
env=os.environ.copy();env['JAVA_OPTS']=args.java_opts
|
||||
program=creator/'utilities.sh'
|
||||
cmd=[str(program),'generate-obf-no-address',str(osm),
|
||||
'--poi-types='+str(poi_cfg),'--rendering-types='+str(render_cfg)]
|
||||
call(cmd,cwd=dest,log=dest/'mapcreator.log',env=env)
|
||||
after=[i for i in dest.glob('*.obf') if str(i.resolve()) not in before]
|
||||
if not after:
|
||||
# Creator sometimes writes next to the .osm source, even with cwd changed.
|
||||
alt=list(osm.parent.glob('*.obf'))
|
||||
after=[i for i in alt if i.is_file()]
|
||||
if not after:raise SystemExit('MapCreator returned success but no .obf was found; see '+str(dest/'mapcreator.log'))
|
||||
built=max(after,key=lambda p:p.stat().st_mtime)
|
||||
print('OBF created:',built,'bytes:',built.stat().st_size)
|
||||
if (creator/'inspector.sh').is_file():
|
||||
call([str(creator/'inspector.sh'),'-vpoi',str(built)],cwd=dest,log=dest/'obf-poi-index.txt',env=env)
|
||||
(dest/'build-manifest.json').write_text(json.dumps({
|
||||
'created_at_utc':dt.datetime.now(dt.timezone.utc).isoformat(),
|
||||
'obf':str(built),'obf_bytes':built.stat().st_size,
|
||||
'input_osm':str(osm),'poi_types':str(poi_cfg),'rendering_types':str(render_cfg),
|
||||
'custom_style':str(style), 'custom_style_icon_rules':nicons, 'custom_route_rules':nlines,
|
||||
'summary':summary
|
||||
},ensure_ascii=False,indent=2)+'\n',encoding='utf-8')
|
||||
return 0
|
||||
if __name__=='__main__':
|
||||
sys.exit(main())
|
||||
+13
-16
@@ -1,18 +1,15 @@
|
||||
#!/usr/bin/env bash
|
||||
# Compatibility shim. No manually supplied POI XML files are required anymore.
|
||||
# Preferred: python3 scripts/build_bgmountains.py --img gmapsupp.img --download-creator --out ./build/out
|
||||
set -euo pipefail
|
||||
# Usage: build_obf.sh /path/OsmAndMapCreator map.osm[.gz] [--poi-types full-poi_types.xml] [--rendering-types full-rendering_types.xml]
|
||||
if (( $# < 2 )); then echo "Usage: $0 CREATOR_DIR MAP.osm[.gz] [--poi-types FILE] [--rendering-types FILE]" >&2;exit 2;fi
|
||||
creator="$1"; input="$2";shift 2
|
||||
[[ -f "$creator/utilities.sh" && -f "$input" ]] || { echo 'Missing OsmAnd utilities.sh or map input' >&2;exit 1; }
|
||||
args=(generate-obf-no-address "$input")
|
||||
while (( $# > 0 )); do
|
||||
case "$1" in
|
||||
--poi-types|--rendering-types)
|
||||
(( $# >= 2 )) || { echo "Missing file after $1" >&2;exit 2; }
|
||||
[[ -f "$2" ]] || { echo "Config not found: $2" >&2;exit 2; }
|
||||
args+=("$1=$2");shift 2;;
|
||||
*) echo "Unknown option: $1" >&2;exit 2;;
|
||||
esac
|
||||
done
|
||||
export JAVA_OPTS="${JAVA_OPTS:--Xms256M -Xmx4096M}"
|
||||
"$creator/utilities.sh" "${args[@]}"
|
||||
if (( $# < 2 )); then
|
||||
echo "Usage: $0 CREATOR_DIR INPUT_v0.7.osm[.gz] [OUTPUT_DIR]" >&2
|
||||
echo "Recommended instead: python3 scripts/build_bgmountains.py --img gmapsupp.img --download-creator --out ./build/out" >&2
|
||||
exit 2
|
||||
fi
|
||||
creator="$1"; osm="$2"; out="${3:-$(dirname "$osm")/rebuilt-obf}"
|
||||
root="$(cd "$(dirname "$0")/.." && pwd)"
|
||||
source_dir="$(dirname "$osm")"
|
||||
args=(--osm "$osm" --creator "$creator" --out "$out")
|
||||
if [[ -f "$source_dir/poi-types.csv" ]]; then args+=(--catalog "$source_dir/poi-types.csv"); fi
|
||||
exec python3 "$root/scripts/build_bgmountains.py" "${args[@]}"
|
||||
|
||||
Executable
+1
@@ -0,0 +1 @@
|
||||
export JAVA_OPTS="-Xms256M -Xmx25G"; ./build_obf.sh ../compiling-obf/ ../BGMountains-legend-reviewed.osm
|
||||
Executable
+278
@@ -0,0 +1,278 @@
|
||||
#!/usr/bin/env python3
|
||||
"""v0.93: streaming IMG/OSM native-OsmAnd translation and honest QA.
|
||||
Only user-editable controls: config/poi-mapping.csv and config/line-mapping.csv.
|
||||
"""
|
||||
import argparse,base64,collections,csv,hashlib,json,pathlib,re,sqlite3,sys,xml.etree.ElementTree as ET
|
||||
from xml.sax.saxutils import escape,quoteattr
|
||||
|
||||
def top_level_elements(source):
|
||||
"""Bounded-memory XML pull iterator. ElementTree .clear() alone leaves one
|
||||
empty Element per processed object in the root; clearing the root prevents
|
||||
nationwide Garmin files from exhausting RAM during multi-pass conversion.
|
||||
Callers must fully process each element before requesting the next.
|
||||
"""
|
||||
context=ET.iterparse(source,events=('start','end'))
|
||||
event, root=next(context)
|
||||
if event != 'start' or root.tag != 'osm':
|
||||
raise ValueError('Expected an OSM XML root element')
|
||||
depth=1
|
||||
for event,elem in context:
|
||||
if event=='start':depth+=1;continue
|
||||
if depth==2 and elem.tag in ('node','way','relation'):
|
||||
yield elem
|
||||
root.clear()
|
||||
depth-=1
|
||||
|
||||
def tagdict(elem):return {x.get('k'):x.get('v','') for x in elem.findall('tag')}
|
||||
def set_tags(elem,d):
|
||||
for child in list(elem):
|
||||
if child.tag=='tag':elem.remove(child)
|
||||
for k,v in d.items():
|
||||
if v is not None and v!='':ET.SubElement(elem,'tag',k=k,v=str(v))
|
||||
def read_csv(p):
|
||||
with open(p,encoding='utf-8-sig',newline='') as f:
|
||||
lines=(line for line in f if not line.startswith('#'))
|
||||
yield from csv.DictReader(lines)
|
||||
def code(value):return hex(int(value,0)).lower()
|
||||
def mapping(path):
|
||||
ret={}
|
||||
for row in read_csv(path):
|
||||
try:c=code(row['code'])
|
||||
except Exception as ex:raise ValueError('Invalid code in '+str(path)+': '+str(row)) from ex
|
||||
if c in ret:raise ValueError(f'Duplicate code {c} in {path}')
|
||||
ret[c]=row
|
||||
return ret
|
||||
def tags_from_string(v):
|
||||
d={}
|
||||
for x in v.split(';'):
|
||||
if not x:continue
|
||||
if '=' not in x:raise ValueError(f'Invalid OSM tag {x!r}')
|
||||
k,val=x.split('=',1)
|
||||
if not k or not val:raise ValueError(f'Invalid OSM tag {x!r}')
|
||||
if k in ('name','garmin:type','garmin:feature','garmin:mapset','bgm:generated_name'):
|
||||
raise ValueError('Reserved mapping key: '+k)
|
||||
d[k]=val
|
||||
return d
|
||||
|
||||
# User-requested PRIVATE-map presentation fallback. A locality is a safe stock-map
|
||||
# display tag, but this is synthetically applied to unknown source types and is
|
||||
# therefore NOT suitable for public OSM imports. Elevation annotations are excluded.
|
||||
SEMANTIC_KEYS = frozenset(('amenity','tourism','emergency','natural','man_made','place',
|
||||
'historic','shop','leisure','building','waterway','railway','power','aeroway',
|
||||
'highway','hazard','ford','water','water_source','landuse','barrier',
|
||||
'aerialway','craft','military','geological','public_transport','sport'))
|
||||
GENERATED_SUFFIX = re.compile(r' - ([A-Z0-9]{7,16})$')
|
||||
|
||||
def stable_unknown_hash(elem,tags):
|
||||
name=tags.get('name','')
|
||||
m=GENERATED_SUFFIX.search(name) if tags.get('bgm:generated_name') == 'yes' else None
|
||||
if m:return m.group(1) # preserve previously generated stable identity
|
||||
seed='|'.join((tags.get('garmin:mapset',''),tags.get('garmin:type',''),
|
||||
elem.get('lat',''),elem.get('lon','')))
|
||||
return base64.b32encode(hashlib.blake2s(seed.encode('utf-8'),digest_size=7).digest()).decode().rstrip('=')[:11]
|
||||
|
||||
def add_native_unknown_fallback(elem,tags,rule):
|
||||
"""Only unclassified POIs. Named POIs retain their genuine source names."""
|
||||
if any(k in tags for k in SEMANTIC_KEYS):return False
|
||||
if tags.get('garmin:type') == '0x6600' or 'ele' in tags:
|
||||
return False # spot heights and elevation annotations are not unknown places
|
||||
if rule and rule.get('action','').strip().lower()=='drop':return False
|
||||
tags['place']='locality'
|
||||
tags['bgm:synthetic_fallback']='place_locality'
|
||||
tags['bgm:classification']='unverified'
|
||||
name=tags.get('name','').strip()
|
||||
if not name or tags.get('bgm:generated_name')=='yes' or name.startswith('Garmin обект '):
|
||||
tags['name']='Неуточнено - '+stable_unknown_hash(elem,tags)
|
||||
tags['bgm:generated_name']='yes'
|
||||
return True
|
||||
|
||||
def make_cpp_rules(pois,out,labels):
|
||||
"""C++ v0.9 uses these internal stage files; they are NOT user control files."""
|
||||
with open(out,'w',encoding='utf-8',newline='') as f,open(labels,'w',encoding='utf-8',newline='') as g:
|
||||
w=csv.writer(f);w.writerow(['code','name_contains','mode','tags','note'])
|
||||
l=csv.writer(g);l.writerow(['code','label_bg'])
|
||||
for c,row in sorted(pois.items(),key=lambda t:int(t[0],0)):
|
||||
action=row.get('action','replace').strip().lower()
|
||||
if action not in ('replace','append','raw','drop'):raise ValueError('Invalid action for '+c)
|
||||
vals=tags_from_string(row.get('osm_tags',''))
|
||||
if action=='raw':action='replace';vals={}
|
||||
if action=='drop':vals={}
|
||||
w.writerow([c,'',action,';'.join(k+'='+v for k,v in vals.items()),'v0.92 compiled from poi-mapping.csv'])
|
||||
if row.get('label_bg'):l.writerow([c,row['label_bg']])
|
||||
|
||||
def inspect_counts(osm,pois,lines,out,strict=False):
|
||||
seen=collections.Counter();unresolved=collections.Counter();annotations=collections.Counter();fallback=collections.Counter();bad=collections.Counter();routes=collections.Counter();examples={};category=collections.Counter();n=0
|
||||
with open(osm,'rb') as src:
|
||||
for el in top_level_elements(src):
|
||||
if el.tag=='node':
|
||||
t=tagdict(el)
|
||||
if t.get('garmin:feature')=='poi':
|
||||
n+=1;c=t.get('garmin:type','');seen[c]+=1
|
||||
if c not in pois:bad[c]+=1
|
||||
if t.get('bgm:synthetic_fallback')=='place_locality':fallback[c]+=1
|
||||
if c=='0x6600' and 'ele' in t:
|
||||
annotations['spot_height']+=1
|
||||
elif not any(k in t for k in ('amenity','tourism','emergency','natural','man_made','place','historic','shop','leisure','building','waterway','railway','power','aeroway','highway','ele','hazard','ford','water','water_source','landuse','barrier','aerialway','craft','geological')):
|
||||
unresolved[c]+=1
|
||||
if len(examples.get(c,[]))<5:examples.setdefault(c,[]).append([el.get('lat'),el.get('lon'),t.get('name','')])
|
||||
for k in ('amenity','tourism','emergency','natural','man_made','building','historic','shop','leisure'):
|
||||
if k in t:category[f'{k}={t[k]}']+=1
|
||||
elif el.tag=='relation':
|
||||
t=tagdict(el)
|
||||
if t.get('route')=='hiking':routes[t.get('garmin:type','unknown')]+=1
|
||||
el.clear()
|
||||
summary={'status':'FAIL' if strict and (bad or unresolved) else ('WARN' if bad or unresolved else 'PASS'),
|
||||
'total_pois':n,'mapped_types':len(pois),'observed_types':len(seen),
|
||||
'source_codes_not_in_config':dict(bad),'unclassified_counts':dict(unresolved),
|
||||
'unclassified_total':sum(unresolved.values()),'synthetic_locality_fallback_total':sum(fallback.values()),'synthetic_locality_counts':dict(fallback),'annotations_not_missing_pois':dict(annotations),'route_relation_counts':dict(routes),
|
||||
'native_semantic_categories':dict(category.most_common(100)),
|
||||
'sample_coordinates':examples,
|
||||
'warning':'OSM audit only; stock icons/search not guaranteed. Synthetic localities are private-map fallback, not valid public OSM classification. Elevation-only objects deliberately have no artificial POI icon.'}
|
||||
pathlib.Path(out).write_text(json.dumps(summary,ensure_ascii=False,indent=2)+'\n',encoding='utf-8')
|
||||
return summary
|
||||
|
||||
def transform(source,dest,pois,lines,report,strict=False):
|
||||
"""Streaming write; route metadata held in SQLite so nationwide builds do not need RAM for all nodes/ways.
|
||||
Native route relations are built only from selected Garmin colored overlay ways,
|
||||
NOT from invented highway=path edges.
|
||||
"""
|
||||
dbpath=pathlib.Path(dest).with_suffix('.edges.sqlite')
|
||||
if dbpath.exists():raise FileExistsError(dbpath)
|
||||
db=sqlite3.connect(dbpath)
|
||||
db.execute('PRAGMA synchronous=OFF');db.execute('PRAGMA journal_mode=MEMORY')
|
||||
db.execute('CREATE TABLE edges (code TEXT, way INTEGER, a INTEGER, b INTEGER)')
|
||||
poi_count=0; ways=0; candidate_edges=0; emitted=0; synthetic=0; kinds=collections.Counter();seen=collections.Counter();gaps=collections.Counter()
|
||||
with open(source,'rb') as inp,open(dest,'w',encoding='utf-8') as out:
|
||||
out.write('<?xml version="1.0" encoding="UTF-8"?>\n<osm version="0.6" generator="garmin2osm-v0.93" upload="never">\n')
|
||||
for el in top_level_elements(inp):
|
||||
if el.tag=='node':
|
||||
tags=tagdict(el)
|
||||
if tags.get('garmin:feature')=='poi':
|
||||
poi_count+=1;c=tags.get('garmin:type','')
|
||||
if c in pois:
|
||||
row=pois[c];tags['bgm:legend_bg']=row.get('legend_bg','') or row.get('label_bg','')
|
||||
tags['bgm:priority']=row.get('priority','normal')
|
||||
# only provenance; no false POI semantic category inserted here
|
||||
tags.pop('bgm_poi',None);tags.pop('bgm:synthetic_icon',None)
|
||||
# Unclassified Garmin POIs intentionally remain raw: stock OsmAnd
|
||||
# cannot visually draw a unique icon for each without installed resources.
|
||||
else:gaps[c]+=1;tags.pop('bgm_poi',None)
|
||||
if add_native_unknown_fallback(el,tags,pois.get(c)):
|
||||
synthetic+=1
|
||||
set_tags(el,tags);seen[c]+=1
|
||||
out.write(ET.tostring(el,encoding='unicode')+'\n');emitted+=1
|
||||
elif el.tag=='way':
|
||||
ways+=1;tags=tagdict(el)
|
||||
if tags.get('garmin:feature')=='extended_polyline' or 'bgm_route' in tags:
|
||||
c=tags.get('garmin:type','')
|
||||
r=lines.get(c)
|
||||
tags.pop('bgm_route',None)
|
||||
# Raw geometry and colour may still be needed for diagnosis;
|
||||
# no duplicate road geometry or misleading water/terrain categories.
|
||||
if r:
|
||||
tags['bgm:line_legend']=r.get('legend_bg','')
|
||||
tags['bgm:translation_status']=r.get('route_confidence','unknown')
|
||||
tags.update(tags_from_string(r.get('osm_way_tags','')))
|
||||
if r.get('route_mode','').lower()=='relation':
|
||||
nref=[int(x.attrib['ref']) for x in el.findall('nd')]
|
||||
if len(nref)>=2:
|
||||
db.execute('INSERT INTO edges VALUES (?,?,?,?)',(c,int(el.get('id')),nref[0],nref[-1]));candidate_edges+=1
|
||||
else:gaps[c]+=1
|
||||
set_tags(el,tags)
|
||||
out.write(ET.tostring(el,encoding='unicode')+'\n');emitted+=1
|
||||
elif el.tag=='relation':
|
||||
out.write(ET.tostring(el,encoding='unicode')+'\n');emitted+=1
|
||||
el.clear()
|
||||
db.commit()
|
||||
# Use topological unions on endpoint node refs to avoid one nationwide route per color.
|
||||
grouped=collections.defaultdict(list)
|
||||
for c,w,a,b in db.execute('SELECT code,way,a,b FROM edges ORDER BY code,way'):
|
||||
grouped[c].append((w,a,b))
|
||||
relations=0;components=0;largest=0
|
||||
for c,edges in sorted(grouped.items()):
|
||||
parent=list(range(len(edges)));rank=[0]*len(edges)
|
||||
def root(i):
|
||||
while parent[i]!=i:
|
||||
parent[i]=parent[parent[i]];i=parent[i]
|
||||
return i
|
||||
def union(a,b):
|
||||
ra,rb=root(a),root(b)
|
||||
if ra==rb:return
|
||||
if rank[ra]<rank[rb]:ra,rb=rb,ra
|
||||
parent[rb]=ra
|
||||
if rank[ra]==rank[rb]:rank[ra]+=1
|
||||
endpoint={}
|
||||
for i,(w,a,b) in enumerate(edges):
|
||||
for n in (a,b):
|
||||
if n in endpoint:union(i,endpoint[n])
|
||||
else:endpoint[n]=i
|
||||
comps=collections.defaultdict(list)
|
||||
for i,(w,a,b) in enumerate(edges):comps[root(i)].append(w)
|
||||
for members in comps.values():
|
||||
components+=1;largest=max(largest,len(members));relations+=1
|
||||
# Deterministic, negative IDs because prior C++ IDs are positive
|
||||
rel=ET.Element('relation',id=str(-relations),version='1')
|
||||
for wid in sorted(members):ET.SubElement(rel,'member',type='way',ref=str(wid),role='')
|
||||
row=lines[c]
|
||||
tags={'type':'route','route':'hiking','network':row.get('network') or 'lwn',
|
||||
'garmin:type':c,'bgm:source_feature':'extended_polyline',
|
||||
'bgm:confidence':row.get('route_confidence','color_only')}
|
||||
if row.get('osmc_symbol'):tags['osmc:symbol']=row['osmc_symbol']
|
||||
if row.get('legacy_color'):tags['colour']=row['legacy_color']
|
||||
# Use a non-confusing internal identifier, NOT a fabricated official route name.
|
||||
tags['ref']='BG'+c.replace('0x','').upper()
|
||||
set_tags(rel,tags)
|
||||
out.write(ET.tostring(rel,encoding='unicode')+'\n')
|
||||
out.write('</osm>\n')
|
||||
db.close();dbpath.unlink(missing_ok=True)
|
||||
result={'pois':poi_count,'synthetic_locality_fallbacks':synthetic,'ways':ways,'route_candidate_ways':candidate_edges,
|
||||
'route_relations':relations,'route_components':components,'largest_component_ways':largest,
|
||||
'source_types_missing_mapping':dict(gaps),'notes':['Synthetic place=locality on unknown features is PRIVATE-map-only' ,'Native OSM route relations; no custom phone-side stylesheet','Display zoom remains controlled by stock OsmAnd, not config zoom_hint','Route symbol derived from Garmin color; color_only mappings require review']}
|
||||
pathlib.Path(report).write_text(json.dumps(result,ensure_ascii=False,indent=2)+'\n',encoding='utf-8')
|
||||
return result
|
||||
|
||||
def template(catalog,poi_file,line_file,osm=None):
|
||||
"""Future map: source-driven, abstains from guessing semantic identities."""
|
||||
if pathlib.Path(poi_file).exists() or pathlib.Path(line_file).exists():raise FileExistsError('Refusing to overwrite mapping templates')
|
||||
pr=[]
|
||||
for row in read_csv(catalog):
|
||||
pr.append({'code':row['code'],'source_count':row['count'],'legend_bg':'','legend_en':'',
|
||||
'meaning_confidence':'unknown','osm_tags':'','label_bg':f'Garmin обект {row["code"]}',
|
||||
'priority':'normal','zoom_hint':'17','action':'raw',
|
||||
'note':f'SAMPLE {row.get("example1_lat","")}, {row.get("example1_lon","")}, {row.get("example1_name","")}'})
|
||||
lc=collections.Counter()
|
||||
if osm:
|
||||
with open(osm,'rb') as inp:
|
||||
for el in top_level_elements(inp):
|
||||
if el.tag=='way':
|
||||
t=tagdict(el)
|
||||
if t.get('garmin:feature')=='extended_polyline':lc[t.get('garmin:type','')]+=1
|
||||
el.clear()
|
||||
lr=[{'code':k,'source_count':v,'legend_bg':'','legacy_color':'', 'osm_way_tags':'',
|
||||
'route_mode':'preserve','osmc_symbol':'','network':'lwn','route_confidence':'unknown',
|
||||
'priority':'normal','note':'Unmapped type: check Garmin legend and geometry before enabling'} for k,v in sorted(lc.items())]
|
||||
with open(poi_file,'w',encoding='utf-8',newline='') as f:
|
||||
w=csv.DictWriter(f,fieldnames=list(pr[0]) if pr else ['code','source_count','legend_bg','legend_en','meaning_confidence','osm_tags','label_bg','priority','zoom_hint','action','note']);w.writeheader();w.writerows(pr)
|
||||
with open(line_file,'w',encoding='utf-8',newline='') as f:
|
||||
w=csv.DictWriter(f,fieldnames=list(lr[0]) if lr else ['code','source_count','legend_bg','legacy_color','osm_way_tags','route_mode','osmc_symbol','network','route_confidence','priority','note']);w.writeheader();w.writerows(lr)
|
||||
return {'poi_types':len(pr),'line_types':len(lr)}
|
||||
|
||||
def main():
|
||||
p=argparse.ArgumentParser(description=__doc__);sub=p.add_subparsers(dest='mode',required=True)
|
||||
for cmd in ['prepare','transform','audit','template']:
|
||||
s=sub.add_parser(cmd);s.add_argument('--poi',required=True);s.add_argument('--lines',required=True)
|
||||
if cmd=='prepare':s.add_argument('--out',required=True)
|
||||
elif cmd=='transform':s.add_argument('--osm',required=True);s.add_argument('--out',required=True);s.add_argument('--report',required=True)
|
||||
elif cmd=='audit':s.add_argument('--osm',required=True);s.add_argument('--out',required=True);s.add_argument('--strict',action='store_true')
|
||||
else:s.add_argument('--catalog',required=True);s.add_argument('--osm')
|
||||
a=p.parse_args()
|
||||
if a.mode=='template':res=template(a.catalog,a.poi,a.lines,a.osm)
|
||||
else:
|
||||
ps=mapping(a.poi);ls=mapping(a.lines)
|
||||
if a.mode=='prepare':
|
||||
out=pathlib.Path(a.out);out.mkdir(parents=True,exist_ok=True)
|
||||
make_cpp_rules(ps,out/'cpp-poi-override.csv',out/'cpp-name-labels.csv');res={'poi_types':len(ps),'line_types':len(ls)}
|
||||
elif a.mode=='transform':res=transform(a.osm,a.out,ps,ls,a.report)
|
||||
else:res=inspect_counts(a.osm,ps,ls,a.out,a.strict)
|
||||
print(json.dumps(res,ensure_ascii=False,indent=2));return 0
|
||||
if __name__=='__main__':sys.exit(main())
|
||||
+187
-19
@@ -17,15 +17,19 @@ std::string code(int t){char b[20];std::snprintf(b,sizeof(b),"0x%x",t);return b;
|
||||
std::string hexColor(U32 c){char b[16];std::snprintf(b,sizeof(b),"#%02x%02x%02x",(c>>24)&255,(c>>16)&255,(c>>8)&255);return b;}
|
||||
void tag(Tags&ts,std::string k,std::string v){if(!v.empty())ts.emplace_back(std::move(k),std::move(v));}
|
||||
std::string makeTags(const Tags&tags){std::string out;for(auto&[k,v]:tags)out+="<tag k=\""+xmlEscape(k)+"\" v=\""+xmlEscape(v)+"\"/>";return out;}
|
||||
struct Options{std::string input,output,temp,poiOverrides,poiTypesOut,poiManifest,iconsDir,poiAdditions;BBox bbox;bool clip=false,inspect=false,contours=false,allLevels=false,keepTemp=false;int limitMaps=0,jobs=1,examples=5;};
|
||||
struct Options{std::string input,output,temp,poiOverrides,poiTypesOut,poiManifest,iconsDir,poiAdditions,poiNameFixes,poiLabels;BBox bbox;bool clip=false,inspect=false,contours=false,allLevels=false,keepTemp=false;int limitMaps=0,jobs=1,examples=5;};
|
||||
Options parse(int argc,char**argv){Options o;for(int i=1;i<argc;i++){std::string a=argv[i];auto next=[&](){if(i+1>=argc)fail("Missing value for "+a);return std::string(argv[++i]);};
|
||||
if(a=="--help"||a=="-h"){std::cout<<"garmin2osm v0.5 --input MAP.img [--output map.osm] [--inspect] [--poi-overrides rules.csv] [--poi-additions additions.csv] [--poi-types-out unique-poi-types.csv] [--poi-manifest source-pois.csv] [--poi-examples N] [--icons-dir path] [--jobs N] [--bbox W,S,E,N] [--contours] [--keep-temp]\n";std::exit(0);}else if(a=="--input")o.input=next();else if(a=="--output")o.output=next();else if(a=="--temp")o.temp=next();else if(a=="--inspect")o.inspect=true;else if(a=="--contours")o.contours=true;else if(a=="--all-levels")o.allLevels=true;else if(a=="--keep-temp")o.keepTemp=true;else if(a=="--limit-maps")o.limitMaps=std::stoi(next());else if(a=="--poi-overrides")o.poiOverrides=next();else if(a=="--poi-additions")o.poiAdditions=next();else if(a=="--poi-types-out")o.poiTypesOut=next();else if(a=="--poi-manifest")o.poiManifest=next();else if(a=="--icons-dir")o.iconsDir=next();else if(a=="--poi-examples")o.examples=std::stoi(next());else if(a=="--jobs")o.jobs=std::stoi(next());else if(a=="--bbox"){std::string s=next();std::replace(s.begin(),s.end(),',',' ');double w,ss,e,n;if(std::sscanf(s.c_str(),"%lf%lf%lf%lf",&w,&ss,&e,&n)!=4)fail("Bad bbox");o.bbox={w,ss,e,n};o.clip=true;}else fail("Unknown argument: "+a);}
|
||||
if(a=="--help"||a=="-h"){std::cout<<"garmin2osm v0.6 --input MAP.img [--output map.osm] [--inspect] [--poi-overrides rules.csv] [--poi-name-fixes fixes.csv] [--poi-labels labels.csv] [--poi-additions additions.csv] [--poi-types-out unique-poi-types.csv] [--poi-manifest source-pois.csv] [--poi-examples N] [--icons-dir path] [--jobs N] [--bbox W,S,E,N] [--contours] [--keep-temp]\n";std::exit(0);}else if(a=="--input")o.input=next();else if(a=="--output")o.output=next();else if(a=="--temp")o.temp=next();else if(a=="--inspect")o.inspect=true;else if(a=="--contours")o.contours=true;else if(a=="--all-levels")o.allLevels=true;else if(a=="--keep-temp")o.keepTemp=true;else if(a=="--limit-maps")o.limitMaps=std::stoi(next());else if(a=="--poi-overrides")o.poiOverrides=next();else if(a=="--poi-name-fixes")o.poiNameFixes=next();else if(a=="--poi-labels")o.poiLabels=next();else if(a=="--poi-additions")o.poiAdditions=next();else if(a=="--poi-types-out")o.poiTypesOut=next();else if(a=="--poi-manifest")o.poiManifest=next();else if(a=="--icons-dir")o.iconsDir=next();else if(a=="--poi-examples")o.examples=std::stoi(next());else if(a=="--jobs")o.jobs=std::stoi(next());else if(a=="--bbox"){std::string s=next();std::replace(s.begin(),s.end(),',',' ');double w,ss,e,n;if(std::sscanf(s.c_str(),"%lf%lf%lf%lf",&w,&ss,&e,&n)!=4)fail("Bad bbox");o.bbox={w,ss,e,n};o.clip=true;}else fail("Unknown argument: "+a);}
|
||||
if(o.input.empty())fail("--input required");if(o.output.empty()&&!o.inspect&&o.poiTypesOut.empty()&&o.poiManifest.empty()&&o.iconsDir.empty())fail("--output, --inspect or an inventory output required");if(!o.poiAdditions.empty()&&o.output.empty())fail("--poi-additions requires --output");if(o.jobs<1||o.jobs>64)fail("--jobs must be 1..64");if(o.examples<1||o.examples>20)fail("--poi-examples must be 1..20");if(o.clip&&(!o.bbox.valid()||o.bbox.w< -180||o.bbox.e>180||o.bbox.s< -90||o.bbox.n>90))fail("Invalid bbox");return o;}
|
||||
|
||||
Tags lineTags(int t,bool ext,const std::string&name){Tags v;tag(v,"garmin:type",code(t));tag(v,"garmin:feature",ext?"extended_polyline":"polyline");tag(v,"name",name);
|
||||
if(ext){ // Physical trail identity not proven: preserve Garmin overlay, mark it as a hiking path geometry.
|
||||
tag(v,"highway","path");tag(v,"foot","yes");tag(v,"trailblazed","yes");tag(v,"garmin:route_overlay","yes");
|
||||
const auto it=gStyles.lines.find(t);if(it!=gStyles.lines.end()&&it->second.color)tag(v,"colour",hexColor(it->second.color));return v;
|
||||
if(ext){ // TYP route overlay is graphical, NOT independently verified routable geometry.
|
||||
tag(v,"bgm_route","type_"+code(t));tag(v,"garmin:route_overlay","yes");
|
||||
const auto it=gStyles.lines.find(t);if(it!=gStyles.lines.end()){
|
||||
if(it->second.color)tag(v,"colour",hexColor(it->second.color));
|
||||
if(it->second.hasPattern())tag(v,"bgm:line_pattern","garmin_bitmap");
|
||||
}
|
||||
return v;
|
||||
}
|
||||
if(t<=0x0c){const char*klass=nullptr;
|
||||
switch(t){case 0:klass="road";break;case 1:klass="motorway";break;case 2:klass="primary";break;case 3:klass="secondary";break;case 4:klass="tertiary";break;case 5:klass="unclassified";break;case 6:klass="residential";break;case 7:klass="service";break;case 8:case 9:case 11:klass="motorway_link";break;case 10:klass="track";break;case 12:klass="residential";break;}
|
||||
@@ -44,7 +48,7 @@ Tags areaTags(int t,const std::string&name){Tags v;tag(v,"garmin:type",code(t));
|
||||
case 0x05:tag(v,"amenity","parking");break;case 0x07:tag(v,"aeroway","aerodrome");break;
|
||||
case 0x0b:tag(v,"amenity","hospital");break;case 0x0c:tag(v,"landuse","industrial");break;
|
||||
case 0x13:tag(v,"building","yes");break;case 0x17:tag(v,"leisure","park");break;
|
||||
case 0x18:tag(v,"leisure","golf_course");break;case 0x09:tag(v,"leisure","marina");break;
|
||||
case 0x18:tag(v,"leisure","sports_centre");break;case 0x09:tag(v,"landuse","retail");break;
|
||||
case 0x14:case 0x15:case 0x16:tag(v,"boundary","national_park");break;
|
||||
case 0x28:case 0x32:tag(v,"natural","water");tag(v,"water","sea");break;
|
||||
case 0x3c:case 0x3d:case 0x40:case 0x41:tag(v,"natural","water");break;
|
||||
@@ -69,13 +73,14 @@ Tags poiTags(int t,const std::string&name){Tags v;tag(v,"garmin:type",code(t));t
|
||||
else if(t==0x6407){tag(v,"tourism","picnic_site");}
|
||||
else if(t==0x640d){tag(v,"aerialway","station");}
|
||||
else if(t==0x6404||t==0x640b||t==0x641a||t==0x2c0b){tag(v,"amenity","place_of_worship");}
|
||||
else if(t==0x6602||t==0x6608){tag(v,"tourism","viewpoint");}
|
||||
else if(t==0x6602){tag(v,"tourism","viewpoint");}
|
||||
else if(t==0x6608){tag(v,"tourism","hotel");}
|
||||
else if(t==0x2800){tag(v,"place","locality");}
|
||||
else if(t==0x6600){ // Geographic spot heights; don't misclassify elevations as villages.
|
||||
try{size_t parsed=0;int n=std::stoi(name,&parsed);if(parsed==name.size()&&n>=0&&n<=8848)tag(v,"ele",std::to_string(n));}catch(...){}
|
||||
}
|
||||
else if(t==0x6614){tag(v,"garmin:marker","distance_or_index");}
|
||||
else if(t==0x6500){tag(v,"man_made","water_works");}
|
||||
else if(t==0x6500){tag(v,"man_made","water_intake");}
|
||||
else if(t==0x6402&&name.find("Посетителски")!=std::string::npos){tag(v,"tourism","information");tag(v,"information","office");}
|
||||
else if(t==0x6411){tag(v,"man_made","tower");}
|
||||
// 0x6414 handled above as drinking_water: conflicting old water_well branch removed.
|
||||
@@ -95,6 +100,93 @@ Tags poiTags(int t,const std::string&name){Tags v;tag(v,"garmin:type",code(t));t
|
||||
}
|
||||
}
|
||||
// Unknown Garmin categories retain original code, not falsely assigned to an OSM POI class.
|
||||
|
||||
// BGMountains v0.6: the published legend is authoritative for types with an
|
||||
// extracted TYP bitmap match. Unknown codes remain unclassified, never guessed.
|
||||
static const std::unordered_map<int,std::pair<std::string,std::string>> legendVerified = {
|
||||
{0x200,{"capital_city","place=city;capital=yes"}},
|
||||
{0x800,{"large_city","place=city"}},
|
||||
{0x900,{"town","place=town"}},
|
||||
{0x2c05,{"school","amenity=school"}},
|
||||
{0x2c0b,{"church","amenity=place_of_worship"}},
|
||||
{0x2d04,{"casino","amenity=casino"}},
|
||||
{0x2d08,{"ice_rink","leisure=ice_rink"}},
|
||||
{0x2e05,{"pharmacy","amenity=pharmacy"}},
|
||||
{0x2e07,{"clothes_shop","shop=clothes"}},
|
||||
{0x2f0a,{"synagogue","amenity=place_of_worship;religion=jewish"}},
|
||||
{0x2f0c,{"mosque","amenity=place_of_worship;religion=muslim"}},
|
||||
{0x2f0e,{"car_wash","amenity=car_wash"}},
|
||||
{0x3004,{"courthouse","amenity=courthouse"}},
|
||||
{0x3008,{"fire_station","amenity=fire_station"}},
|
||||
{0x4700,{"port","industrial=port"}},
|
||||
{0x6400,{"quarry","landuse=quarry"}},
|
||||
{0x6401,{"bridge","man_made=bridge"}},
|
||||
{0x6402,{"building","building=yes"}},
|
||||
{0x6403,{"graveyard_tombstone",""}},
|
||||
{0x6404,{"church","amenity=place_of_worship"}},
|
||||
{0x6405,{"hunting_lodge",""}},
|
||||
{0x6406,{"barrier_gate","barrier=gate"}},
|
||||
{0x6407,{"picnic_site","tourism=picnic_site"}},
|
||||
{0x6408,{"mountain_rescue","emergency=mountain_rescue"}},
|
||||
{0x6409,{"monument","historic=monument"}},
|
||||
{0x640a,{"danger",""}},
|
||||
{0x640b,{"chapel","amenity=place_of_worship"}},
|
||||
{0x640c,{"mine_shaft","man_made=mine_shaft"}},
|
||||
{0x640d,{"lift",""}},
|
||||
{0x640e,{"bus_stop_station","highway=bus_stop"}},
|
||||
{0x640f,{"graveyard_tombstone",""}},
|
||||
{0x6411,{"tower","man_made=tower"}},
|
||||
{0x6412,{"trailhead","highway=trailhead"}},
|
||||
{0x6413,{"tunnel",""}},
|
||||
{0x6414,{"drinking_water","amenity=drinking_water"}},
|
||||
{0x6415,{"camp_site","tourism=camp_site"}},
|
||||
{0x6416,{"ruins","historic=ruins"}},
|
||||
{0x6417,{"well","man_made=water_well"}},
|
||||
{0x641a,{"church","amenity=place_of_worship"}},
|
||||
{0x641b,{"church","amenity=place_of_worship"}},
|
||||
{0x641c,{"bus_stop_station","highway=bus_stop"}},
|
||||
{0x6500,{"reservoir",""}},
|
||||
{0x6501,{"restaurant","amenity=restaurant"}},
|
||||
{0x6502,{"river_passage",""}},
|
||||
{0x6503,{"crossroad",""}},
|
||||
{0x6505,{"shop","shop=yes"}},
|
||||
{0x6506,{"museum","tourism=museum"}},
|
||||
{0x650b,{"winter_marking",""}},
|
||||
{0x650c,{"dead_end","noexit=yes"}},
|
||||
{0x6511,{"spring","natural=spring"}},
|
||||
{0x6600,{"triangulation",""}},
|
||||
{0x6601,{"natural_phenomenon",""}},
|
||||
{0x6602,{"viewpoint","tourism=viewpoint"}},
|
||||
{0x6603,{"triangulation","man_made=survey_point"}},
|
||||
{0x6608,{"hotel","tourism=hotel"}},
|
||||
{0x6609,{"hut","tourism=alpine_hut"}},
|
||||
{0x660a,{"refuge","amenity=shelter;shelter_type=basic_hut"}},
|
||||
{0x660b,{"mark",""}},
|
||||
{0x6610,{"meadow",""}},
|
||||
{0x6613,{"waterfall","waterway=waterfall"}},
|
||||
{0x6614,{"rock",""}},
|
||||
{0x6615,{"cave","natural=cave_entrance"}},
|
||||
{0x6617,{"peak","natural=peak"}},
|
||||
{0x6618,{"tree","natural=tree"}},
|
||||
{0x6619,{"prehistoric_site","historic=archaeological_site"}},
|
||||
{0x661a,{"antiquity_site","historic=archaeological_site"}},
|
||||
{0x661b,{"medieval_site","historic=archaeological_site"}},
|
||||
};
|
||||
const auto hit=legendVerified.find(t);
|
||||
if(hit!=legendVerified.end()){
|
||||
Tags corrected;
|
||||
for(const auto&kv:v){
|
||||
if(kv.first=="garmin:type"||kv.first=="garmin:feature"||kv.first=="name" ||
|
||||
(t==0x6600 && kv.first=="ele"))corrected.push_back(kv);
|
||||
}
|
||||
tag(corrected,"garmin:legend",hit->second.first);
|
||||
std::stringstream rules(hit->second.second);std::string item;
|
||||
while(std::getline(rules,item,';')){
|
||||
auto eq=item.find('=');if(eq!=std::string::npos&&eq>0)
|
||||
tag(corrected,item.substr(0,eq),item.substr(eq+1));
|
||||
}
|
||||
return corrected;
|
||||
}
|
||||
return v;
|
||||
}
|
||||
|
||||
@@ -124,15 +216,84 @@ void loadOverrides(const std::string&file){if(file.empty())return;std::ifstream
|
||||
overrides[rule.type].push_back(std::move(rule));}
|
||||
size_t nRules=0;for(auto&kv:overrides)nRules+=kv.second.size();std::cerr<<"Loaded "<<nRules<<" POI override rules from "<<file<<"\n";
|
||||
}
|
||||
// Coordinate-specific name fixes are deliberately opt-in and never inferred from
|
||||
// similar-looking strings. A wrong-coordinate phantom POI must NOT be renamed.
|
||||
using NameFixKey=std::tuple<std::string,int,int32_t,int32_t,std::string>;
|
||||
std::map<NameFixKey,std::string> nameFixes;
|
||||
void loadNameFixes(const std::string&file){if(file.empty())return;
|
||||
std::ifstream in(file);if(!in)fail("Cannot open name corrections file: "+file);
|
||||
std::string line;size_t n=0;while(std::getline(in,line)){
|
||||
++n;if(!line.empty()&&line.back()=='\r')line.pop_back();
|
||||
if(line.empty()||line[0]=='#')continue;
|
||||
auto col=csvParse(line);if(col.size()!=7)fail("Name fixes: expected 7 columns at line "+std::to_string(n));
|
||||
if(col[0]=="mapset")continue;
|
||||
int t=parseType(col[1]);double lat=std::stod(col[2]),lon=std::stod(col[3]);
|
||||
if(!std::isfinite(lat)||!std::isfinite(lon)||std::abs(lat)>90||std::abs(lon)>180)
|
||||
fail("Bad name-fix coordinates at line "+std::to_string(n));
|
||||
if(col[0].empty()||col[5].empty())fail("Name fix needs mapset and replacement at line "+std::to_string(n));
|
||||
NameFixKey key{col[0],t,int32_t(std::llround(lat*1e7)),int32_t(std::llround(lon*1e7)),col[4]};
|
||||
if(!nameFixes.emplace(key,col[5]).second)fail("Duplicate name-fix row at line "+std::to_string(n));
|
||||
}
|
||||
std::cerr<<"Loaded "<<nameFixes.size()<<" coordinate-specific POI name fixes\n";
|
||||
}
|
||||
std::string resolveNameFix(const std::string&map,int type,double lat,double lon,const std::string&old){
|
||||
auto it=nameFixes.find({map,type,int32_t(std::llround(lat*1e7)),int32_t(std::llround(lon*1e7)),old});
|
||||
return it==nameFixes.end()?old:it->second;
|
||||
}
|
||||
|
||||
// Display names for otherwise anonymous Garmin POIs. Stable across serial/parallel
|
||||
// runs and repeated exports; does not depend on output node IDs or iteration order.
|
||||
std::unordered_map<int,std::string> fallbackLabels;
|
||||
void loadFallbackLabels(const std::string&filename){
|
||||
if(filename.empty())return;
|
||||
std::ifstream in(filename);if(!in)fail("Cannot open fallback POI labels: "+filename);
|
||||
std::string line;size_t n=0;
|
||||
while(std::getline(in,line)){
|
||||
++n;if(!line.empty()&&line.back()=='\r')line.pop_back();
|
||||
if(line.empty()||line[0]=='#')continue;
|
||||
auto cols=csvParse(line);
|
||||
if(cols.size()<2)fail("POI labels require code,label_bg columns at line "+std::to_string(n));
|
||||
if(cols[0]=="code")continue;
|
||||
int t=parseType(cols[0]);
|
||||
if(cols[1].empty())continue;
|
||||
fallbackLabels[t]=cols[1];
|
||||
}
|
||||
std::cerr<<"Loaded "<<fallbackLabels.size()<<" POI fallback descriptions\n";
|
||||
}
|
||||
std::string compactBase36(uint64_t x){
|
||||
constexpr char digits[]="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
||||
std::string v;
|
||||
do{v.push_back(digits[x%36]);x/=36;}while(x);
|
||||
std::reverse(v.begin(),v.end());return v;
|
||||
}
|
||||
std::string fallbackPoiName(const std::string&map,int type,double lat,double lon){
|
||||
auto it=fallbackLabels.find(type);
|
||||
std::string desc=it==fallbackLabels.end()?("Garmin обект "+code(type)):it->second;
|
||||
std::ostringstream input;
|
||||
input<<map<<'|'<<code(type)<<'|'<<int64_t(std::llround(lat*1e7))<<'|'<<int64_t(std::llround(lon*1e7));
|
||||
uint64_t h=14695981039346656037ULL;
|
||||
for(unsigned char c:input.str()){h^=c;h*=1099511628211ULL;}
|
||||
// 11 base36 characters retain ~57 bits. Collision risk for a full map is tiny,
|
||||
// but coordinates + mapset are also present in the original data for disambiguation.
|
||||
auto suffix=compactBase36(h);
|
||||
if(suffix.size()>11)suffix=suffix.substr(suffix.size()-11);
|
||||
return desc+" - "+suffix;
|
||||
}
|
||||
|
||||
std::optional<Tags> configuredPoi(int type,const std::string&name){
|
||||
Tags result=poiTags(type,name);
|
||||
auto hit=overrides.find(type);if(hit==overrides.end())return result;
|
||||
for(const auto&rule:hit->second){if(!rule.nameContains.empty()&&name.find(rule.nameContains)==std::string::npos)continue;
|
||||
auto hit=overrides.find(type);
|
||||
if(hit!=overrides.end())for(const auto&rule:hit->second){
|
||||
if(!rule.nameContains.empty()&&name.find(rule.nameContains)==std::string::npos)continue;
|
||||
if(rule.mode=="drop")return std::nullopt;
|
||||
if(rule.mode=="replace"||rule.mode=="keep_raw"){
|
||||
result.erase(std::remove_if(result.begin(),result.end(),[](const auto&kv){return kv.first!="garmin:type"&&kv.first!="garmin:feature"&&kv.first!="name";}),result.end());}
|
||||
for(const auto&[k,v]:rule.tags){result.erase(std::remove_if(result.begin(),result.end(),[&](const auto&kv){return kv.first==k;}),result.end());if(!v.empty())result.emplace_back(k,v);}
|
||||
}
|
||||
// BGM-specific stable classifier: register in custom OsmAnd POI and map indexes.
|
||||
// Never disguise unknown objects as a fake OSM tourism/amenity category.
|
||||
result.erase(std::remove_if(result.begin(),result.end(),[](const auto&kv){return kv.first=="bgm_poi";}),result.end());
|
||||
tag(result,"bgm_poi","type_"+code(type));
|
||||
return result;
|
||||
}
|
||||
struct Sample{std::string map,name;double lat=0,lon=0;};
|
||||
@@ -221,7 +382,7 @@ struct Store{
|
||||
}
|
||||
void commit(){sql("COMMIT");sql("BEGIN");}
|
||||
void output(const std::string&file){sql("COMMIT");std::ofstream out(file,std::ios::binary);if(!out)fail("Cannot write "+file);
|
||||
out<<"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<osm version=\"0.6\" generator=\"garmin2osm-cpp-0.4\" upload=\"never\">\n";
|
||||
out<<"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<osm version=\"0.6\" generator=\"garmin2osm-cpp-0.6\" upload=\"never\">\n";
|
||||
sqlite3_stmt*st=nullptr;
|
||||
if(sqlite3_prepare_v2(db,"SELECT id,lat,lon,tags FROM nodes ORDER BY id",-1,&st,nullptr)!=SQLITE_OK)fail(sqlite3_errmsg(db));
|
||||
while(sqlite3_step(st)==SQLITE_ROW){auto id=sqlite3_column_int64(st,0);double lat=sqlite3_column_int(st,1)/10000000.,lon=sqlite3_column_int(st,2)/10000000.;const char*tags=(const char*)sqlite3_column_text(st,3);
|
||||
@@ -240,16 +401,19 @@ struct Store{
|
||||
}
|
||||
};
|
||||
|
||||
struct Stats{std::map<std::pair<int,int>,uint64_t> byType;uint64_t lines=0,areas=0,points=0,skipped=0;std::map<int,PoiTypeInfo> poiTypes;};
|
||||
struct Stats{std::map<std::pair<int,int>,uint64_t> byType;uint64_t lines=0,areas=0,points=0,skipped=0,extendedOutsideBounds=0;std::map<int,PoiTypeInfo> poiTypes;};
|
||||
void processMap(const Map&m,Store*db,Stats&stats,const Options&o,std::ostream*poiManifest=nullptr){
|
||||
const auto&r=m.sections.at("RGN");
|
||||
auto recordPoi=[&](int typ,double lon,double lat,const std::string&name,bool extended){
|
||||
auto recordPoi=[&](int typ,double lon,double lat,const std::string&rawName,bool extended){
|
||||
const std::string originalName=resolveNameFix(m.name,typ,lat,lon,rawName);
|
||||
const bool generatedName=originalName.empty();
|
||||
const std::string name=generatedName?fallbackPoiName(m.name,typ,lat,lon):originalName;
|
||||
stats.byType[{3,typ}]++;stats.points++;
|
||||
auto&info=stats.poiTypes[typ];info.count++;if(!name.empty())info.named++;
|
||||
addSample(info,{m.name,name,lat,lon},o.examples);
|
||||
auto tags=configuredPoi(typ,name);
|
||||
if(poiManifest)(*poiManifest)<<csvQuote(m.name)<<","<<csvQuote(extended?"extended":"classic")<<","<<csvQuote(code(typ))<<","<<std::fixed<<std::setprecision(7)<<Store::quant(lat)/10000000.<<","<<Store::quant(lon)/10000000.<<","<<csvQuote(name)<<"\n";
|
||||
if(tags&&db){tag(*tags,"garmin:mapset",m.name);db->addPoi(lon,lat,*tags);}
|
||||
if(tags&&db){if(generatedName)tag(*tags,"bgm:generated_name","yes");tag(*tags,"garmin:mapset",m.name);db->addPoi(lon,lat,*tags);}
|
||||
};
|
||||
int finest=-1,routeBpc=-1;uint64_t largest=0;std::map<int,uint64_t> extBytes;
|
||||
for(const auto&lev:m.levels)finest=std::max(finest,lev.bits);
|
||||
@@ -310,8 +474,12 @@ void processMap(const Map&m,Store*db,Stats&stats,const Options&o,std::ostream*po
|
||||
else for(size_t at=0;at+6<=ext.size();){const U8*p=ext.data()+at;int sub=p[1];size_t len=6+bool(sub&0x80)+3*bool(sub&0x20);if(at+len>ext.size())break;
|
||||
int typ=0x10000+(int(p[0])<<8)+(sub&31);
|
||||
double lon=geo(s.cx+s16(p+2)*(1<<s.shift)),lat=geo(s.cy+s16(p+4)*(1<<s.shift));
|
||||
// Avoid malformed extended records that escape their actual TRE subdivision.
|
||||
// A small ~5-metre tolerance accommodates quantization at Garmin zoom levels.
|
||||
if(lon < s.bounds.w-0.00005 || lon > s.bounds.e+0.00005 ||
|
||||
lat < s.bounds.s-0.00005 || lat > s.bounds.n+0.00005){stats.extendedOutsideBounds++;at+=len;continue;}
|
||||
if(!o.clip || (lon>=o.bbox.w&&lon<=o.bbox.e&&lat>=o.bbox.s&&lat<=o.bbox.n)){
|
||||
std::string name; if(sub&0x20){U32 inf=u24(p+len-3);name=(inf&0x400000)?m.poiLabel(inf&0x3fffff):m.label(inf&0x3fffff);}
|
||||
std::string name; if(sub&0x20){U32 inf=u24(p+6);name=(inf&0x400000)?m.poiLabel(inf&0x3fffff):m.label(inf&0x3fffff);}
|
||||
recordPoi(typ,lon,lat,name,true);}
|
||||
at+=len;}
|
||||
}}
|
||||
@@ -324,7 +492,7 @@ void processMap(const Map&m,Store*db,Stats&stats,const Options&o,std::ostream*po
|
||||
// nodes before all OSM ways. Node IDs are offset by 10^10 per worker, including refs.
|
||||
void outputStages(const std::string&outFile,const std::vector<std::string>&paths){
|
||||
std::ofstream out(outFile,std::ios::binary);if(!out)fail("Cannot open "+outFile);
|
||||
out<<"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<osm version=\"0.6\" generator=\"garmin2osm-cpp-0.5\" upload=\"never\">\n";
|
||||
out<<"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<osm version=\"0.6\" generator=\"garmin2osm-cpp-0.6\" upload=\"never\">\n";
|
||||
auto walk=[&](int pass){for(size_t k=0;k<paths.size();k++){
|
||||
sqlite3*db=nullptr;if(sqlite3_open_v2(paths[k].c_str(),&db,SQLITE_OPEN_READONLY,nullptr)!=SQLITE_OK)fail("Cannot read parallel stage");
|
||||
const int64_t delta=int64_t(k)*10000000000LL;
|
||||
@@ -374,7 +542,7 @@ void injectManualPois(const std::string&file,const std::string&dbPath){
|
||||
}
|
||||
|
||||
int run(int argc,char**argv){
|
||||
auto o=parse(argc,argv);loadOverrides(o.poiOverrides);MapSet set(o.input);
|
||||
auto o=parse(argc,argv);loadOverrides(o.poiOverrides);loadNameFixes(o.poiNameFixes);loadFallbackLabels(o.poiLabels);MapSet set(o.input);
|
||||
for(const auto&[n,parts]:set.parts){auto it=parts.find("TYP");if(it!=parts.end()){gStyles.load(it->second);break;}}
|
||||
std::cerr<<"Maps="<<set.maps.size()<<" TYP icons="<<gStyles.pointStyles<<" jobs="<<o.jobs<<"\n";
|
||||
saveIcons(o.iconsDir);
|
||||
@@ -396,7 +564,7 @@ int run(int argc,char**argv){
|
||||
}catch(...){std::lock_guard<std::mutex>guard(errorLock);if(!error)error=std::current_exception();}};
|
||||
if(jobs==1)worker(0);else {std::vector<std::thread>threads;for(int k=0;k<jobs;k++)threads.emplace_back(worker,k);for(auto&t:threads)t.join();}
|
||||
if(error)std::rethrow_exception(error);
|
||||
Stats total;for(const auto&st:stats){total.lines+=st.lines;total.areas+=st.areas;total.points+=st.points;total.skipped+=st.skipped;
|
||||
Stats total;for(const auto&st:stats){total.lines+=st.lines;total.areas+=st.areas;total.points+=st.points;total.skipped+=st.skipped;total.extendedOutsideBounds+=st.extendedOutsideBounds;
|
||||
for(const auto&[k,v]:st.byType)total.byType[k]+=v;
|
||||
for(const auto&[k,v]:st.poiTypes){auto&dest=total.poiTypes[k];dest.count+=v.count;dest.named+=v.named;
|
||||
for(const auto&ex:v.examples)addSample(dest,ex,o.examples);}}
|
||||
@@ -406,7 +574,7 @@ int run(int argc,char**argv){
|
||||
out<<"mapset,kind,code,lat,lon,name\n";
|
||||
for(const auto&p:manifestPaths){std::ifstream in(p);if(in.peek()!=std::char_traits<char>::eof())out<<in.rdbuf();in.close();fs::remove(p);}
|
||||
}
|
||||
std::cerr<<"Finished "<<selected.size()<<" maps; lines="<<total.lines<<" areas="<<total.areas<<" rawPOIs="<<total.points<<" uniquePOItypes="<<total.poiTypes.size()<<" parseStops="<<total.skipped<<"\n";
|
||||
std::cerr<<"Finished "<<selected.size()<<" maps; lines="<<total.lines<<" areas="<<total.areas<<" rawPOIs="<<total.points<<" uniquePOItypes="<<total.poiTypes.size()<<" parseStops="<<total.skipped<<" extendedOutsideBounds="<<total.extendedOutsideBounds<<"\n";
|
||||
if(exporting){injectManualPois(o.poiAdditions,dbPaths[0]);outputStages(o.output,dbPaths);if(!o.keepTemp)for(auto&p:dbPaths)fs::remove(p);std::cerr<<"Wrote "<<o.output<<"\n";}
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
#!/usr/bin/env python3
|
||||
from pathlib import Path
|
||||
import csv,json,unittest
|
||||
ROOT=Path(__file__).resolve().parents[1]
|
||||
def load(file,comments=False):
|
||||
with file.open(encoding='utf-8-sig',newline='') as f:
|
||||
if comments: content=(line for line in f if not line.startswith('#'))
|
||||
else:content=f
|
||||
return list(csv.DictReader(content))
|
||||
class TestBGMLegend(unittest.TestCase):
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
cls.rules={r['code']:r for r in load(ROOT/'config/poi-overrides-legend-reviewed.csv',True)}
|
||||
cls.strict={r['code']:r for r in load(ROOT/'data/BGMountains-unique-poi-types-STRICT-reviewed.csv')}
|
||||
cls.legacy={r['code']:r for r in load(ROOT/'data/BGMountains-unique-poi-types-reviewed.csv')}
|
||||
cls.corrections=load(ROOT/'data/legend-corrections-log.csv')
|
||||
cls.names=load(ROOT/'data/extended-label-decoder-changes.csv')
|
||||
def test_catalog_counts(self):
|
||||
self.assertEqual(len(self.rules),1871)
|
||||
self.assertEqual(len(self.legacy),1871)
|
||||
self.assertEqual(len(self.strict),263)
|
||||
self.assertEqual(sum(int(x['count']) for x in self.strict.values()),410563)
|
||||
self.assertEqual(sum(int(x['outside_subdivision_count']) for x in self.legacy.values()),5602)
|
||||
self.assertEqual(int(self.strict['0x6608']['count']),2644)
|
||||
self.assertNotIn('0x10d1f',self.strict)
|
||||
def test_legend_exact_icons(self):
|
||||
self.assertEqual(len(self.corrections),60)
|
||||
self.assertEqual(len(json.loads((ROOT/"data/legend-mappings.json").read_text(encoding="utf-8"))),67)
|
||||
self.assertEqual(len(self.names),117)
|
||||
for c in self.corrections:
|
||||
rule=self.rules[c['code']]
|
||||
self.assertTrue(rule['tags'].startswith('garmin:legend='))
|
||||
self.assertEqual(rule['tags'],c['new_override_tags'])
|
||||
self.assertEqual(self.strict[c['code']]['review_status'],'icon_legend_verified')
|
||||
self.assertIn('tourism=hotel',self.rules['0x6608']['tags'])
|
||||
self.assertIn('natural=spring',self.rules['0x6511']['tags'])
|
||||
self.assertNotIn('information=guidepost',self.rules['0x6503']['tags'])
|
||||
self.assertIn('tourism=camp_site',self.rules['0x6415']['tags'])
|
||||
def test_false_nesebar_handled_correctly(self):
|
||||
one=self.legacy['0x10d1f']
|
||||
self.assertEqual(one['example1_name'],'есебър')
|
||||
self.assertEqual(one['strict_count'],'0')
|
||||
self.assertTrue(any(r['code']=='0x10d1f' and r['new_name']=='' for r in self.names))
|
||||
if __name__=='__main__':unittest.main()
|
||||
@@ -0,0 +1,35 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Offline contract tests: upstream XML augmentation and frequent/rare type retention."""
|
||||
import importlib.util
|
||||
from pathlib import Path
|
||||
import tempfile
|
||||
import unittest
|
||||
import xml.etree.ElementTree as ET
|
||||
|
||||
S=Path(__file__).resolve().parents[1]/'scripts'/'build_bgmountains.py'
|
||||
spec=importlib.util.spec_from_file_location('build_bgmountains',S)
|
||||
mod=importlib.util.module_from_spec(spec);spec.loader.exec_module(mod)
|
||||
|
||||
class XmlPipelineTests(unittest.TestCase):
|
||||
def test_full_default_preserved_and_all_codes_indexed(self):
|
||||
with tempfile.TemporaryDirectory() as td:
|
||||
td=Path(td)
|
||||
pb=td/'upstream-poi.xml';rb=td/'upstream-render.xml'
|
||||
pb.write_text('<poi_types><poi_category name="food"><poi_type name="restaurant" tag="amenity" value="restaurant"/></poi_category></poi_types>')
|
||||
rb.write_text('<osmand_types><category name="roads"><type tag="highway" value="path" minzoom="11"/></category><category name="user_defined"/></osmand_types>')
|
||||
cc=[dict(code='0x6414',count=32922,has_typ_icon='yes'),dict(code='0x123',count=1,has_typ_icon='no')]
|
||||
a,b,s=mod.make_configs(pb,rb,cc,td,100)
|
||||
p=ET.parse(a).getroot();r=ET.parse(b).getroot()
|
||||
self.assertIsNotNone(p.find(".//poi_type[@name='restaurant']"))
|
||||
self.assertEqual(len(p.findall(".//poi_category[@name='bgmountains_raw']/poi_type")),2)
|
||||
self.assertIsNotNone(r.find(".//type[@tag='highway']"))
|
||||
self.assertEqual(r.find(".//type[@value='type_0x6414']").get('minzoom'),'15')
|
||||
self.assertEqual(r.find(".//type[@value='type_0x123']").get('minzoom'),'17')
|
||||
self.assertEqual(s['types_at_or_above_threshold'],1)
|
||||
def test_real_catalog(self):
|
||||
d=mod.catalog_rows(S.parents[1]/'data'/'BGMountains-unique-poi-types.csv')
|
||||
self.assertEqual(len(d),263)
|
||||
self.assertEqual(sum(x['count'] for x in d),410563)
|
||||
self.assertEqual(sum(x['count']>=100 for x in d),87)
|
||||
|
||||
if __name__=='__main__':unittest.main()
|
||||
@@ -0,0 +1,28 @@
|
||||
import csv, unittest
|
||||
from pathlib import Path
|
||||
R=Path(__file__).resolve().parents[1]
|
||||
def load(p):
|
||||
with (R/p).open(encoding='utf8',newline='') as f:return list(csv.DictReader(x for x in f if not x.startswith('#')))
|
||||
class TestLocalDisplay(unittest.TestCase):
|
||||
def test_active_catalog_mappings_have_display_tag_and_fallback_name(self):
|
||||
r={x['code']:x for x in load('config/poi-overrides-all-types.csv')}
|
||||
names={x['code']:x['label_bg'] for x in load('config/poi-labels-bg.csv')}
|
||||
cat=load('data/BGMountains-unique-poi-types.csv')
|
||||
self.assertEqual(len(cat),263)
|
||||
self.assertEqual(sum(int(x['count'])>=100 for x in cat),87)
|
||||
for x in cat:
|
||||
c=x['code'];self.assertEqual(r[c]['mode'],'replace',c)
|
||||
self.assertTrue(names[c],c)
|
||||
t=r[c]['tags']
|
||||
self.assertTrue(t,c) # BGMountains custom POI index handles non-standard types
|
||||
self.assertNotIn('tags,,',t)
|
||||
def test_key_places(self):
|
||||
r={x['code']:x for x in load('config/poi-overrides-all-types.csv')}
|
||||
self.assertIn('man_made=water_intake',r['0x6500']['tags'])
|
||||
self.assertNotIn('bgm:synthetic_icon=yes',r['0x6500']['tags'])
|
||||
self.assertNotIn('tourism=information',r['0x6500']['tags'])
|
||||
self.assertIn('tourism=viewpoint',r['0x6602']['tags'])
|
||||
self.assertNotIn('bgm:synthetic_icon',r['0x6602']['tags'])
|
||||
def test_all_legacy_codes_retained_for_review(self):
|
||||
self.assertEqual(len(load('config/poi-overrides-all-types.csv')),1871)
|
||||
if __name__=='__main__':unittest.main()
|
||||
@@ -0,0 +1,66 @@
|
||||
#!/usr/bin/env python3
|
||||
"""v0.92 offline tests: mapping discipline, native routes, names, future-map templates."""
|
||||
import csv,importlib.util,json,pathlib,subprocess,sys,tempfile,unittest,xml.etree.ElementTree as ET
|
||||
ROOT=pathlib.Path(__file__).resolve().parents[1]
|
||||
spec=importlib.util.spec_from_file_location('translator',ROOT/'scripts/native_translate.py')
|
||||
t=importlib.util.module_from_spec(spec);spec.loader.exec_module(t)
|
||||
POI=ROOT/'config/poi-mapping.csv';LINES=ROOT/'config/line-mapping.csv'
|
||||
class Native092(unittest.TestCase):
|
||||
def test_native_source_semantics(self):
|
||||
rows=t.mapping(POI)
|
||||
self.assertGreaterEqual(len(rows),263)
|
||||
for c,tags in [('0x6414','amenity=drinking_water'),('0x6511','natural=spring'),('0x6500','man_made=water_intake'),('0x660a','amenity=shelter'),('0x6609','tourism=alpine_hut'),('0x6401','man_made=bridge')]:
|
||||
self.assertIn(tags,rows[c]['osm_tags'])
|
||||
self.assertEqual(rows['0x6402']['label_bg'],'Заслон - Сграда')
|
||||
self.assertIn(rows['0x6600']['action'],('append','raw'))
|
||||
self.assertFalse(any('leisure=marina' in r['osm_tags'] for r in rows.values()))
|
||||
self.assertFalse(any('tourism=information;information=board' in r['osm_tags'] for r in rows.values()))
|
||||
self.assertTrue(all('garmin' not in r['osm_tags'] for r in rows.values()))
|
||||
self.assertTrue(all(int(rows[k]['zoom_hint'])<=12 for k in ('0x6414','0x6511','0x6500','0x660a')))
|
||||
def test_config_only_two_and_types(self):
|
||||
self.assertEqual(set(p.name for p in (ROOT/'config').glob('*.csv')),{'poi-mapping.csv','line-mapping.csv'})
|
||||
self.assertTrue(any(x.get('route_mode')=='relation' for x in t.mapping(LINES).values()))
|
||||
for line in t.mapping(LINES).values():
|
||||
if line['route_mode']=='relation':self.assertTrue(line['osmc_symbol'])
|
||||
def test_native_relation_members_and_poi_provenance(self):
|
||||
with tempfile.TemporaryDirectory() as directory:
|
||||
d=pathlib.Path(directory);src=d/'sample.osm';dst=d/'native.osm';report=d/'report.json'
|
||||
line=next(r for r in t.mapping(LINES).values() if r['route_mode']=='relation')
|
||||
typ=line['code']
|
||||
xml=['<?xml version="1.0" encoding="UTF-8"?><osm version="0.6">']
|
||||
for i in range(1,5):xml.append(f'<node id="{i}" lat="41.{i}" lon="23.{i}"/>')
|
||||
xml+=['<node id="100" lat="41.7" lon="23.4"><tag k="garmin:type" v="0x6414"/><tag k="garmin:feature" v="poi"/><tag k="name" v="Вода - Чешма - HASH"/><tag k="amenity" v="drinking_water"/><tag k="bgm_poi" v="type_0x6414"/></node>']
|
||||
for i,refs in [(10,[1,2]),(11,[2,3])]:
|
||||
xml.append(f'<way id="{i}">'+''.join(f'<nd ref="{n}"/>' for n in refs)+f'<tag k="garmin:feature" v="extended_polyline"/><tag k="garmin:type" v="{typ}"/><tag k="bgm_route" v="type_{typ}"/></way>')
|
||||
xml.append('</osm>');src.write_text('\n'.join(xml))
|
||||
result=t.transform(src,dst,t.mapping(POI),t.mapping(LINES),report)
|
||||
self.assertEqual(result['route_candidate_ways'],2);self.assertEqual(result['route_relations'],1)
|
||||
root=ET.parse(dst).getroot();rel=root.find('relation');tags=t.tagdict(rel)
|
||||
self.assertEqual(tags['route'],'hiking');self.assertTrue(tags['osmc:symbol'].endswith('_bar'))
|
||||
self.assertEqual(sorted(m.attrib['ref'] for m in rel.findall('member')),['10','11'])
|
||||
node=next(n for n in root.findall('node') if n.get('id')=='100');p=t.tagdict(node)
|
||||
self.assertEqual(p['amenity'],'drinking_water');self.assertEqual(p['name'],'Вода - Чешма - HASH')
|
||||
self.assertEqual(p['garmin:type'],'0x6414');self.assertNotIn('bgm_poi',p)
|
||||
for way in root.findall('way'):self.assertNotIn('highway',t.tagdict(way))
|
||||
def test_route_attachment_to_real_way_only(self):
|
||||
with tempfile.TemporaryDirectory() as directory:
|
||||
d=pathlib.Path(directory);src=d/'src.osm';dst=d/'out.osm';rep=d/'report.json'
|
||||
typ=next(row['code'] for row in t.mapping(LINES).values() if row['route_mode']=='relation')
|
||||
parts=['<osm version="0.6">','<node id="1" lat="41" lon="23"/>','<node id="2" lat="41.1" lon="23.1"/>',
|
||||
'<node id="3" lat="41.2" lon="23.2"/>','<way id="22"><nd ref="1"/><nd ref="2"/><nd ref="3"/><tag k="highway" v="path"/></way>',
|
||||
'<way id="33"><nd ref="1"/><nd ref="2"/><nd ref="3"/><tag k="garmin:type" v="'+typ+'"/><tag k="garmin:feature" v="extended_polyline"/></way>',
|
||||
'<relation id="-1"><member type="way" ref="33" role=""/><tag k="route" v="hiking"/><tag k="bgm:source_feature" v="extended_polyline"/></relation></osm>']
|
||||
src.write_text('\n'.join(parts))
|
||||
subprocess.run([sys.executable,str(ROOT/'scripts/attach_native_routes.py'),'--osm',src,'--out',dst,'--lines',LINES,'--report',rep],check=True,capture_output=True)
|
||||
report=json.loads(rep.read_text());self.assertEqual(report['attached_to_existing_highway'],1)
|
||||
rel=ET.parse(dst).getroot().find('relation');self.assertEqual(rel.find('member').get('ref'),'22')
|
||||
def test_template_for_new_map_without_false_defaults(self):
|
||||
with tempfile.TemporaryDirectory() as directory:
|
||||
d=pathlib.Path(directory)
|
||||
p=d/'inventory.csv';p.write_text('code,count,example1_lat,example1_lon,example1_name\n0x999,2,42.123,24.321,Unknown place\n')
|
||||
xml=d/'one.osm';xml.write_text('<osm><node id="1" lat="42" lon="24"/><node id="2" lat="43" lon="25"/><way id="3"><nd ref="1"/><nd ref="2"/><tag k="garmin:feature" v="extended_polyline"/><tag k="garmin:type" v="0x11009"/></way></osm>')
|
||||
a=d/'newpoi.csv';b=d/'newlines.csv';stats=t.template(p,a,b,xml)
|
||||
self.assertEqual(stats,{'poi_types':1,'line_types':1})
|
||||
q=list(t.read_csv(a))[0];self.assertEqual(q['action'],'raw');self.assertEqual(q['osm_tags'],'');self.assertIn('42.123',q['note'])
|
||||
r=list(t.read_csv(b))[0];self.assertEqual(r['route_mode'],'preserve');self.assertEqual(r['osmc_symbol'],'')
|
||||
if __name__=='__main__':unittest.main()
|
||||
@@ -0,0 +1,59 @@
|
||||
"""Regression coverage for large XML handling and no false-locality fallbacks."""
|
||||
import csv,importlib.util,os,pathlib,sys,tempfile,unittest,xml.etree.ElementTree as ET
|
||||
ROOT=pathlib.Path(__file__).resolve().parents[1]
|
||||
spec=importlib.util.spec_from_file_location('native_translate', ROOT/'scripts/native_translate.py')
|
||||
t=importlib.util.module_from_spec(spec);spec.loader.exec_module(t)
|
||||
class Reliability093(unittest.TestCase):
|
||||
def test_unknowns_receive_private_locality_and_stable_name(self):
|
||||
from tempfile import TemporaryDirectory
|
||||
with TemporaryDirectory() as d:
|
||||
out=pathlib.Path(d)
|
||||
src=out/'input.osm';dst=out/'output.osm';report=out/'report.json'
|
||||
src.write_text('''<osm version="0.6"><node id="5" lat="42.1345678" lon="24.2345678"><tag k="garmin:feature" v="poi"/><tag k="garmin:type" v="0x9999"/><tag k="garmin:mapset" v="1234"/><tag k="bgm:generated_name" v="yes"/><tag k="name" v="Garmin обект 0x9999 - Q3ABCDEFG9"/></node><node id="6" lat="42.2" lon="24.2"><tag k="garmin:feature" v="poi"/><tag k="garmin:type" v="0x6600"/><tag k="ele" v="176"/><tag k="name" v="176"/></node></osm>''')
|
||||
t.transform(src,dst,t.mapping(ROOT/'config/poi-mapping.csv'),t.mapping(ROOT/'config/line-mapping.csv'),report)
|
||||
nodes=ET.parse(dst).getroot().findall('node');a=t.tagdict(nodes[0]);b=t.tagdict(nodes[1])
|
||||
self.assertEqual(a['place'],'locality');self.assertEqual(a['name'],'Неуточнено - Q3ABCDEFG9')
|
||||
self.assertEqual(a['garmin:type'],'0x9999');self.assertEqual(a['bgm:classification'],'unverified')
|
||||
self.assertNotIn('place',b);self.assertEqual(b['ele'],'176')
|
||||
data=t.inspect_counts(dst,t.mapping(ROOT/'config/poi-mapping.csv'),t.mapping(ROOT/'config/line-mapping.csv'),out/'audit.json')
|
||||
self.assertEqual(data['synthetic_locality_fallback_total'],1)
|
||||
|
||||
def test_known_bgm_types_are_not_invented_localities(self):
|
||||
cfg=t.mapping(ROOT/'config/poi-mapping.csv')
|
||||
self.assertEqual(cfg['0x6600']['osm_tags'],'')
|
||||
self.assertNotIn('place=locality',cfg['0x6600']['osm_tags'])
|
||||
self.assertEqual(cfg['0x650b']['osm_tags'],'tourism=information;information=route_marker;hiking=yes')
|
||||
self.assertEqual(cfg['0x660b']['osm_tags'],'tourism=information;information=trail_blaze;hiking=yes')
|
||||
def test_fallback_does_not_overwrite_known_native_types(self):
|
||||
with tempfile.TemporaryDirectory() as d:
|
||||
src=pathlib.Path(d)/'before.osm';out=pathlib.Path(d)/'after.osm';rep=pathlib.Path(d)/'rep.json'
|
||||
src.write_text('''<osm><node id="1" lat="42" lon="24"><tag k="garmin:feature" v="poi"/><tag k="garmin:type" v="0x6400"/><tag k="landuse" v="quarry"/><tag k="name" v="Кариера П"/></node><node id="2" lat="42" lon="24"><tag k="garmin:feature" v="poi"/><tag k="garmin:type" v="0x6406"/><tag k="barrier" v="gate"/></node><node id="3" lat="42" lon="24"><tag k="garmin:feature" v="poi"/><tag k="garmin:type" v="0x640d"/><tag k="aerialway" v="station"/></node></osm>''')
|
||||
t.transform(src,out,t.mapping(ROOT/'config/poi-mapping.csv'),t.mapping(ROOT/'config/line-mapping.csv'),rep)
|
||||
nodes=ET.parse(out).getroot().findall('node')
|
||||
self.assertTrue(all('place' not in t.tagdict(e) for e in nodes))
|
||||
self.assertEqual(t.tagdict(nodes[0])['name'],'Кариера П')
|
||||
def test_root_memory_does_not_accumulate(self):
|
||||
import tracemalloc
|
||||
with tempfile.TemporaryDirectory() as d:
|
||||
path=pathlib.Path(d)/'many.osm'
|
||||
with path.open('w') as f:
|
||||
f.write('<osm version="0.6">\n')
|
||||
for i in range(130000):f.write(f'<node id="{i+1}" lat="42.1" lon="24.2"><tag k="x" v="y"/></node>\n')
|
||||
f.write('</osm>')
|
||||
tracemalloc.start()
|
||||
c=0
|
||||
with open(path,'rb') as f:
|
||||
for e in t.top_level_elements(f):
|
||||
c+=1
|
||||
self.assertEqual(t.tagdict(e)['x'],'y')
|
||||
_,peak=tracemalloc.get_traced_memory();tracemalloc.stop()
|
||||
self.assertEqual(c,130000)
|
||||
self.assertLess(peak,15_000_000, f'Unbounded XML root growth {peak}')
|
||||
def test_audit_spot_height_and_markers(self):
|
||||
with tempfile.TemporaryDirectory() as d:
|
||||
path=pathlib.Path(d)/'sample.osm';report=pathlib.Path(d)/'report.json'
|
||||
path.write_text('''<osm version="0.6"><node id="1" lat="43" lon="22"><tag k="garmin:feature" v="poi"/><tag k="garmin:type" v="0x6600"/><tag k="ele" v="132"/></node><node id="2" lat="43" lon="22"><tag k="garmin:feature" v="poi"/><tag k="garmin:type" v="0x650b"/><tag k="tourism" v="information"/><tag k="information" v="route_marker"/></node><node id="3" lat="43" lon="22"><tag k="garmin:feature" v="poi"/><tag k="garmin:type" v="0x6502"/><tag k="ford" v="yes"/></node></osm>''')
|
||||
stats=t.inspect_counts(path,t.mapping(ROOT/'config/poi-mapping.csv'),t.mapping(ROOT/'config/line-mapping.csv'),report)
|
||||
self.assertEqual(stats['unclassified_total'],0)
|
||||
self.assertEqual(stats['annotations_not_missing_pois']['spot_height'],1)
|
||||
if __name__=='__main__':unittest.main()
|
||||
@@ -0,0 +1,56 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Audit IMG-derived POIs for custom indexability and truthfully report native semantic tags.
|
||||
|
||||
This measures converted OSM, NOT actual OsmAnd screen visibility nor .obf indexing.
|
||||
Output inventory always includes Garmin codes and example coordinates.
|
||||
"""
|
||||
import argparse,csv,gzip,json
|
||||
from pathlib import Path
|
||||
from collections import Counter,defaultdict
|
||||
from xml.etree.ElementTree import iterparse
|
||||
|
||||
CLASS_KEYS=('amenity','tourism','historic','shop','emergency','leisure','natural','man_made','place','highway','landuse','power','waterway','aerialway','industrial','barrier','sport','building')
|
||||
def main():
|
||||
a=argparse.ArgumentParser();a.add_argument('--osm',required=True);a.add_argument('--catalog',required=True);a.add_argument('--csv',required=True);a.add_argument('--json',required=True);a.add_argument('--samples',type=int,default=5);args=a.parse_args()
|
||||
with open(args.catalog,encoding='utf-8-sig',newline='') as f:catalog={r['code'].lower():r for r in csv.DictReader(f)}
|
||||
stats=defaultdict(Counter); samples=defaultdict(list); counts=Counter(); bad=[]; overview=Counter()
|
||||
opener=gzip.open if args.osm.endswith('.gz') else open
|
||||
with opener(args.osm,'rb') as f:
|
||||
for _,el in iterparse(f,events=('end',)):
|
||||
if el.tag not in ('node','way','relation'):continue
|
||||
if el.tag!='node':el.clear();continue
|
||||
tags={x.get('k'):x.get('v') for x in el.findall('tag') if x.get('k') is not None}
|
||||
if tags.get('garmin:feature')!='poi':el.clear();continue
|
||||
code=tags.get('garmin:type','').lower();counts[code]+=1;overview['pois']+=1
|
||||
name=tags.get('name','');kind=[f'{k}={tags[k]}' for k in CLASS_KEYS if k in tags]
|
||||
if not kind:overview['needs_custom_style']+=1
|
||||
else:overview['has_native_semantics']+=1
|
||||
if not name:overview['nameless']+=1
|
||||
if tags.get('bgm:generated_name')=='yes':stats[code]['generated_name']+=1;overview['generated_name']+=1
|
||||
if tags.get('bgm:synthetic_icon')=='yes':stats[code]['synthetic_icon']+=1;overview['synthetic_icon']+=1
|
||||
if not tags.get('bgm_poi'):overview['missing_raw_type_index_tag']+=1
|
||||
else:overview['has_bgm_poi_tag']+=1
|
||||
if len(samples[code])<args.samples:samples[code].append((el.get('lat'),el.get('lon'),name, '|'.join(kind)))
|
||||
el.clear()
|
||||
rows=[]
|
||||
for code in sorted(counts,key=lambda x:(-counts[x],x)):
|
||||
base=catalog.get(code,{})
|
||||
row=dict(code=code,osm_poi_count=counts[code],nationwide_type_count=base.get('count',''),
|
||||
icon_strategy=('native+custom' if samples[code][0][3] else 'custom_style_required'),
|
||||
synthetic_count=stats[code]['synthetic_icon'],generated_name_count=stats[code]['generated_name'],
|
||||
legend=base.get('verified_legend_bg',''),review_status=base.get('review_status',''),
|
||||
example_lat=samples[code][0][0],example_lon=samples[code][0][1],
|
||||
example_name=samples[code][0][2],example_osm_tags=samples[code][0][3],
|
||||
osm_coord_link=f"https://www.openstreetmap.org/?mlat={samples[code][0][0]}&mlon={samples[code][0][1]}#map=18/{samples[code][0][0]}/{samples[code][0][1]}")
|
||||
rows.append(row)
|
||||
path=Path(args.csv);path.parent.mkdir(parents=True,exist_ok=True)
|
||||
with path.open('w',encoding='utf-8',newline='') as f:
|
||||
if rows:w=csv.DictWriter(f,fieldnames=list(rows[0]));w.writeheader();w.writerows(rows)
|
||||
summary=dict(status='PASS' if not overview['nameless'] and not overview['missing_raw_type_index_tag'] else 'FAIL',
|
||||
counts=dict(overview),catalog_types=len(catalog),exported_types=len(counts),
|
||||
note='POIs without standard OSM categories are valid for this PRIVATE map because bgm_poi uses custom index and renderer. They require importing the style; this does not prove OBF persistence or screen visibility.',
|
||||
errors=bad[:100],missing_types_from_catalog=sorted(set(counts)-set(catalog)))
|
||||
Path(args.json).write_text(json.dumps(summary,ensure_ascii=False,indent=2)+'\n',encoding='utf-8')
|
||||
print(json.dumps(summary,ensure_ascii=False,indent=2))
|
||||
return 0 if summary['status']=='PASS' and not summary['missing_types_from_catalog'] else 2
|
||||
if __name__=='__main__':raise SystemExit(main())
|
||||
@@ -0,0 +1,143 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Rebuild a local-OsmAnd display profile from historical BGMountains CSV + reviewed inventory.
|
||||
|
||||
Tagging in this file is NOT approved for OpenStreetMap database import:
|
||||
uncertain features use an explicit, synthetic tourism=information fallback.
|
||||
"""
|
||||
import csv
|
||||
from pathlib import Path
|
||||
import argparse
|
||||
|
||||
# Additional interpretations backed by Garmin legend or characteristic named samples.
|
||||
# Uncertain ones are kept descriptive only, with an explicitly synthetic display icon.
|
||||
INTERPRET = {
|
||||
'0x6600':('bgm:spot_height=yes','Височинна кота','legend-ambiguous'),
|
||||
'0x6500':('man_made=water_intake','Вода - Каптаж','legend'),
|
||||
'0x6614':('natural=rock','Скала','legend'),
|
||||
'0x650b':('trailblazed=yes','Зимна маркировка','legend'),
|
||||
'0x660b':('trailblazed=yes','Туристическа маркировка','legend'),
|
||||
'0x1100':('place=locality','Населено място','uncertain'),
|
||||
'0xd00':('place=locality','Селище','uncertain'),
|
||||
'0xe00':('place=neighbourhood','Квартал','uncertain'),
|
||||
'0x640f':('landuse=cemetery','Гробище','legend'),
|
||||
'0x6403':('landuse=cemetery','Гробище','legend'),
|
||||
'0x640a':('hazard=yes','Опасност','legend'),
|
||||
'0x6502':('ford=yes','Речен брод','legend'),
|
||||
'0x2f0b':('leisure=track','Тренировъчна площадка','inferred'),
|
||||
'0x661d':('building=agricultural','Стопанска постройка','inferred'),
|
||||
'0x2c08':('leisure=horse_riding','Конна база','inferred'),
|
||||
'0x2f00':('landuse=industrial','Промишлен обект','inferred'),
|
||||
'0x661c':('bgm:landmark=mound','Могила','uncertain'),
|
||||
'0x3003':('amenity=townhall','Кметство','inferred'),
|
||||
'0x2f01':('amenity=fuel','Бензиностанция','inferred'),
|
||||
'0x3002':('emergency=first_aid','Първа помощ','inferred'),
|
||||
'0x2c02':('amenity=kindergarten','Детска градина','inferred'),
|
||||
'0x2c03':('amenity=community_centre','Читалище','inferred'),
|
||||
'0x2e02':('shop=convenience','Хранителен магазин','inferred'),
|
||||
'0x2e03':('shop=yes','Магазин','inferred'),
|
||||
'0x2e06':('shop=yes','Търговски обект','uncertain'),
|
||||
'0x2f06':('amenity=bank','Банка','inferred'),
|
||||
'0x6418':('power=generator;generator:source=wind','Вятърен генератор','inferred'),
|
||||
'0x6419':('power=generator;generator:source=solar','Фотоволтаична централа','inferred'),
|
||||
'0x6405':('building=hut','Ловна хижа','legend'),
|
||||
'0x2e0a':('shop=car','Автокъща','inferred'),
|
||||
'0x2f03':('shop=car_repair','Автосервиз','inferred'),
|
||||
'0x3007':('man_made=pumping_station','Помпена станция','inferred'),
|
||||
'0x6601':('bgm:landmark=natural_phenomenon','Природен феномен','legend'),
|
||||
'0x6503':('bgm:trail_junction=yes','Кръстопът','legend'),
|
||||
'0x2a07':('bgm:landmark=unknown','Спортен обект','uncertain'),
|
||||
'0x2d02':('bgm:landmark=unknown','Търговски обект','uncertain'),
|
||||
'0x2a0e':('shop=yes','Търговски обект','uncertain'),
|
||||
'0x2f08':('bgm:landmark=unknown','Обществен обект','uncertain'),
|
||||
'0x4700':('industrial=port','Пристанище','legend'),
|
||||
'0x640d':('aerialway=station','Лифт','legend'),
|
||||
'0x6402':('building=yes','Сграда','legend'),
|
||||
'0x6406':('barrier=gate','Бариера','legend'),
|
||||
'0x6401':('man_made=bridge','Мост','legend'),
|
||||
'0x6501':('amenity=restaurant','Ресторант','legend'),
|
||||
'0x640c':('man_made=mine_shaft','Мина','legend'),
|
||||
'0x6602':('tourism=viewpoint','Панорама - Гледка','legend'),
|
||||
'0x6511':('natural=spring','Вода - Извор','legend'),
|
||||
'0x6414':('amenity=drinking_water','Вода - Чешма','legend'),
|
||||
'0x6417':('man_made=water_well','Вода - Кладенец','legend'),
|
||||
'0x6616':('natural=peak','Връх','verified'),
|
||||
'0x6617':('natural=peak','Връх','legend'),
|
||||
'0x6618':('natural=tree','Дърво','legend'),
|
||||
'0x6603':('man_made=survey_point','Триангулачна точка','legend'),
|
||||
}
|
||||
# Primary categories with stock OsmAnd POI definitions/icons in normal map builds.
|
||||
STOCK_PREFIXES={'amenity','tourism','historic','shop','emergency','leisure','natural','man_made'}
|
||||
STOCK_NATURAL={'peak','spring','tree','cave_entrance','saddle'}
|
||||
STOCK_MAN_MADE={'water_well','survey_point','tower'}
|
||||
STOCK_LEISURE={'picnic_table','swimming_pool','park','ice_rink','horse_riding'}
|
||||
STOCK_EMERGENCY={'mountain_rescue','first_aid'}
|
||||
|
||||
def tagdict(s):return dict(item.split('=',1) for item in s.split(';') if '=' in item)
|
||||
def tags_text(d):return ';'.join(f'{k}={v}' for k,v in d.items())
|
||||
def has_standard_icon(tags):
|
||||
if 'amenity' in tags or 'tourism' in tags or 'shop' in tags or 'historic' in tags:return True
|
||||
if tags.get('natural') in STOCK_NATURAL:return True
|
||||
if tags.get('man_made') in STOCK_MAN_MADE:return True
|
||||
if tags.get('leisure') in STOCK_LEISURE:return True
|
||||
if tags.get('emergency') in STOCK_EMERGENCY:return True
|
||||
return False
|
||||
|
||||
def main():
|
||||
a=argparse.ArgumentParser();a.add_argument('--original',required=True);a.add_argument('--catalog',required=True);a.add_argument('--output-dir',required=True);args=a.parse_args()
|
||||
dest=Path(args.output_dir);dest.mkdir(parents=True,exist_ok=True)
|
||||
with open(args.original,encoding='utf-8-sig',newline='') as f:
|
||||
old=list(csv.DictReader((line for line in f if not line.startswith('#'))))
|
||||
assert len(old)>=1800
|
||||
originals={r['code'].lower():r for r in old}
|
||||
assert len(originals)==len(old)
|
||||
with open(args.catalog,encoding='utf-8-sig',newline='') as f:catalog=list(csv.DictReader(f))
|
||||
assert len(catalog)>=260
|
||||
report=[];labels=[]
|
||||
for r in catalog:
|
||||
code=r['code'].lower();cur=originals.get(code)
|
||||
if not cur:raise SystemExit('Missing type in base CSV: '+code)
|
||||
cnt=int(r['count']);raw=tagdict(r.get('reviewed_tags') or r.get('default_tags') or '')
|
||||
override=INTERPRET.get(code)
|
||||
if override:
|
||||
parsed=tagdict(override[0]);label=override[1];confidence=override[2]
|
||||
else:
|
||||
parsed=raw
|
||||
label=r.get('verified_legend_bg') or ''
|
||||
confidence='legend' if r.get('review_status')=='icon_legend_verified' else ('source-inferred' if parsed else 'unknown')
|
||||
# Extended, unverified POIs use synthetic rendering. Do not claim a real OSM tag.
|
||||
if code.startswith('0x1') and int(code,0)>=0x10000:confidence='unverified-extended'
|
||||
synth=not has_standard_icon(parsed)
|
||||
out=dict(parsed)
|
||||
if synth:
|
||||
# OsmAnd compatibility shim: real tags are preserved, these extra tags only
|
||||
# give local OBF viewers a stock information icon. NEVER upload to OSM.
|
||||
out['tourism']='information'
|
||||
out['information']='board'
|
||||
out['bgm:synthetic_icon']='yes'
|
||||
if r.get('verified_legend_en'):
|
||||
# Keep original icon-derived legend classification independently of display shim.
|
||||
old_legend=tagdict(cur.get('tags','')).get('garmin:legend')
|
||||
if old_legend:out['garmin:legend']=old_legend
|
||||
# No code remains raw-only: low-frequency categories also get an indexable type.
|
||||
if not out:raise SystemExit('Missing display tags for '+code)
|
||||
newtags=tags_text(out)
|
||||
before=cur['tags'];cur['mode']='replace';cur['tags']=newtags
|
||||
cur['note']=(cur.get('note') or '')[:180]+' | V08 local icon mode; confidence='+confidence+(' | SYNTHETIC INFORMATION-BOARD ICON, NOT PUBLIC OSM DATA' if synth else ' | native-tag candidate')
|
||||
if not label:label='Garmin обект '+code
|
||||
if label.strip().lower() in ('каптаж','reservoir'):label='Вода - Каптаж'
|
||||
labels.append({'code':code,'label_bg':label,'confidence':confidence})
|
||||
report.append(dict(code=code,count=cnt,old_tags=before,new_tags=newtags,synthetic_fallback='yes' if synth else 'no',confidence=confidence,
|
||||
label_bg=label,example_lat=r.get('example1_lat',''),example_lon=r.get('example1_lon',''),example_name=r.get('example1_name',''),
|
||||
note='presentation compatibility: cannot guarantee draw at every zoom' if synth else 'stock-tag candidate: verify in OBF'))
|
||||
with open(dest/'poi-overrides-all-types.csv','w',encoding='utf-8',newline='') as f:
|
||||
f.write('# Local OsmAnd display compatibility rules, NOT valid for public OSM imports.\n')
|
||||
f.write('# All 263 retained types have a semantic tag or synthetic board icon; historic rejected types remain inert.\n')
|
||||
wr=csv.DictWriter(f,fieldnames=['code','name_contains','mode','tags','note']);wr.writeheader();wr.writerows(old)
|
||||
for name,rows in [('poi-labels-bg.csv',labels),('poi-icon-audit.csv',report)]:
|
||||
with open(dest/name,'w',encoding='utf-8',newline='') as f:
|
||||
wr=csv.DictWriter(f,fieldnames=list(rows[0]));wr.writeheader();wr.writerows(rows)
|
||||
print('catalog reviewed',len(report),'frequent',sum(int(x['count'])>=100 for x in report),'synthetic fallback',sum(x['synthetic_fallback']=='yes' for x in report))
|
||||
for code in ('0x6500','0x6602','0x650b','0x660b'):
|
||||
print(code,next(x for x in report if x['code']==code))
|
||||
|
||||
if __name__=='__main__':main()
|
||||
Reference in New Issue
Block a user