23 #ifndef vtkGeoJSONFeature_h
24 #define vtkGeoJSONFeature_h
27 #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);
64 void ExtractGeoJSONFeature(
const Json::Value& root,
vtkPolyData *outputData);
90 void ExtractGeoJSONFeatureGeometry(
const Json::Value& root,
97 vtkPolyData *ExtractPoint(
const Json::Value& coordinates,
99 vtkPolyData *ExtractLineString(
const Json::Value& coordinates,
101 vtkPolyData *ExtractPolygon(
const Json::Value& coordinates,
109 vtkPolyData *ExtractMultiPoint(
const Json::Value& coordinates,
111 vtkPolyData *ExtractMultiLineString(
const Json::Value& coordinates,
113 vtkPolyData *ExtractMultiPolygon(
const Json::Value& coordinates,
122 bool IsPoint(
const Json::Value& root);
123 bool IsMultiPoint(
const Json::Value& root);
124 bool IsLineString(
const Json::Value& root);
125 bool IsMultiLineString(
const Json::Value& root);
126 bool IsPolygon(
const Json::Value& root);
127 bool IsMultiPolygon(
const Json::Value& root);
133 bool CreatePoint(
const Json::Value& coordinates,
double point[3]);
135 void InsertFeatureProperties(
vtkPolyData *outputData);
142 #endif // vtkGeoJSONFeature_h