Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions CHANGELOG.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
0.13.1
- Bug fix for io.read_features with Fiona 1.8+

0.13.0
- Require Rasterio>=1.0
- Fix buffer logic for boxify_points (#171)
Expand Down
3 changes: 1 addition & 2 deletions requirements_dev.txt
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
# https://github.com/pytest-dev/pytest/issues/1043 and 1032
pytest>=3.0
pytest>=4.0

coverage
simplejson
git+git://github.com/mverteuil/pytest-ipdb.git
twine
numpydoc
pytest-cov
2 changes: 1 addition & 1 deletion setup.cfg
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# content of setup.cfg
[pytest]
[tool:pytest]
norecursedirs = examples* src* scripts* docs*
# addopts = --verbose -rf --ipdb --maxfail=1

2 changes: 1 addition & 1 deletion src/rasterstats/_version.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
__version__ = "0.13.0"
__version__ = "0.13.1"
10 changes: 8 additions & 2 deletions src/rasterstats/io.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import json
import math
import fiona
from fiona.errors import DriverError
import rasterio
import warnings
from rasterio.transform import guard_transform
Expand All @@ -14,6 +15,10 @@
from shapely.errors import ReadingError
except:
from shapely.geos import ReadingError
try:
from json.decoder import JSONDecodeError
except ImportError:
JSONDecodeError = ValueError
from shapely import wkt, wkb
from collections import Iterable, Mapping

Expand Down Expand Up @@ -76,6 +81,7 @@ def parse_feature(obj):

def read_features(obj, layer=0):
features_iter = None

if isinstance(obj, string_types):
try:
# test it as fiona data source
Expand All @@ -88,14 +94,14 @@ def fiona_generator(obj):
yield feature

features_iter = fiona_generator(obj)
except (AssertionError, TypeError, IOError, OSError):
except (AssertionError, TypeError, IOError, OSError, DriverError, UnicodeDecodeError):
try:
mapping = json.loads(obj)
if 'type' in mapping and mapping['type'] == 'FeatureCollection':
features_iter = mapping['features']
elif mapping['type'] in geom_types + ['Feature']:
features_iter = [parse_feature(mapping)]
except ValueError:
except (ValueError, JSONDecodeError):
# Single feature-like string
features_iter = [parse_feature(obj)]
elif isinstance(obj, Mapping):
Expand Down