예제 #1
0
    def test_get_vector_coordinates(self):
        # this also tests equality with `ogr_to_numpy`

        x, attrs = georef.get_vector_coordinates(self.layer, key='FID')
        self.assertEqual(attrs, list(range(13)))

        x, attrs = georef.get_vector_coordinates(self.layer)
        y = []
        self.layer.ResetReading()
        for i in range(self.layer.GetFeatureCount()):
            feature = self.layer.GetNextFeature()
            if feature:
                geom = feature.GetGeometryRef()
                y.append(georef.ogr_to_numpy(geom))
        y = np.array(y)
        for x1, y1 in zip(x, y):
            np.testing.assert_allclose(x1, y1)

        self.layer.ResetReading()
        x, attrs = georef.get_vector_coordinates(self.layer,
                                                 source_srs=self.proj,
                                                 dest_srs=self.wgs84)

        self.layer.ResetReading()
        x, attrs = georef.get_vector_coordinates(self.layer,
                                                 dest_srs=self.wgs84)
예제 #2
0
    def test_get_vector_coordinates(self):
        # this also tests equality with `ogr_to_numpy`

        x, attrs = georef.get_vector_coordinates(self.layer, key='FID')
        self.assertEqual(attrs, list(range(13)))

        x, attrs = georef.get_vector_coordinates(self.layer)
        y = []
        self.layer.ResetReading()
        for i in range(self.layer.GetFeatureCount()):
            feature = self.layer.GetNextFeature()
            if feature:
                geom = feature.GetGeometryRef()
                y.append(georef.ogr_to_numpy(geom))
        y = np.array(y)
        for x1, y1 in zip(x, y):
            np.testing.assert_allclose(x1, y1)

        self.layer.ResetReading()
        x, attrs = georef.get_vector_coordinates(self.layer,
                                                 source_srs=self.proj,
                                                 dest_srs=self.wgs84)

        self.layer.ResetReading()
        x, attrs = georef.get_vector_coordinates(self.layer,
                                                 dest_srs=self.wgs84)
예제 #3
0
    def test_get_vector_coordinates(self):
        filename = util.get_wradlib_data_file("shapefiles/agger/" "agger_merge.shp")
        ds, layer = wradlib.io.open_vector(filename)

        # this also tests equality with `ogr_to_numpy`
        x, attrs = georef.get_vector_coordinates(layer, key="FID")
        assert attrs == list(range(13))

        x, attrs = georef.get_vector_coordinates(layer)
        y = []
        layer.ResetReading()
        for i in range(layer.GetFeatureCount()):
            feature = layer.GetNextFeature()
            if feature:
                geom = feature.GetGeometryRef()
                y.append(georef.ogr_to_numpy(geom))
        y = np.array(y)
        for x1, y1 in zip(x, y):
            np.testing.assert_allclose(x1, y1)

        layer.ResetReading()
        x, attrs = georef.get_vector_coordinates(
            layer, source_srs=self.proj, dest_srs=self.wgs84
        )

        layer.ResetReading()
        x, attrs = georef.get_vector_coordinates(layer, dest_srs=self.wgs84)
예제 #4
0
 def _get_data(self):
     """ Returns DataSource geometries as numpy ndarrays
     """
     lyr = self.ds.GetLayer()
     sources = []
     for feature in lyr:
         geom = feature.GetGeometryRef()
         poly = georef.ogr_to_numpy(geom)
         sources.append(poly)
     return np.array(sources)
예제 #5
0
    def get_data_by_idx(self, idx):
        """ Returns DataSource geometries as numpy ndarrays from given index

        Parameters
        ----------
        idx : sequence of int
            indices
        """
        lyr = self.ds.GetLayer()
        lyr.ResetReading()
        lyr.SetSpatialFilter(None)
        lyr.SetAttributeFilter(None)
        sources = []
        for i in idx:
            feature = lyr.GetFeature(i)
            geom = feature.GetGeometryRef()
            poly = georef.ogr_to_numpy(geom)
            sources.append(poly)
        return np.array(sources)
예제 #6
0
 def test_get_vector_points(self):
     # this also tests equality with `ogr_to_numpy`
     x = np.array(list(georef.get_vector_points(self.ogrobj))[0])
     y = georef.ogr_to_numpy(self.ogrobj)
     np.testing.assert_allclose(x, y)
예제 #7
0
 def test_ogr_to_numpy(self):
     self.assertTrue(
         np.allclose(georef.ogr_to_numpy(self.ogrobj), self.npobj))
예제 #8
0
 def test_get_vector_points(self):
     # this also tests equality with `ogr_to_numpy`
     x = np.array(list(georef.get_vector_points(self.ogrobj))[0])
     y = georef.ogr_to_numpy(self.ogrobj)
     np.testing.assert_allclose(x, y)
예제 #9
0
 def test_ogr_to_numpy(self):
     self.assertTrue(
         np.allclose(georef.ogr_to_numpy(self.ogrobj), self.npobj))
예제 #10
0
 def test_ogr_to_numpy(self):
     np.testing.assert_allclose(georef.ogr_to_numpy(self.ogrobj), self.npobj)