def test_recompute_counts(self): """Test we can recompute counts in a layer.""" layer = load_test_vector_layer('gisv4', 'exposure', 'population.geojson', clone=True) self.assertIn(female_count_field['key'], layer.keywords['inasafe_fields']) layer = prepare_vector_layer(layer) layer = from_counts_to_ratios(layer) self.assertIn(female_count_field['key'], layer.keywords['inasafe_fields']) self.assertIn(female_ratio_field['key'], layer.keywords['inasafe_fields']) # Check that each feature has correct ratio for feature in layer.getFeatures(): manual_ratio = feature[female_count_field['field_name']] / feature[ population_count_field['field_name']] diff = abs(manual_ratio - feature[female_ratio_field['field_name']]) self.assertTrue(diff < 10**-2, diff)
def test_recompute_counts(self): """Test we can recompute counts in a layer.""" layer = load_test_vector_layer( 'gisv4', 'exposure', 'population.geojson', clone=True) self.assertIn( female_count_field['key'], layer.keywords['inasafe_fields']) layer = prepare_vector_layer(layer) layer = from_counts_to_ratios(layer) self.assertIn( female_count_field['key'], layer.keywords['inasafe_fields']) self.assertIn( female_ratio_field['key'], layer.keywords['inasafe_fields']) # Check that each feature has correct ratio for feature in layer.getFeatures(): manual_ratio = feature[female_count_field['field_name']] / feature[ population_count_field['field_name']] diff = abs( manual_ratio - feature[female_ratio_field['field_name']]) self.assertTrue(diff < 10 ** -2, diff)
def test_recompute_counts(self): """Test we can recompute counts in a layer.""" layer = load_test_vector_layer('gisv4', 'exposure', 'population.geojson', clone=True) self.assertIn(female_count_field['key'], layer.keywords['inasafe_fields']) layer = prepare_vector_layer(layer) layer = from_counts_to_ratios(layer) self.assertIn(female_count_field['key'], layer.keywords['inasafe_fields']) self.assertIn(female_ratio_field['key'], layer.keywords['inasafe_fields']) # Check that each feature has correct ratio for feature in layer.getFeatures(): female_count = feature[female_count_field['field_name']] population_count = feature[population_count_field['field_name']] manual_ratio = female_count / float(population_count) computing_ratio = feature[female_ratio_field['field_name']] diff = abs(manual_ratio - computing_ratio) message = 'The ratio difference is too big, diff = %s' % diff self.assertTrue(diff < 10**-2, message)
def test_recompute_counts(self): """Test we can recompute counts in a layer.""" layer = load_test_vector_layer( 'gisv4', 'exposure', 'population.geojson', clone=True) self.assertIn( female_count_field['key'], layer.keywords['inasafe_fields']) layer = prepare_vector_layer(layer) layer = from_counts_to_ratios(layer) self.assertIn( female_count_field['key'], layer.keywords['inasafe_fields']) self.assertIn( female_ratio_field['key'], layer.keywords['inasafe_fields']) # Check that each feature has correct ratio for feature in layer.getFeatures(): female_count = feature[female_count_field['field_name']] population_count = feature[population_count_field['field_name']] manual_ratio = female_count / float(population_count) computing_ratio = feature[female_ratio_field['field_name']] diff = abs(manual_ratio - computing_ratio) message = 'The ratio difference is too big, diff = %s' % diff self.assertTrue(diff < 10 ** -2, message)
def test_prepare_layer(self): """Test we can prepare a vector layer.""" layer = load_test_vector_layer('exposure', 'building-points.shp') cleaned = prepare_vector_layer(layer) # Only 3 fields self.assertEqual(len(cleaned.fields().toList()), 2) # ET : I should check later the order. self.assertIn(cleaned.fieldNameIndex(exposure_id_field['field_name']), [0, 1, 2]) self.assertIn( cleaned.fieldNameIndex(exposure_type_field['field_name']), [0, 1, 2])
def test_prepare_layer(self): """Test we can prepare a vector layer.""" layer = load_test_vector_layer('exposure', 'building-points.shp') cleaned = prepare_vector_layer(layer) # Only 3 fields self.assertEqual(len(cleaned.fields().toList()), 2) # ET : I should check later the order. self.assertIn( cleaned.fieldNameIndex(exposure_id_field['field_name']), [0, 1, 2]) self.assertIn( cleaned.fieldNameIndex(exposure_type_field['field_name']), [0, 1, 2])