23 #ifndef vtkGeoJSONFeature_h
24 #define vtkGeoJSONFeature_h
28 #include "vtkIOGeoJSONModule.h"
29 #include "vtk_jsoncpp.h"
34 #define GeoJSON_POINT "Point"
35 #define GeoJSON_MULTI_POINT "MultiPoint"
36 #define GeoJSON_LINE_STRING "LineString"
37 #define GeoJSON_MULTI_LINE_STRING "MultiLineString"
38 #define GeoJSON_POLYGON "Polygon"
39 #define GeoJSON_MULTI_POLYGON "MultiPolygon"
40 #define GeoJSON_GEOMETRY_COLLECTION "GeometryCollection"
55 vtkSetMacro(OutlinePolygons,
bool);
56 vtkGetMacro(OutlinePolygons,
bool);
57 vtkBooleanMacro(OutlinePolygons,
bool);
general representation of visualization data
Represents GeoJSON feature geometry & properties.
vtkPolyData * ExtractMultiLineString(const Json::Value &coordinates, vtkPolyData *outputData)
void InsertFeatureProperties(vtkPolyData *outputData)
char * FeatureId
Id of current GeoJSON feature being parsed.
bool IsPoint(const Json::Value &root)
Check if the root contains corresponding appropriate geometry in the Jsoncpp root.
bool IsPolygon(const Json::Value &root)
virtual void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void ExtractGeoJSONFeature(const Json::Value &root, vtkPolyData *outputData)
Extract the geometry corresponding to the geoJSON feature stored at root Assign any feature propertie...
bool IsMultiLineString(const Json::Value &root)
vtkPolyData * ExtractPolygon(const Json::Value &coordinates, vtkPolyData *outputData)
Json::Value featureRoot
Json::Value featureRoot corresponds to the root of the geoJSON feature from which the geometry and pr...
bool IsMultiPoint(const Json::Value &root)
bool CreatePoint(const Json::Value &coordinates, double point[3])
Point[] from its JSON equivalent.
bool IsLineString(const Json::Value &root)
vtkPolyData * ExtractMultiPolygon(const Json::Value &coordinates, vtkPolyData *outputData)
vtkPolyData * ExtractLineString(const Json::Value &coordinates, vtkPolyData *outputData)
vtkPolyData * ExtractMultiPoint(const Json::Value &coordinates, vtkPolyData *outputData)
extractMultiXXXX extracts an array of geometries XXXX into the outputData
bool OutlinePolygons
Set/get option to generate the border outlining each polygon, so that the output cells are polyine da...
static vtkGeoJSONFeature * New()
~vtkGeoJSONFeature() override
void ExtractGeoJSONFeatureGeometry(const Json::Value &root, vtkPolyData *outputData)
Extract geoJSON geometry into vtkPolyData *.
vtkPolyData * ExtractPoint(const Json::Value &coordinates, vtkPolyData *outputData)
In extractXXXX() Extract geoJSON geometries XXXX into outputData.
bool IsMultiPolygon(const Json::Value &root)
a simple class to control print indentation
concrete dataset represents vertices, lines, polygons, and triangle strips