More tests, cleaned up

This commit is contained in:
Nick Eubank committed 2016-05-02 15:21:43 -07:00
1 parent 9d95cad7cf
commit 88d0b86f13
2 files changed
+26 -15

No files matched your search

+3 -4
View File
@@ -461,10 +461,9 @@ class GeoDataFrame(GeoPandasBase, DataFrame):
# Separate data and geometry
data = self.drop(labels=self.geometry.name, axis=1).copy()
groupby_plus_geometry = [self.geometry.name]
groupby_plus_geometry.append(by)
geometry = self[groupby_plus_geometry].copy()
groupby_plus_geometry_cols = [self.geometry.name]
groupby_plus_geometry_cols.append(by)
geometry = self[groupby_plus_geometry_cols].copy()
# Process data
aggregated_data = data.groupby(by=by).agg(aggfunc)
+23 -11
View File
@@ -5,7 +5,8 @@ from shapely.geometry import Point
from geopandas import GeoDataFrame, read_file
from geopandas.tools import overlay
from .util import unittest, download_nybb
from pandas.util.testing import assert_frame_equal
from pandas import Index
class TestDataFrame(unittest.TestCase):
@@ -13,28 +14,39 @@ class TestDataFrame(unittest.TestCase):
nybb_filename, nybb_zip_path = download_nybb()
self.polydf = read_file(nybb_zip_path, vfs='zip://' + nybb_filename)
self.polydf = self.polydf[['geometry', 'BoroName', 'BoroCode']]
self.polydf = self.polydf.rename(columns={'geometry':'myshapes'})
self.polydf = self.polydf.set_geometry('myshapes')
self.polydf['manhattan_bronx'] = 0
self.polydf.loc[3:4,'manhattan_bronx']=1
self.polydf['manhattan_bronx'] = 5
self.polydf.loc[3:4,'manhattan_bronx']=6
# Merged geometry
manhattan_bronx = self.polydf.loc[3:4,]
others = self.polydf.loc[0:2,]
self.merged_shapes = GeoDataFrame(columns=manhattan_bronx.columns)
self.merged_shapes.loc[0, 'myshapes'] = others.geometry.unary_union
self.merged_shapes.loc[1, 'myshapes'] = manhattan_bronx.geometry.unary_union
self.merged_shapes = self.merged_shapes.set_geometry('myshapes')
collapsed = [others.geometry.unary_union, manhattan_bronx.geometry.unary_union]
merged_shapes = GeoDataFrame({'myshapes': collapsed}, geometry='myshapes',
index=Index([5,6], name='manhattan_bronx'))
# Different expected results
self.first = merged_shapes.copy()
self.first['BoroName'] = ['Staten Island', 'Manhattan']
self.first['BoroCode'] = [5, 1]
self.mean = merged_shapes.copy()
self.mean['BoroCode'] = [4,1.5]
def test_geom_dissolve(self):
test = self.polydf.dissolve('manhattan_bronx')
self.assertTrue(test.geometry.name == 'myshapes')
self.assertTrue(test.geom_almost_equals(self.first).all())
known = self.merged_shapes.geometry
self.assertTrue(test.geometry.geom_almost_equals(known).all())
def test_first_dissolve(self):
test = self.polydf.dissolve('manhattan_bronx')
test = test.drop('myshapes', axis=1)
first = self.first.drop('myshapes', axis=1)
assert_frame_equal(first, test)