Esempio n. 1
0
    def test_rasterization_with_partitioner(self):
        features = osm_reader.from_orc(file_path("zerns.orc"))

        lines = features.get_way_features_rdd()

        def assign_cellvalues(feature):
            tags = feature.properties.tags.values()

            if 'water' in tags:
                return Feature(feature.geometry, CellValue(4, 4))
            elif "en:Zern's Farmer's Market" in tags:
                return Feature(feature.geometry, CellValue(3, 3))
            else:
                return Feature(feature.geometry, CellValue(1, 1))

        mapped_lines = lines.map(lambda feature: assign_cellvalues(feature))

        result = rasterize_features(
            mapped_lines,
            4326,
            12,
            cell_type=CellType.INT8,
            partition_strategy=SpatialPartitionStrategy())

        self.assertEqual(result.get_min_max(), (1, 4))
        self.assertEqual(result.count(), 1)
Esempio n. 2
0
    def test_rasterization(self):
        features = osm_reader.from_orc(file_path("zerns.orc"))

        lines = features.get_line_features_rdd()
        polys = features.get_polygon_features_rdd()

        mapped_lines = lines.map(
            lambda feature: Feature(feature.geometry, CellValue(1, 1)))

        def assign_cellvalues(feature):
            tags = feature.properties.tags.values()

            if 'water' in tags:
                return Feature(feature.geometry, CellValue(4, 4))
            elif "en:Zern's Farmer's Market" in tags:
                return Feature(feature.geometry, CellValue(3, 3))
            else:
                return Feature(feature.geometry, CellValue(2, 2))

        mapped_polys = polys.map(lambda feature: assign_cellvalues(feature))

        unioned = BaseTestClass.pysc.union((mapped_lines, mapped_polys))
        result = rasterize_features(unioned, 4326, 12, cell_type=CellType.INT8)

        self.assertEqual(result.get_min_max(), (1, 4))
        self.assertEqual(result.count(), 1)
Esempio n. 3
0
class ReadingOrcTest(BaseTestClass):
    features = osm_reader.from_orc(file_path("zerns.orc"))

    @pytest.fixture(autouse=True)
    def tearDown(self):
        yield
        BaseTestClass.pysc._gateway.close()

    def test_reading_rdds_from_orc(self):

        self.assertTrue(self.features.get_node_features_rdd().count(), 1)
        self.assertEqual(self.features.get_way_features_rdd().count(), 13)
        self.assertEqual(self.features.get_relation_features_rdd().count(), 0)

    def test_reading_tags_from_orc(self):
        ex_point_tags = ['traffic_signals', 'backward']
        ex_line_tags = ['Big Rd', 'PA 73', 'Layfield Rd', 'Jackson', '19525']
        ex_polygon_tags = [
            "en:Zern's Farmer's Market", 'E Philadelphia Avenue', 'LakePond',
            'Gilbertsville'
        ]

        point_tags = self.features.get_node_tags().values()
        line_tags = self.features.get_way_tags().values()

        for tag in ex_point_tags:
            self.assertTrue(tag in point_tags)

        for tag in ex_line_tags:
            self.assertTrue(tag in line_tags)
Esempio n. 4
0
class ReadingOrcTest(BaseTestClass):
    features = osm_reader.from_orc(file_path("zerns.orc"))

    @pytest.fixture(autouse=True)
    def tearDown(self):
        yield
        BaseTestClass.pysc._gateway.close()

    def test_reading_rdds_from_orc(self):

        self.assertTrue(self.features.get_point_features_rdd().isEmpty())
        self.assertTrue(
            self.features.get_multipolygon_features_rdd().isEmpty())

        self.assertEqual(self.features.get_line_features_rdd().count(), 5)
        self.assertEqual(self.features.get_polygon_features_rdd().count(), 5)

    def test_reading_tags_from_orc(self):
        ex_line_tags = ['Big Rd', 'PA 73', 'Layfield Rd', 'Jackson', '19525']
        ex_polygon_tags = [
            "en:Zern's Farmer's Market", 'E Philadelphia Avenue', 'LakePond',
            'Douglass Park', 'Gilbertsville'
        ]

        self.assertEqual(self.features.get_point_tags(), {})
        self.assertEqual(self.features.get_multipolygon_tags(), {})

        line_tags = self.features.get_line_tags().values()
        polygon_tags = self.features.get_polygon_tags().values()

        for tag in ex_line_tags:
            self.assertTrue(tag in line_tags)

        for tag in ex_polygon_tags:
            self.assertTrue(tag in polygon_tags)