map-machine/map_machine/element/element.py
Sergey Vartanov 692997f54a Rename element command to draw.
And add node drawing.
2022-08-17 08:12:53 +03:00

40 lines
1 KiB
Python

import argparse
from pathlib import Path
from map_machine.element.grid import Grid
from map_machine.osm.osm_reader import Tags, OSMNode
def draw_node(tags: Tags, path: Path):
grid: Grid = Grid(x_step=0.0003, show_credit=False, margin=0.5)
grid.add_node(tags, 0, 0)
grid.draw(path)
def draw_way():
pass
def draw_area(tags: Tags, path: Path):
grid: Grid = Grid(x_step=0.0003, show_credit=False, margin=0.5)
node: OSMNode = grid.add_node({}, 0, 0)
nodes: list[OSMNode] = [
node,
grid.add_node({}, 0, 1),
grid.add_node({}, 1, 1),
grid.add_node({}, 1, 0),
node,
]
grid.add_way(tags, nodes)
grid.draw(path)
def draw_element(options: argparse.Namespace):
tags_description: Tags = {
x.split("=")[0]: x.split("=")[1] for x in options.tags.split(",")
}
if options.type == "area":
draw_area(tags_description, Path(options.output_file))
elif options.type == "node":
draw_node(tags_description, Path(options.output_file))