Exemple #1
0
    def test_big_map(self):
        input_osm_file = os.path.join(os.path.dirname(__file__),
                                      "resources/big.osm")
        output_svg_file = os.path.join(os.path.dirname(__file__),
                                       "e2e_test.svg")

        parser = OsmParser()
        internal_map = parser.parse(input_osm_file)

        svg_writer = SimpleSvgGenerator()
        output_file = svg_writer.generate(internal_map)

        os.rename(output_file, output_svg_file)

        self.assertIsNotNone(os.path.exists(output_svg_file))
Exemple #2
0
    def test_get_node_registry_success(self):
        parser = OsmParser()

        xml = """
            <osm version="0.6" copyright="OpenStreetMap and contributors">
                <bounds minlat="48.8874500" minlon="2.3254400" maxlat="48.8875800" maxlon="2.3257300"/>
                <node id="27323684" visible="true" version="9" uid="6848" lat="48.8880344" lon="2.3246333"/>
                <node id="27323728" visible="true" version="23" uid="37548" lat="48.8874983" lon="2.3255897"/>
                <node id="27323735" visible="true" version="28" uid="6848" lat="48.8871648" lon="2.3257420"/>
            </osm>
        """
        tree_root = self.get_elementtree_from_xml(xml)
        node_registry = parser.get_node_registry(tree_root)

        self.assertEqual(3, node_registry.__len__(), "Expected 3 nodes")
Exemple #3
0
    def test_parse(self):
        osm_map = os.path.join(os.path.dirname(__file__),
                               "../resources/small.osm")

        parser = OsmParser.create()
        map_result = parser.parse(osm_map)
        self.assertEqual(map_result.__len__(), 18,
                         "Expected 18 edges on the map")
Exemple #4
0
    def test_get_weight_for_no_highway(self):
        parser = OsmParser()

        xml = """
        <way id="819897361" visible="true" version="2" uid="963055">
          <nd ref="27323728"/>
          <nd ref="6121940144"/>
          <nd ref="5715654115"/>
          <tag k="busway:left" v="opposite_lane"/>
          <tag k="lit" v="yes"/>
          <tag k="maxspeed" v="30"/>
         </way>
        """
        way = self.get_elementtree_from_xml(xml).getroot()
        weight = parser.get_weight_for_way(way)

        self.assertEqual(-1, weight, "Expected weight -1 for no highway")
Exemple #5
0
 def test_get_edges_not_in_registry(self):
     parser = OsmParser()
     node_registry = {
         "27323728": ("27323728", 50, -110),
         "6121940144": ("6121940144", 3, 25),
         "3": ("3", 5, 15),
     }
     xml = """
     <way id="819897361" visible="true" version="2" uid="963055">
       <nd ref="27323728"/>
       <nd ref="6121940144"/>
       <nd ref="5715654115"/>
       <tag k="busway:left" v="opposite_lane"/>
       <tag k="highway" v="primary"/>
       <tag k="lit" v="yes"/>
       <tag k="maxspeed" v="30"/>
      </way>
     """
     tree_root = self.get_elementtree_from_xml(xml)
     edges = parser.get_edges(tree_root, node_registry)
     self.assertEqual(1, edges.__len__(), "Expected 1 edges")