22 #ifndef vtkGeoJSONFeature_h
23 #define vtkGeoJSONFeature_h
26 #include "vtkIOGeoJSONModule.h"
28 #include "vtk_jsoncpp.h"
33 #define GeoJSON_POINT "Point"
34 #define GeoJSON_MULTI_POINT "MultiPoint"
35 #define GeoJSON_LINE_STRING "LineString"
36 #define GeoJSON_MULTI_LINE_STRING "MultiLineString"
37 #define GeoJSON_POLYGON "Polygon"
38 #define GeoJSON_MULTI_POLYGON "MultiPolygon"
39 #define GeoJSON_GEOMETRY_COLLECTION "GeometryCollection"
52 vtkSetMacro(OutlinePolygons,
bool);
53 vtkGetMacro(OutlinePolygons,
bool);
54 vtkBooleanMacro(OutlinePolygons,
bool);
59 void ExtractGeoJSONFeature(
const Json::Value& root,
vtkPolyData *outputData);
78 void ExtractGeoJSONFeatureGeometry(
const Json::Value& root,
84 vtkPolyData *ExtractPoint(
const Json::Value& coordinates,
86 vtkPolyData *ExtractLineString(
const Json::Value& coordinates,
88 vtkPolyData *ExtractPolygon(
const Json::Value& coordinates,
95 vtkPolyData *ExtractMultiPoint(
const Json::Value& coordinates,
97 vtkPolyData *ExtractMultiLineString(
const Json::Value& coordinates,
99 vtkPolyData *ExtractMultiPolygon(
const Json::Value& coordinates,
106 bool IsPoint(
const Json::Value& root);
107 bool IsMultiPoint(
const Json::Value& root);
108 bool IsLineString(
const Json::Value& root);
109 bool IsMultiLineString(
const Json::Value& root);
110 bool IsPolygon(
const Json::Value& root);
111 bool IsMultiPolygon(
const Json::Value& root);
115 bool CreatePoint(
const Json::Value& coordinates,
double point[3]);
117 void InsertFeatureProperties(
vtkPolyData *outputData);
124 #endif // vtkGeoJSONFeature_h
static vtkDataObject * New()
concrete dataset represents vertices, lines, polygons, and triangle strips
Represents GeoJSON feature geometry & properties.
a simple class to control print indentation
void PrintSelf(ostream &os, vtkIndent indent)
general representation of visualization data