mirror of
https://github.com/wassname/geopandas.git
synced 2026-09-10 12:00:21 +08:00
Changeup tests to reflect drop=False default
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
from collections import OrderedDict
|
||||
import json
|
||||
import os
|
||||
import warnings
|
||||
|
||||
import fiona
|
||||
import numpy as np
|
||||
@@ -37,12 +36,6 @@ class GeoDataFrame(DataFrame):
|
||||
self.crs = crs
|
||||
if geometry is not None:
|
||||
self.set_geometry(geometry, inplace=True)
|
||||
else:
|
||||
if not 'geometry' in self:
|
||||
warnings.warn("No geometry set in constructor. Geometric funcs"
|
||||
" may not work. You can set geometry via the"
|
||||
" geometry property or with the geometry"
|
||||
" keyword argument")
|
||||
|
||||
def __setattr__(self, attr, val):
|
||||
# have to special case geometry b/c pandas tries to use as column...
|
||||
@@ -291,6 +284,7 @@ class GeoDataFrame(DataFrame):
|
||||
elif isinstance(result, DataFrame) and geo_col in result:
|
||||
result.__class__ = GeoDataFrame
|
||||
result.crs = self.crs
|
||||
result._geometry_column_name = geo_col
|
||||
elif isinstance(result, DataFrame) and geo_col not in result:
|
||||
result.__class__ = DataFrame
|
||||
result.crs = self.crs
|
||||
|
||||
+10
-14
@@ -36,10 +36,11 @@ class TestDataFrame(unittest.TestCase):
|
||||
self.assertTrue(self.df2.crs == self.crs)
|
||||
|
||||
def test_different_geo_colname(self):
|
||||
data = {"A": range(5), "B": range(-5, 1),
|
||||
data = {"A": range(5), "B": range(-5, 0),
|
||||
"location": [Point(x, y) for x, y in zip(range(5), range(5))]}
|
||||
df = GeoDataFrame(data, crs=self.crs, geometry='location')
|
||||
tu.assert_geoseries_equal(df.geometry, data['location'])
|
||||
locs = GeoSeries(data['location'])
|
||||
tu.assert_geoseries_equal(df.geometry, locs)
|
||||
self.assert_('geometry' not in df)
|
||||
self.assertEqual(df.geometry.name, 'location')
|
||||
# internal implementation detail
|
||||
@@ -49,7 +50,7 @@ class TestDataFrame(unittest.TestCase):
|
||||
df2 = df.set_geometry(geom2)
|
||||
self.assert_('geometry' in df)
|
||||
self.assert_('location' in df)
|
||||
tu.assert_geoseries_equal(df2.geometry, geom2)
|
||||
tu.assert_geoseries_equal(df2.geometry, GeoSeries(geom2))
|
||||
tu.assert_geoseries_equal(df2['location'], df['location'])
|
||||
|
||||
def test_geometry_property(self):
|
||||
@@ -122,19 +123,14 @@ class TestDataFrame(unittest.TestCase):
|
||||
self.df['simplified_geometry'] = g_simplified
|
||||
df2 = self.df.set_geometry('simplified_geometry')
|
||||
|
||||
# Drop is true by default
|
||||
self.assert_('simplified_geometry' not in df2)
|
||||
|
||||
tu.assert_geoseries_equal(df2.geometry, g_simplified)
|
||||
|
||||
def test_set_geometry_col_no_drop(self):
|
||||
g = self.df.geometry
|
||||
g_simplified = g.simplify(100)
|
||||
self.df['simplified_geometry'] = g_simplified
|
||||
df2 = self.df.set_geometry('simplified_geometry')
|
||||
# Drop is false by default
|
||||
self.assert_('simplified_geometry' in df2)
|
||||
tu.assert_geoseries_equal(df2.geometry, g_simplified)
|
||||
self.assert_(df2.geometry.name == 'simplified_geometry')
|
||||
|
||||
# If True, drops column and renames to geometry
|
||||
df3 = self.df.set_geometry('simplified_geometry', drop=True)
|
||||
self.assert_('simplified_geometry' not in df3)
|
||||
tu.assert_geoseries_equal(df3.geometry, g_simplified)
|
||||
|
||||
def test_set_geometry_inplace(self):
|
||||
geom = [Point(x,y) for x,y in zip(range(5), range(5))]
|
||||
|
||||
Reference in New Issue
Block a user