diff --git a/geopandas/geodataframe.py b/geopandas/geodataframe.py index 08f7286..4c74bac 100644 --- a/geopandas/geodataframe.py +++ b/geopandas/geodataframe.py @@ -253,8 +253,8 @@ class GeoDataFrame(GeoPandasBase, DataFrame): 'id': str(i), 'type': 'Feature', 'properties': - dict((k, v) for k, v in iteritems(row) if k != 'geometry'), - 'geometry': mapping(row['geometry']) } + dict((k, v) for k, v in iteritems(row) if k != self._geometry_column_name), + 'geometry': mapping(row[self._geometry_column_name]) } return json.dumps( {'type': 'FeatureCollection', diff --git a/geopandas/geoseries.py b/geopandas/geoseries.py index 077a9cb..34410eb 100644 --- a/geopandas/geoseries.py +++ b/geopandas/geoseries.py @@ -113,9 +113,6 @@ class GeoSeries(GeoPandasBase, Series): def __getitem__(self, key): return self._wrapped_pandas_method('__getitem__', key) - def __getslice__(self, i, j): - return self._wrapped_pandas_method('__getslice__', i, j) - def order(self, *args, **kwargs): return self._wrapped_pandas_method('order', *args, **kwargs) diff --git a/geopandas/io/sql.py b/geopandas/io/sql.py index b70d774..8c75fab 100644 --- a/geopandas/io/sql.py +++ b/geopandas/io/sql.py @@ -28,7 +28,8 @@ def read_postgis(sql, con, geom_col='geom', crs=None, index_col=None, index_col, coerce_float, params """ - df = read_sql(sql, con, index_col, coerce_float, params) + df = read_sql(sql, con, index_col=index_col, coerce_float=coerce_float, + params=params) if geom_col not in df: raise ValueError("Query missing geometry column '{}'".format( geom_col)) diff --git a/tests/test_geodataframe.py b/tests/test_geodataframe.py index 32dbf8b..2d5f60f 100644 --- a/tests/test_geodataframe.py +++ b/tests/test_geodataframe.py @@ -188,6 +188,17 @@ class TestDataFrame(unittest.TestCase): self.assertTrue(data['type'] == 'FeatureCollection') self.assertTrue(len(data['features']) == 5) + def test_to_json_geom_col(self): + df = self.df.copy() + df['geom'] = df['geometry'] + df['geometry'] = np.arange(len(df)) + df.set_geometry('geom', inplace=True) + + text = df.to_json() + data = json.loads(text) + self.assertTrue(data['type'] == 'FeatureCollection') + self.assertTrue(len(data['features']) == 5) + def test_to_json_na(self): # Set a value as nan and make sure it's written self.df['Shape_Area'][self.df['BoroName']=='Queens'] = np.nan