Files
comaps/tools/python/mwm/decode_id.py
Konstantin Pastbin e3e4a1985a Organic Maps sources as of 02.04.2025 (fad26bbf22ac3da75e01e62aa01e5c8e11861005)
To expand with full Organic Maps and Maps.ME commits history run:
  git remote add om-historic [om-historic.git repo url]
  git fetch --tags om-historic
  git replace squashed-history historic-commits
2025-05-08 21:10:51 +07:00

26 lines
750 B
Python
Executable File

import re
from mwm.ft2osm import OsmIdCode
from mwm.ft2osm import unpack_osmid
def decode_id(id):
if id.isdigit():
osm_id = unpack_osmid(int(id))
type_abbr = {"n": "node", "w": "way", "r": "relation"}
return f"https://www.openstreetmap.org/{type_abbr[osm_id[0]]}/{osm_id[1]}"
else:
m = re.search(r"/(node|way|relation)/(\d+)", id)
if m:
type_name = m.group(1)
oid = int(m.group(2))
if type_name == "node":
oid |= OsmIdCode.NODE
elif type_name == "way":
oid |= OsmIdCode.WAY
elif type_name == "relation":
oid |= OsmIdCode.RELATION
return oid
else:
return None