diff --git a/geojson/utils.py b/geojson/utils.py index a59b16c..58f29e1 100644 --- a/geojson/utils.py +++ b/geojson/utils.py @@ -119,15 +119,8 @@ def map_geometries(func, obj): geoms = [func(geom) if geom else None for geom in obj['geometries']] return {'type': obj['type'], 'geometries': geoms} elif obj['type'] == 'Feature': - geom = func(obj['geometry']) if obj['geometry'] else None - result = { - 'type': obj['type'], - 'geometry': geom, - 'properties': obj['properties'], - } - if 'id' in obj: - result['id'] = obj['id'] - return result + obj['geometry'] = func(obj['geometry']) if obj['geometry'] else None + return obj elif obj['type'] == 'FeatureCollection': feats = [map_geometries(func, feat) for feat in obj['features']] return {'type': obj['type'], 'features': feats} diff --git a/tests/test_coords.py b/tests/test_coords.py index b327c4c..1405199 100644 --- a/tests/test_coords.py +++ b/tests/test_coords.py @@ -1,7 +1,7 @@ import unittest import geojson -from geojson.utils import coords, map_coords, map_tuples +from geojson.utils import coords, map_coords class CoordsTestCase(unittest.TestCase): @@ -67,23 +67,14 @@ def test_map_multipolygon(self): self.assertEqual(result['coordinates'][-1][-1][-1], (23.18, -34.29)) def test_map_feature(self): - f = geojson.Feature( - id='0', - geometry=geojson.Point([-77.1291115237051, 38.7993076720178]), - properties={ - 'name': 'Van Dorn Street', - 'marker-col': '#0000ff', - 'marker-sym': 'rail-metro', - 'line': 'blue', - }, + g = geojson.Feature( + id='123', + geometry=geojson.Point([-115.81, 37.24]) ) - result = map_tuples(lambda t: t, f) + result = map_coords(lambda x: x, g) self.assertEqual(result['type'], 'Feature') - self.assertEqual(result['id'], '0') - self.assertEqual( - result['geometry']['coordinates'], - (-77.1291115237051, 38.7993076720178) - ) + self.assertEqual(result['id'], '123') + self.assertEqual(result['geometry']['coordinates'], (-115.81, 37.24)) def test_map_invalid(self): with self.assertRaises(ValueError):