use VectorTranslate instead of CopyDataSource for convenience and reliability; nature access. #1686
This commit is contained in:
parent
d28d0682a9
commit
dd5e569669
|
@ -2093,11 +2093,10 @@ def _write_supply_demand_vector(source_aoi_vector_path, feature_attrs,
|
|||
Returns:
|
||||
``None``
|
||||
"""
|
||||
source_vector = ogr.Open(source_aoi_vector_path)
|
||||
driver = ogr.GetDriverByName('GPKG')
|
||||
driver.CopyDataSource(source_vector, target_aoi_vector_path)
|
||||
source_vector = None
|
||||
driver = None
|
||||
gdal.VectorTranslate(
|
||||
target_aoi_vector_path, source_aoi_vector_path,
|
||||
format='GPKG',
|
||||
preserveFID=True)
|
||||
|
||||
target_vector = gdal.OpenEx(target_aoi_vector_path, gdal.GA_Update)
|
||||
target_layer = target_vector.GetLayer()
|
||||
|
|
|
@ -904,8 +904,14 @@ class UNATests(unittest.TestCase):
|
|||
from natcap.invest import urban_nature_access
|
||||
args = _build_model_args(self.workspace_dir)
|
||||
|
||||
admin_vector = gdal.OpenEx(args['admin_boundaries_vector_path'])
|
||||
admin_layer = admin_vector.GetLayer()
|
||||
fid = admin_layer.GetNextFeature().GetFID()
|
||||
admin_layer = None
|
||||
admin_vector = None
|
||||
|
||||
feature_attrs = {
|
||||
0: {
|
||||
fid: {
|
||||
'my-field-1': float(1.2345),
|
||||
'my-field-2': numpy.float32(2.34567),
|
||||
'my-field-3': numpy.float64(3.45678),
|
||||
|
@ -924,10 +930,10 @@ class UNATests(unittest.TestCase):
|
|||
vector = gdal.OpenEx(target_vector_path)
|
||||
self.assertEqual(vector.GetLayerCount(), 1)
|
||||
layer = vector.GetLayer()
|
||||
self.assertEqual(len(layer.schema), len(feature_attrs[0]))
|
||||
self.assertEqual(len(layer.schema), len(feature_attrs[fid]))
|
||||
self.assertEqual(layer.GetFeatureCount(), 1)
|
||||
feature = layer.GetFeature(0)
|
||||
for field_name, expected_field_value in feature_attrs[0].items():
|
||||
feature = layer.GetFeature(fid)
|
||||
for field_name, expected_field_value in feature_attrs[fid].items():
|
||||
self.assertEqual(
|
||||
feature.GetField(field_name), expected_field_value)
|
||||
finally:
|
||||
|
|
Loading…
Reference in New Issue