Fire Core  8.0.0.alpha
GIS framework per tutti gli usi
 Tutto Classi Namespace Funzioni Variabili Ridefinizioni di tipo (typedef) Tipi enumerati (enum) Valori del tipo enumerato Friend
GeometryType.hpp
1 // Copyright 2015 GEOSYSTEMS SRL
2 // All Rights Reserved.
3 
4 #ifndef FIRE_GEAR_GEOM_GEOMETRYTYPE_HPP_INCLUDED
5 #define FIRE_GEAR_GEOM_GEOMETRYTYPE_HPP_INCLUDED
6 
7 #include <string>
8 
15 namespace fire {
22 namespace gear {
29 namespace geom {
36 namespace GeometryType {
44  Unknown,
45  Point,
46  LineString,
47  LinearRing,
48  Polygon,
50  MultiPoint,
53 };
70 inline std::string toString(const GeometryType& geometryType) {
71  std::string value = "";
72  try {
73  switch (geometryType) {
74  case Unknown: {
75  value = "Unknown";
76  break;
77  }
78  case Point: {
79  value = "Point";
80  break;
81  }
82  case LineString: {
83  value = "LineString";
84  break;
85  }
86  case LinearRing: {
87  value = "LinearRing";
88  break;
89  }
90  case Polygon: {
91  value = "Polygon";
92  break;
93  }
94  case GeometryCollection: {
95  value = "GeometryCollection";
96  break;
97  }
98  case MultiPoint: {
99  value = "MultiPoint";
100  break;
101  }
102  case MultiLineString: {
103  value = "MultiLineString";
104  break;
105  }
106  case MultiPolygon: {
107  value = "MultiPolygon";
108  break;
109  }
110  }
111  } catch (const std::exception& exception) {
112  throw;
113  }
114  return value;
115 }
132 inline GeometryType fromString(const std::string& string) {
133  GeometryType value = Unknown;
134  try {
135  if (string == "Unknown") {
136  value = Unknown;
137  } else if (string == "Point") {
138  value = Point;
139  } else if (string == "LineString") {
140  value = LineString;
141  } else if (string == "LinearRing") {
142  value = LinearRing;
143  } else if (string == "Polygon") {
144  value = Polygon;
145  } else if (string == "GeometryCollection") {
146  value = GeometryCollection;
147  } else if (string == "MultiPoint") {
148  value = MultiPoint;
149  } else if (string == "MultiLineString") {
150  value = MultiLineString;
151  } else if (string == "MultiPolygon") {
152  value = MultiPolygon;
153  } else {
154  value = Unknown;
155  }
156  } catch (const std::exception& exception) {
157  throw;
158  }
159  return value;
160 }
161 } // namespace GeometryType
162 } // namespace geom
163 } // namespace gear
164 } // namespace fire
165 
166 #endif
Definition: Polygon.hpp:50
std::string toString(const GeometryType &geometryType)
Definition: GeometryType.hpp:70
Definition: GeometryCollection.hpp:51
GeometryType fromString(const std::string &string)
Definition: GeometryType.hpp:132
Definition: LinearRing.hpp:47
Definition: MultiLineString.hpp:48
GeometryType
Definition: GeometryType.hpp:43
Definition: Point.hpp:48
Definition: LineString.hpp:48
Definition: MultiPolygon.hpp:48
Definition: MultiPoint.hpp:48