mirror of
https://github.com/enzet/map-machine.git
synced 2025-05-03 04:06:41 +02:00
Fix code style.
This commit is contained in:
parent
96aaa92535
commit
edd3512526
7 changed files with 31 additions and 15 deletions
|
@ -1,3 +1,6 @@
|
||||||
|
"""
|
||||||
|
Figures displayed on the map.
|
||||||
|
"""
|
||||||
from typing import Any, Dict, List, Optional
|
from typing import Any, Dict, List, Optional
|
||||||
|
|
||||||
import numpy as np
|
import numpy as np
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
MapCSS scheme creation.
|
MapCSS scheme creation.
|
||||||
"""
|
"""
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import List, Optional, Dict
|
from typing import List, Optional, Dict, TextIO
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
from colour import Color
|
from colour import Color
|
||||||
|
@ -66,6 +66,10 @@ meta {{
|
||||||
|
|
||||||
|
|
||||||
class MapCSSWriter:
|
class MapCSSWriter:
|
||||||
|
"""
|
||||||
|
Writer that converts Röntgen scheme into MapCSS 0.2 format.
|
||||||
|
"""
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
scheme: Scheme,
|
scheme: Scheme,
|
||||||
|
@ -89,6 +93,15 @@ class MapCSSWriter:
|
||||||
prefix: str = "",
|
prefix: str = "",
|
||||||
opacity: Optional[float] = None,
|
opacity: Optional[float] = None,
|
||||||
) -> str:
|
) -> str:
|
||||||
|
"""
|
||||||
|
Add MapCSS 0.2 selector for node, way, relation, or area.
|
||||||
|
|
||||||
|
:param target: `node`, `way`, `relation`, or `area`
|
||||||
|
:param matcher: tag matcher of Röntgen scheme
|
||||||
|
:param prefix: tag prefix
|
||||||
|
:param opacity: icon opacity
|
||||||
|
:return:
|
||||||
|
"""
|
||||||
elements: Dict[str, str] = {}
|
elements: Dict[str, str] = {}
|
||||||
|
|
||||||
clean_shapes = matcher.get_clean_shapes()
|
clean_shapes = matcher.get_clean_shapes()
|
||||||
|
@ -126,7 +139,7 @@ class MapCSSWriter:
|
||||||
|
|
||||||
return selector
|
return selector
|
||||||
|
|
||||||
def write(self, output_file: Path) -> None:
|
def write(self, output_file: TextIO) -> None:
|
||||||
"""
|
"""
|
||||||
Construct icon selectors for MapCSS 0.2 scheme.
|
Construct icon selectors for MapCSS 0.2 scheme.
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -145,6 +145,7 @@ class RoentgenMoire(Default, ABC):
|
||||||
return test_configuration.get_command(self.clear(args[0]))
|
return test_configuration.get_command(self.clear(args[0]))
|
||||||
|
|
||||||
def icon(self, args: Arguments) -> str:
|
def icon(self, args: Arguments) -> str:
|
||||||
|
"""Image with Röntgen icon."""
|
||||||
raise NotImplementedError("icon")
|
raise NotImplementedError("icon")
|
||||||
|
|
||||||
def options(self, args: Arguments) -> str:
|
def options(self, args: Arguments) -> str:
|
||||||
|
|
|
@ -16,6 +16,8 @@ __email__ = "me@enzet.ru"
|
||||||
|
|
||||||
|
|
||||||
class NetworkError(Exception):
|
class NetworkError(Exception):
|
||||||
|
"""Failed network request."""
|
||||||
|
|
||||||
def __init__(self, message: str):
|
def __init__(self, message: str):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
self.message: str = message
|
self.message: str = message
|
||||||
|
@ -36,7 +38,7 @@ def get_osm(
|
||||||
if not to_update and result_file_name.is_file():
|
if not to_update and result_file_name.is_file():
|
||||||
return result_file_name.open().read()
|
return result_file_name.open().read()
|
||||||
|
|
||||||
content: Optional[bytes] = get_data(
|
content: Optional[str] = get_data(
|
||||||
"api.openstreetmap.org/api/0.6/map",
|
"api.openstreetmap.org/api/0.6/map",
|
||||||
{"bbox": boundary_box.get_format()},
|
{"bbox": boundary_box.get_format()},
|
||||||
is_secure=True,
|
is_secure=True,
|
||||||
|
|
|
@ -3,11 +3,11 @@ Reading OpenStreetMap data from XML file.
|
||||||
"""
|
"""
|
||||||
import json
|
import json
|
||||||
import re
|
import re
|
||||||
import xml.etree.ElementTree as ET
|
|
||||||
from dataclasses import dataclass
|
from dataclasses import dataclass
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import Any, Dict, List, Optional, Set
|
from typing import Any, Dict, List, Optional, Set
|
||||||
|
from xml.etree import ElementTree
|
||||||
|
|
||||||
import numpy as np
|
import numpy as np
|
||||||
|
|
||||||
|
@ -65,14 +65,13 @@ class Tagged:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
def get_float(self, key: str) -> Optional[float]:
|
def get_float(self, key: str) -> Optional[float]:
|
||||||
|
"""Parse float from tag value."""
|
||||||
if key in self.tags:
|
if key in self.tags:
|
||||||
return parse_float(self.tags[key])
|
return parse_float(self.tags[key])
|
||||||
return None
|
return None
|
||||||
|
|
||||||
def get_length(self, key: str) -> Optional[float]:
|
def get_length(self, key: str) -> Optional[float]:
|
||||||
"""
|
"""Get length in meters."""
|
||||||
Get length in meters.
|
|
||||||
"""
|
|
||||||
if key not in self.tags:
|
if key not in self.tags:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
@ -420,7 +419,7 @@ class OSMReader:
|
||||||
:param file_name: input XML file
|
:param file_name: input XML file
|
||||||
:return: parsed map
|
:return: parsed map
|
||||||
"""
|
"""
|
||||||
return self.parse_osm(ET.parse(file_name).getroot())
|
return self.parse_osm(ElementTree.parse(file_name).getroot())
|
||||||
|
|
||||||
def parse_osm_text(self, text: str) -> Map:
|
def parse_osm_text(self, text: str) -> Map:
|
||||||
"""
|
"""
|
||||||
|
@ -429,7 +428,7 @@ class OSMReader:
|
||||||
:param text: XML text representation
|
:param text: XML text representation
|
||||||
:return: parsed map
|
:return: parsed map
|
||||||
"""
|
"""
|
||||||
return self.parse_osm(ET.fromstring(text))
|
return self.parse_osm(ElementTree.fromstring(text))
|
||||||
|
|
||||||
def parse_osm(self, root) -> Map:
|
def parse_osm(self, root) -> Map:
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
"""
|
||||||
|
Rasterize vector graphics using Inkscape.
|
||||||
|
"""
|
||||||
import os
|
import os
|
||||||
import subprocess
|
import subprocess
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
|
@ -29,13 +29,8 @@ class Lane:
|
||||||
change: Optional[str] = None # "not_left", "not_right"
|
change: Optional[str] = None # "not_left", "not_right"
|
||||||
destination: Optional[str] = None # Lane destination
|
destination: Optional[str] = None # Lane destination
|
||||||
|
|
||||||
def set_forward(self, is_forward: bool) -> None:
|
|
||||||
self.is_forward = is_forward
|
|
||||||
|
|
||||||
def get_width(self, scale: float):
|
def get_width(self, scale: float):
|
||||||
"""
|
"""Get lane width. We use standard 3.7 m lane."""
|
||||||
Get lane width. We use standard 3.7 m lane.
|
|
||||||
"""
|
|
||||||
if self.width is None:
|
if self.width is None:
|
||||||
return 3.7 * scale
|
return 3.7 * scale
|
||||||
return self.width * scale
|
return self.width * scale
|
||||||
|
|
Loading…
Add table
Reference in a new issue