diff --git a/plugins/input/ogr/ogr_datasource.cpp b/plugins/input/ogr/ogr_datasource.cpp index 8e02ece24..eeb786b7a 100644 --- a/plugins/input/ogr/ogr_datasource.cpp +++ b/plugins/input/ogr/ogr_datasource.cpp @@ -261,7 +261,13 @@ void ogr_datasource::init(mapnik::parameters const& params) else { OGREnvelope envelope; - layer->GetExtent(&envelope); + OGRErr e = layer->GetExtent(&envelope); + if (e == OGRERR_FAILURE) + { + std::ostringstream s; + s << "OGR Plugin: Extent missing for layer '" << layer->GetName() << "'. Use paramater to define a custom extent value."; + throw datasource_exception(s.str()); + } extent_.init(envelope.MinX, envelope.MinY, envelope.MaxX, envelope.MaxY); }