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(): 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)