* Allows for clearer errors when a GeoDataFrame is created but has no
geometry.
* TST: Add test util for comparing sequence (b/c assert_almost_equal seems
to not work with shapely.
This adds an 'na' option specifying how NaN values should be handled in
GeoDataFrame's to_json(). The default is 'null' which outputs JSON null.
The other options are 'drop' which removes any missing property, and 'keep'
which will output them as NaN.
When omitna is true, any properties that are NaN will not be written out.
This means that different features can have different numbers of properties,
which is okay for GeoJSON. Writing out NaN values is not valid JSON and causes
problems for some parsers.
Adds a geometry property and set_geometry() method to GeoDataFrame. This was
suggested in Issue #45. The implementation mimics that of DataFrame's
set_index in that it returns a copy of the GeoDataFrame by default with the
new geometry. You can specify a column or give a list/ndarray of geometries.
Adds tests for the read_postgis methods. A tests/util.py is introduced
containing some of the common code for downloading the NYC boroughs file,
managing the existence of psycopg2, and connecting to a database.
It also installs postgis and creates a simple database filled with the borough
data. A new requirements.test.txt file is created so that not everybody
installing geopandas is required to install the packages for testing, psycopg2
in this case.
Introduce type testing for GeoDataFrame.
Add tests for boolean index.
GeoDataFrame.__getitem__(key) returns the Geo* equivalent class when a
'geometry' column is present.
The following are True when df is a GeoDataFrame:
type(df['geometry']) is GeoSeries
type(df['column']) is Series
type(df[['column1', 'column2', 'geometry']]) is GeoDataFrame
type(df[['column1', 'column2']]) is DataFrame