NGen
|
Classes | |
class | CollectionFeature |
class | FeatureBase |
Represents an individual feature within a Geojson definition. More... | |
class | FeatureCollection |
class | FeatureVisitor |
An abstract class used to operate on the children of FeatureBase. More... | |
class | JSONProperty |
@TODO: Convert JSONProperty into a variant of the supported types More... | |
class | LineStringFeature |
struct | List |
Struct wrapping a vector of JSONProperty representing a JSON list. More... | |
class | MultiLineStringFeature |
class | MultiPointFeature |
class | MultiPolygonFeature |
struct | Object |
Struct wrapping a nested PropertyMap representing a JSON object. More... | |
class | PointFeature |
class | PolygonFeature |
Represents a feature based around a polygon defining an area. More... | |
Typedefs | |
typedef std::shared_ptr< FeatureCollection > | GeoJSON |
Easy short-hand for a smart pointer to a FeatureCollection. | |
typedef std::shared_ptr< FeatureBase > | Feature |
An easy name for a smart pointer for FeatureBase and its children. | |
typedef std::vector< Feature > | FeatureList |
Shorthand for a collection of pointers to Features. | |
typedef bg::model::point< double, 2, bg::cs::geographic< bg::degree > > | coordinate_t |
A two dimensional point in geographic degrees. | |
typedef bg::model::linestring< coordinate_t > | linestring_t |
A line made up of points in geographic degrees. | |
typedef bg::model::polygon< coordinate_t > | polygon_t |
A polygon made up of points in geographic degrees. | |
typedef bg::model::multi_point< coordinate_t > | multipoint_t |
typedef bg::model::multi_linestring< linestring_t > | multilinestring_t |
typedef bg::model::multi_polygon< polygon_t > | multipolygon_t |
typedef std::vector< std::vector< double > > | two_dimensional_coordinates |
A two dimensional matrix of doubles. | |
typedef std::vector< std::vector< std::vector< double > > > | three_dimensional_coordinates |
A three dimensional matrix of doubles. | |
typedef std::vector< std::vector< std::vector< std::vector< double > > > > | four_dimensional_coordinates |
A four dimensional matrix of doubles. | |
typedef boost::variant< coordinate_t, linestring_t, polygon_t, multipoint_t, multilinestring_t, multipolygon_t > | geometry |
typedef std::map< std::string, JSONProperty > | PropertyMap |
Shorthand for a mapping between strings and properties. | |
using | PropertyVariant |
Enumerations | |
enum class | FeatureType { None , Point , LineString , Polygon , MultiPoint , MultiLineString , MultiPolygon , GeometryCollection } |
Describes a type of features. More... | |
enum class | JSONGeometryType { None , LineString , Point , Polygon , MultiLineString , MultiPoint , MultiPolygon } |
Represents the type of geometry to be represented within a JSONGeometry. More... | |
enum class | PropertyType { Natural , Real , String , Boolean , List , Object } |
Defines the different types of properties that are stored within a JSON property. More... | |
Functions | |
static coordinate_t | build_point (boost::property_tree::ptree &tree) |
Creates a single boost geometry point from the values in a boost property tree. | |
static linestring_t | build_linestring (boost::property_tree::ptree &tree) |
Reads a ptree entry and converts it into a linestring. | |
static polygon_t | build_polygon (boost::property_tree::ptree &tree) |
static multipoint_t | build_multipoint (boost::property_tree::ptree &tree) |
static multilinestring_t | build_multilinestring (boost::property_tree::ptree &tree) |
static multipolygon_t | build_multipolygon (boost::property_tree::ptree &tree) |
static geometry | build_geometry (boost::property_tree::ptree &tree) |
static Feature | build_feature (boost::property_tree::ptree &tree) |
static GeoJSON | build_collection (const boost::property_tree::ptree &tree, const std::vector< std::string > &ids={}) |
helper function to build a GeoJSON FeatureCollection from a property tree | |
static GeoJSON | read (const std::string &file_path, const std::vector< std::string > &ids={}) |
static GeoJSON | read (std::stringstream &data, const std::vector< std::string > &ids={}) |
template<typename T > | |
static bool | contains (const std::vector< T * > &container, const T *value) |
template<typename T > | |
static bool | contains (const std::vector< T > &container, const T value) |
template<typename T > | |
T | get_shape (geometry geom) |
std::string | get_geometry_type (const geometry &geom) |
static coordinate_t | point (const double x, const double y) |
static linestring_t | linestring (const two_dimensional_coordinates &coordinates) |
static polygon_t | polygon (three_dimensional_coordinates &coordinates) |
static multipoint_t | multipoint (two_dimensional_coordinates &coordinates) |
static multilinestring_t | multilinestring (three_dimensional_coordinates &coordinates) |
static multipolygon_t | multipolygon (four_dimensional_coordinates &coordinates) |
static std::string | get_propertytype_name (PropertyType &&property_type) |
typedef bg::model::point<double, 2, bg::cs::geographic<bg::degree> > geojson::coordinate_t |
A two dimensional point in geographic degrees.
typedef std::shared_ptr<FeatureBase> geojson::Feature |
An easy name for a smart pointer for FeatureBase and its children.
typedef std::vector<Feature> geojson::FeatureList |
Shorthand for a collection of pointers to Features.
typedef std::vector<std::vector<std::vector<std::vector<double> > > > geojson::four_dimensional_coordinates |
A four dimensional matrix of doubles.
typedef std::shared_ptr<FeatureCollection> geojson::GeoJSON |
Easy short-hand for a smart pointer to a FeatureCollection.
typedef boost::variant<coordinate_t, linestring_t, polygon_t, multipoint_t, multilinestring_t, multipolygon_t> geojson::geometry |
typedef bg::model::linestring<coordinate_t> geojson::linestring_t |
A line made up of points in geographic degrees.
typedef bg::model::multi_linestring<linestring_t> geojson::multilinestring_t |
typedef bg::model::multi_point<coordinate_t> geojson::multipoint_t |
typedef bg::model::multi_polygon<polygon_t> geojson::multipolygon_t |
typedef bg::model::polygon<coordinate_t> geojson::polygon_t |
A polygon made up of points in geographic degrees.
typedef std::map<std::string, JSONProperty> geojson::PropertyMap |
Shorthand for a mapping between strings and properties.
using geojson::PropertyVariant |
typedef std::vector<std::vector<std::vector<double> > > geojson::three_dimensional_coordinates |
A three dimensional matrix of doubles.
typedef std::vector<std::vector<double> > geojson::two_dimensional_coordinates |
A two dimensional matrix of doubles.
|
strong |
Describes a type of features.
|
strong |
|
strong |
Defines the different types of properties that are stored within a JSON property.
|
static |
helper function to build a GeoJSON FeatureCollection from a property tree
tree | boost::property_tree::ptree holding the parsed GeoJSON |
ids | optional subset of string feature ids, only features in tree with these ids will be in the collection |
|
static |
References build_geometry(), GeometryCollection, LineString, MultiLineString, MultiPoint, MultiPolygon, None, Point, and Polygon.
|
static |
References build_linestring(), build_multilinestring(), build_multipoint(), build_multipolygon(), build_point(), and build_polygon().
Referenced by build_feature().
|
static |
Reads a ptree entry and converts it into a linestring.
The input should be a boost property tree that looks like:
tree | A property tree node describing a line strig |
References point().
Referenced by build_geometry().
|
static |
References linestring(), and point().
Referenced by build_geometry().
|
static |
References point().
Referenced by build_geometry().
|
static |
References point(), and polygon().
Referenced by build_geometry().
|
static |
Creates a single boost geometry point from the values in a boost property tree.
tree | A boost geometry tree that should contain the properties of a single point |
References point().
Referenced by build_geometry().
|
static |
References polygon().
Referenced by build_geometry().
|
static |
Referenced by geojson::FeatureBase::add_destination_feature(), geojson::FeatureBase::add_neighbor_feature(), geojson::FeatureBase::get_contributor_count(), geojson::FeatureBase::operator==(), geojson::FeatureCollection::set_ids(), geojson::FeatureCollection::set_ids_from_member(), and geojson::FeatureCollection::set_ids_from_property().
|
static |
|
inline |
Referenced by geojson::FeatureBase::geometry(), geojson::FeatureBase::geometry(), geojson::CollectionFeature::linestring(), geojson::CollectionFeature::linestrings(), geojson::CollectionFeature::multilinestring(), geojson::CollectionFeature::multipoint(), geojson::CollectionFeature::multipolygon(), geojson::CollectionFeature::point(), geojson::CollectionFeature::points(), geojson::CollectionFeature::polygon(), and geojson::CollectionFeature::polygons().
|
inlinestatic |
References Boolean, List, Natural, Real, and String.
Referenced by geojson::JSONProperty::as_boolean(), geojson::JSONProperty::as_list(), geojson::JSONProperty::as_natural_number(), geojson::JSONProperty::as_real_number(), geojson::JSONProperty::as_string(), geojson::JSONProperty::at(), geojson::JSONProperty::get_values(), geojson::JSONProperty::keys(), and realization::Bmi_Module_Formulation::set_initial_bmi_parameters().
T geojson::get_shape | ( | geometry | geom | ) |
|
static |
Referenced by geojson::LineStringFeature::LineStringFeature(), build_multilinestring(), and multilinestring().
|
static |
References linestring().
Referenced by geojson::MultiLineStringFeature::MultiLineStringFeature().
|
static |
References point().
Referenced by geojson::MultiPointFeature::MultiPointFeature().
|
static |
References point(), and polygon().
Referenced by geojson::MultiPolygonFeature::MultiPolygonFeature().
|
static |
Referenced by build_linestring(), build_multilinestring(), build_multipoint(), build_multipolygon(), build_point(), multipoint(), and multipolygon().
|
static |
References polygon().
Referenced by geojson::PolygonFeature::PolygonFeature(), Network_Test::add_catchment(), build_multipolygon(), build_polygon(), multipolygon(), and polygon().
|
static |
Referenced by MultiLayerParserTest::SetUp().
|
static |