v0.6
This commit is contained in:
@@ -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.
|
||||
|
||||
+2
-1
@@ -1,5 +1,5 @@
|
||||
cmake_minimum_required(VERSION 3.16)
|
||||
project(garmin2osmand VERSION 0.5.0 LANGUAGES CXX)
|
||||
project(garmin2osmand VERSION 0.6.0 LANGUAGES CXX)
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
find_package(PNG REQUIRED)
|
||||
@@ -21,4 +21,5 @@ 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()
|
||||
|
||||
@@ -1,155 +1,66 @@
|
||||
# BGMountains Garmin IMG → OSM → OBF: C++ converter + POI audit toolkit (v0.5)
|
||||
# BGMountains Garmin IMG → OSM v0.6 (legend-reviewed, spatially validated)
|
||||
|
||||
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 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.
|
||||
|
||||
**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.
|
||||
## Corrected
|
||||
|
||||
## Build
|
||||
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.
|
||||
|
||||
```sh
|
||||
sudo apt-get install -y cmake g++ make libpng-dev libsqlite3-dev python3
|
||||
## 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
|
||||
```
|
||||
|
||||
## Bundled resources
|
||||
./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
|
||||
|
||||
| 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 |
|
||||
|
||||
## Produce a countrywide OSM export + inventory
|
||||
|
||||
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.
|
||||
|
||||
```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
|
||||
```
|
||||
|
||||
For a regional check before rebuilding the whole country:
|
||||
|
||||
```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
|
||||
```
|
||||
|
||||
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
|
||||
--source BGMountains-source-reviewed.csv \
|
||||
--osm BGMountains-legend-reviewed.osm \
|
||||
--rules config/poi-overrides-legend-reviewed.csv \
|
||||
--report validated.json --mismatches mismatches.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.
|
||||
Parallelism: append `--jobs 4` to the converter command if desired; otherwise it uses one worker.
|
||||
|
||||
**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.
|
||||
**Adding one verified name correction:** edit `config/poi-name-fixes.csv`, with this schema:
|
||||
|
||||
## 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
|
||||
```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
|
||||
```
|
||||
|
||||
Inspect **your actual, externally compiled OBF**:
|
||||
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.
|
||||
|
||||
```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
|
||||
```
|
||||
## What this does not prove
|
||||
|
||||
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.
|
||||
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.
|
||||
|
||||
## What is tested
|
||||
## 0x10d1f / Несебър
|
||||
|
||||
- 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`.
|
||||
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.
|
||||
|
||||
@@ -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.
|
||||
Binary file not shown.
@@ -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
+1821
-1821
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
Binary file not shown.
|
After Width: | Height: | Size: 290 KiB |
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,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 |
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.
+127
-10
@@ -17,9 +17,9 @@ 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;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-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-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);
|
||||
@@ -95,6 +95,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,6 +211,31 @@ 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;
|
||||
}
|
||||
|
||||
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;
|
||||
@@ -221,7 +333,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,10 +352,11 @@ 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 name=resolveNameFix(m.name,typ,lat,lon,rawName);
|
||||
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);
|
||||
@@ -310,8 +423,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 +441,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 +491,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);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 +513,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 +523,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()
|
||||
Reference in New Issue
Block a user