00001
00002 #ifndef GEOGRAPHIC_MSGS_SERVICE_GETGEOGRAPHICMAP_H
00003 #define GEOGRAPHIC_MSGS_SERVICE_GETGEOGRAPHICMAP_H
00004 #include <string>
00005 #include <vector>
00006 #include <map>
00007 #include <ostream>
00008 #include "ros/serialization.h"
00009 #include "ros/builtin_message_traits.h"
00010 #include "ros/message_operations.h"
00011 #include "ros/time.h"
00012
00013 #include "ros/macros.h"
00014
00015 #include "ros/assert.h"
00016
00017 #include "ros/service_traits.h"
00018
00019 #include "geographic_msgs/BoundingBox.h"
00020
00021
00022 #include "geographic_msgs/GeographicMap.h"
00023
00024 namespace geographic_msgs
00025 {
00026 template <class ContainerAllocator>
00027 struct GetGeographicMapRequest_ {
00028 typedef GetGeographicMapRequest_<ContainerAllocator> Type;
00029
00030 GetGeographicMapRequest_()
00031 : url()
00032 , bounds()
00033 {
00034 }
00035
00036 GetGeographicMapRequest_(const ContainerAllocator& _alloc)
00037 : url(_alloc)
00038 , bounds(_alloc)
00039 {
00040 }
00041
00042 typedef std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > _url_type;
00043 std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > url;
00044
00045 typedef ::geographic_msgs::BoundingBox_<ContainerAllocator> _bounds_type;
00046 ::geographic_msgs::BoundingBox_<ContainerAllocator> bounds;
00047
00048
00049 private:
00050 static const char* __s_getDataType_() { return "geographic_msgs/GetGeographicMapRequest"; }
00051 public:
00052 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); }
00053
00054 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); }
00055
00056 private:
00057 static const char* __s_getMD5Sum_() { return "bcb6c922f4e40d10bb092a499c762a4e"; }
00058 public:
00059 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); }
00060
00061 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); }
00062
00063 private:
00064 static const char* __s_getServerMD5Sum_() { return "325e956ec3ca3be5597312537c09d9f8"; }
00065 public:
00066 ROS_DEPRECATED static const std::string __s_getServerMD5Sum() { return __s_getServerMD5Sum_(); }
00067
00068 ROS_DEPRECATED const std::string __getServerMD5Sum() const { return __s_getServerMD5Sum_(); }
00069
00070 private:
00071 static const char* __s_getMessageDefinition_() { return "\n\
00072 \n\
00073 string url\n\
00074 \n\
00075 \n\
00076 \n\
00077 BoundingBox bounds\n\
00078 \n\
00079 \n\
00080 ================================================================================\n\
00081 MSG: geographic_msgs/BoundingBox\n\
00082 # Two-dimensional geographic map bounding box. \n\
00083 \n\
00084 # Latitudes are in degrees [-90 .. +90]. Positive is north of equator;\n\
00085 # negative is south.\n\
00086 \n\
00087 # Longitudes are in degrees [-180 .. +180]. Positive is east of prime\n\
00088 # meridian; negative is west. At the poles, latitude is -90 or +90,\n\
00089 # and longitude is irrelevant, but must be in range.\n\
00090 \n\
00091 # If all bounds are zeros, the bounding box includes the whole world.\n\
00092 \n\
00093 float64 min_latitude\n\
00094 float64 min_longitude\n\
00095 float64 max_latitude\n\
00096 float64 max_longitude\n\
00097 \n\
00098 "; }
00099 public:
00100 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); }
00101
00102 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); }
00103
00104 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const
00105 {
00106 ros::serialization::OStream stream(write_ptr, 1000000000);
00107 ros::serialization::serialize(stream, url);
00108 ros::serialization::serialize(stream, bounds);
00109 return stream.getData();
00110 }
00111
00112 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr)
00113 {
00114 ros::serialization::IStream stream(read_ptr, 1000000000);
00115 ros::serialization::deserialize(stream, url);
00116 ros::serialization::deserialize(stream, bounds);
00117 return stream.getData();
00118 }
00119
00120 ROS_DEPRECATED virtual uint32_t serializationLength() const
00121 {
00122 uint32_t size = 0;
00123 size += ros::serialization::serializationLength(url);
00124 size += ros::serialization::serializationLength(bounds);
00125 return size;
00126 }
00127
00128 typedef boost::shared_ptr< ::geographic_msgs::GetGeographicMapRequest_<ContainerAllocator> > Ptr;
00129 typedef boost::shared_ptr< ::geographic_msgs::GetGeographicMapRequest_<ContainerAllocator> const> ConstPtr;
00130 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00131 };
00132 typedef ::geographic_msgs::GetGeographicMapRequest_<std::allocator<void> > GetGeographicMapRequest;
00133
00134 typedef boost::shared_ptr< ::geographic_msgs::GetGeographicMapRequest> GetGeographicMapRequestPtr;
00135 typedef boost::shared_ptr< ::geographic_msgs::GetGeographicMapRequest const> GetGeographicMapRequestConstPtr;
00136
00137
00138 template <class ContainerAllocator>
00139 struct GetGeographicMapResponse_ {
00140 typedef GetGeographicMapResponse_<ContainerAllocator> Type;
00141
00142 GetGeographicMapResponse_()
00143 : success(false)
00144 , status()
00145 , map()
00146 {
00147 }
00148
00149 GetGeographicMapResponse_(const ContainerAllocator& _alloc)
00150 : success(false)
00151 , status(_alloc)
00152 , map(_alloc)
00153 {
00154 }
00155
00156 typedef uint8_t _success_type;
00157 uint8_t success;
00158
00159 typedef std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > _status_type;
00160 std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > status;
00161
00162 typedef ::geographic_msgs::GeographicMap_<ContainerAllocator> _map_type;
00163 ::geographic_msgs::GeographicMap_<ContainerAllocator> map;
00164
00165
00166 private:
00167 static const char* __s_getDataType_() { return "geographic_msgs/GetGeographicMapResponse"; }
00168 public:
00169 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); }
00170
00171 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); }
00172
00173 private:
00174 static const char* __s_getMD5Sum_() { return "76dd945577593220b7bed16a38543c19"; }
00175 public:
00176 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); }
00177
00178 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); }
00179
00180 private:
00181 static const char* __s_getServerMD5Sum_() { return "325e956ec3ca3be5597312537c09d9f8"; }
00182 public:
00183 ROS_DEPRECATED static const std::string __s_getServerMD5Sum() { return __s_getServerMD5Sum_(); }
00184
00185 ROS_DEPRECATED const std::string __getServerMD5Sum() const { return __s_getServerMD5Sum_(); }
00186
00187 private:
00188 static const char* __s_getMessageDefinition_() { return "\n\
00189 bool success\n\
00190 string status\n\
00191 \n\
00192 \n\
00193 geographic_msgs/GeographicMap map\n\
00194 \n\
00195 \n\
00196 ================================================================================\n\
00197 MSG: geographic_msgs/GeographicMap\n\
00198 # Geographic map for a specified region.\n\
00199 \n\
00200 Header header # stamp specifies time\n\
00201 # frame_id (normally /map)\n\
00202 \n\
00203 UniqueID id # identifier for this map\n\
00204 BoundingBox bounds # 2D bounding box containing map\n\
00205 \n\
00206 WayPoint[] points # way-points\n\
00207 MapFeature[] features # map features\n\
00208 KeyValue[] props # map properties\n\
00209 \n\
00210 ================================================================================\n\
00211 MSG: std_msgs/Header\n\
00212 # Standard metadata for higher-level stamped data types.\n\
00213 # This is generally used to communicate timestamped data \n\
00214 # in a particular coordinate frame.\n\
00215 # \n\
00216 # sequence ID: consecutively increasing ID \n\
00217 uint32 seq\n\
00218 #Two-integer timestamp that is expressed as:\n\
00219 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00220 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00221 # time-handling sugar is provided by the client library\n\
00222 time stamp\n\
00223 #Frame this data is associated with\n\
00224 # 0: no frame\n\
00225 # 1: global frame\n\
00226 string frame_id\n\
00227 \n\
00228 ================================================================================\n\
00229 MSG: geographic_msgs/UniqueID\n\
00230 # A universally unique identifier (UUID) for a geographic feature.\n\
00231 #\n\
00232 # http://en.wikipedia.org/wiki/Universally_unique_identifier\n\
00233 # http://tools.ietf.org/html/rfc4122.html\n\
00234 #\n\
00235 # For simplicity and human readability, the UUID is represented as a\n\
00236 # string of hex digits and dashes.\n\
00237 #\n\
00238 # UUID generation is up to the programmer, but the intent is for\n\
00239 # matching features within a domain such as Open Street Map to yield\n\
00240 # the same UUID. The recommended method is RFC 4122 variant 5,\n\
00241 # computing the SHA-1 hash of a URL encoded using the map source. For\n\
00242 # example:\n\
00243 #\n\
00244 # http://openstreetmap.org/node/NUMBER\n\
00245 # http://openstreetmap.org/way/NUMBER\n\
00246 # http://openstreetmap.org/relation/NUMBER\n\
00247 #\n\
00248 # Here NUMBER is the decimal representation of the OSM node, way, or\n\
00249 # relation ID without leading zeros.\n\
00250 #\n\
00251 # Other map sources should use similar conventions.\n\
00252 \n\
00253 string uuid # format: 01234567-89ab-cdef-0123-456789abcdef\n\
00254 \n\
00255 ================================================================================\n\
00256 MSG: geographic_msgs/BoundingBox\n\
00257 # Two-dimensional geographic map bounding box. \n\
00258 \n\
00259 # Latitudes are in degrees [-90 .. +90]. Positive is north of equator;\n\
00260 # negative is south.\n\
00261 \n\
00262 # Longitudes are in degrees [-180 .. +180]. Positive is east of prime\n\
00263 # meridian; negative is west. At the poles, latitude is -90 or +90,\n\
00264 # and longitude is irrelevant, but must be in range.\n\
00265 \n\
00266 # If all bounds are zeros, the bounding box includes the whole world.\n\
00267 \n\
00268 float64 min_latitude\n\
00269 float64 min_longitude\n\
00270 float64 max_latitude\n\
00271 float64 max_longitude\n\
00272 \n\
00273 ================================================================================\n\
00274 MSG: geographic_msgs/WayPoint\n\
00275 # Way-point element for a geographic map.\n\
00276 \n\
00277 UniqueID id # Unique way-point identifier\n\
00278 GeoPoint position # Position relative to WGS 84 ellipsoid\n\
00279 KeyValue[] props # Key/value properties for this point\n\
00280 \n\
00281 ================================================================================\n\
00282 MSG: geographic_msgs/GeoPoint\n\
00283 # Geographic point, using the WGS 84 reference ellipsoid.\n\
00284 \n\
00285 # Latitude [degrees]. Positive is north of equator; negative is south\n\
00286 # (-90 <= latitude <= +90).\n\
00287 float64 latitude\n\
00288 \n\
00289 # Longitude [degrees]. Positive is east of prime meridian; negative is\n\
00290 # west (-180 <= longitude <= +180). At the poles, latitude is -90 or\n\
00291 # +90, and longitude is irrelevant, but must be in range.\n\
00292 float64 longitude\n\
00293 \n\
00294 # Altitude [m]. Positive is above the WGS 84 ellipsoid (NaN if unspecified).\n\
00295 float64 altitude\n\
00296 \n\
00297 ================================================================================\n\
00298 MSG: geographic_msgs/KeyValue\n\
00299 # Geographic map tag (key, value) pair\n\
00300 #\n\
00301 # This is equivalent to diagnostic_msgs/KeyValue, repeated here to\n\
00302 # avoid introducing a trivial stack dependency.\n\
00303 \n\
00304 string key # tag label\n\
00305 string value # corresponding value\n\
00306 \n\
00307 ================================================================================\n\
00308 MSG: geographic_msgs/MapFeature\n\
00309 # Geographic map feature.\n\
00310 #\n\
00311 # A list of WayPoint IDs for features like streets, highways, hiking\n\
00312 # trails, the outlines of buildings and parking lots in sequential\n\
00313 # order.\n\
00314 #\n\
00315 # Feature lists may also contain other feature lists as members.\n\
00316 \n\
00317 UniqueID id # Unique feature identifier\n\
00318 UniqueID[] components # Sequence of feature components\n\
00319 KeyValue[] props # Key/value properties for this feature\n\
00320 \n\
00321 "; }
00322 public:
00323 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); }
00324
00325 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); }
00326
00327 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const
00328 {
00329 ros::serialization::OStream stream(write_ptr, 1000000000);
00330 ros::serialization::serialize(stream, success);
00331 ros::serialization::serialize(stream, status);
00332 ros::serialization::serialize(stream, map);
00333 return stream.getData();
00334 }
00335
00336 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr)
00337 {
00338 ros::serialization::IStream stream(read_ptr, 1000000000);
00339 ros::serialization::deserialize(stream, success);
00340 ros::serialization::deserialize(stream, status);
00341 ros::serialization::deserialize(stream, map);
00342 return stream.getData();
00343 }
00344
00345 ROS_DEPRECATED virtual uint32_t serializationLength() const
00346 {
00347 uint32_t size = 0;
00348 size += ros::serialization::serializationLength(success);
00349 size += ros::serialization::serializationLength(status);
00350 size += ros::serialization::serializationLength(map);
00351 return size;
00352 }
00353
00354 typedef boost::shared_ptr< ::geographic_msgs::GetGeographicMapResponse_<ContainerAllocator> > Ptr;
00355 typedef boost::shared_ptr< ::geographic_msgs::GetGeographicMapResponse_<ContainerAllocator> const> ConstPtr;
00356 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00357 };
00358 typedef ::geographic_msgs::GetGeographicMapResponse_<std::allocator<void> > GetGeographicMapResponse;
00359
00360 typedef boost::shared_ptr< ::geographic_msgs::GetGeographicMapResponse> GetGeographicMapResponsePtr;
00361 typedef boost::shared_ptr< ::geographic_msgs::GetGeographicMapResponse const> GetGeographicMapResponseConstPtr;
00362
00363 struct GetGeographicMap
00364 {
00365
00366 typedef GetGeographicMapRequest Request;
00367 typedef GetGeographicMapResponse Response;
00368 Request request;
00369 Response response;
00370
00371 typedef Request RequestType;
00372 typedef Response ResponseType;
00373 };
00374 }
00375
00376 namespace ros
00377 {
00378 namespace message_traits
00379 {
00380 template<class ContainerAllocator> struct IsMessage< ::geographic_msgs::GetGeographicMapRequest_<ContainerAllocator> > : public TrueType {};
00381 template<class ContainerAllocator> struct IsMessage< ::geographic_msgs::GetGeographicMapRequest_<ContainerAllocator> const> : public TrueType {};
00382 template<class ContainerAllocator>
00383 struct MD5Sum< ::geographic_msgs::GetGeographicMapRequest_<ContainerAllocator> > {
00384 static const char* value()
00385 {
00386 return "bcb6c922f4e40d10bb092a499c762a4e";
00387 }
00388
00389 static const char* value(const ::geographic_msgs::GetGeographicMapRequest_<ContainerAllocator> &) { return value(); }
00390 static const uint64_t static_value1 = 0xbcb6c922f4e40d10ULL;
00391 static const uint64_t static_value2 = 0xbb092a499c762a4eULL;
00392 };
00393
00394 template<class ContainerAllocator>
00395 struct DataType< ::geographic_msgs::GetGeographicMapRequest_<ContainerAllocator> > {
00396 static const char* value()
00397 {
00398 return "geographic_msgs/GetGeographicMapRequest";
00399 }
00400
00401 static const char* value(const ::geographic_msgs::GetGeographicMapRequest_<ContainerAllocator> &) { return value(); }
00402 };
00403
00404 template<class ContainerAllocator>
00405 struct Definition< ::geographic_msgs::GetGeographicMapRequest_<ContainerAllocator> > {
00406 static const char* value()
00407 {
00408 return "\n\
00409 \n\
00410 string url\n\
00411 \n\
00412 \n\
00413 \n\
00414 BoundingBox bounds\n\
00415 \n\
00416 \n\
00417 ================================================================================\n\
00418 MSG: geographic_msgs/BoundingBox\n\
00419 # Two-dimensional geographic map bounding box. \n\
00420 \n\
00421 # Latitudes are in degrees [-90 .. +90]. Positive is north of equator;\n\
00422 # negative is south.\n\
00423 \n\
00424 # Longitudes are in degrees [-180 .. +180]. Positive is east of prime\n\
00425 # meridian; negative is west. At the poles, latitude is -90 or +90,\n\
00426 # and longitude is irrelevant, but must be in range.\n\
00427 \n\
00428 # If all bounds are zeros, the bounding box includes the whole world.\n\
00429 \n\
00430 float64 min_latitude\n\
00431 float64 min_longitude\n\
00432 float64 max_latitude\n\
00433 float64 max_longitude\n\
00434 \n\
00435 ";
00436 }
00437
00438 static const char* value(const ::geographic_msgs::GetGeographicMapRequest_<ContainerAllocator> &) { return value(); }
00439 };
00440
00441 }
00442 }
00443
00444
00445 namespace ros
00446 {
00447 namespace message_traits
00448 {
00449 template<class ContainerAllocator> struct IsMessage< ::geographic_msgs::GetGeographicMapResponse_<ContainerAllocator> > : public TrueType {};
00450 template<class ContainerAllocator> struct IsMessage< ::geographic_msgs::GetGeographicMapResponse_<ContainerAllocator> const> : public TrueType {};
00451 template<class ContainerAllocator>
00452 struct MD5Sum< ::geographic_msgs::GetGeographicMapResponse_<ContainerAllocator> > {
00453 static const char* value()
00454 {
00455 return "76dd945577593220b7bed16a38543c19";
00456 }
00457
00458 static const char* value(const ::geographic_msgs::GetGeographicMapResponse_<ContainerAllocator> &) { return value(); }
00459 static const uint64_t static_value1 = 0x76dd945577593220ULL;
00460 static const uint64_t static_value2 = 0xb7bed16a38543c19ULL;
00461 };
00462
00463 template<class ContainerAllocator>
00464 struct DataType< ::geographic_msgs::GetGeographicMapResponse_<ContainerAllocator> > {
00465 static const char* value()
00466 {
00467 return "geographic_msgs/GetGeographicMapResponse";
00468 }
00469
00470 static const char* value(const ::geographic_msgs::GetGeographicMapResponse_<ContainerAllocator> &) { return value(); }
00471 };
00472
00473 template<class ContainerAllocator>
00474 struct Definition< ::geographic_msgs::GetGeographicMapResponse_<ContainerAllocator> > {
00475 static const char* value()
00476 {
00477 return "\n\
00478 bool success\n\
00479 string status\n\
00480 \n\
00481 \n\
00482 geographic_msgs/GeographicMap map\n\
00483 \n\
00484 \n\
00485 ================================================================================\n\
00486 MSG: geographic_msgs/GeographicMap\n\
00487 # Geographic map for a specified region.\n\
00488 \n\
00489 Header header # stamp specifies time\n\
00490 # frame_id (normally /map)\n\
00491 \n\
00492 UniqueID id # identifier for this map\n\
00493 BoundingBox bounds # 2D bounding box containing map\n\
00494 \n\
00495 WayPoint[] points # way-points\n\
00496 MapFeature[] features # map features\n\
00497 KeyValue[] props # map properties\n\
00498 \n\
00499 ================================================================================\n\
00500 MSG: std_msgs/Header\n\
00501 # Standard metadata for higher-level stamped data types.\n\
00502 # This is generally used to communicate timestamped data \n\
00503 # in a particular coordinate frame.\n\
00504 # \n\
00505 # sequence ID: consecutively increasing ID \n\
00506 uint32 seq\n\
00507 #Two-integer timestamp that is expressed as:\n\
00508 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00509 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00510 # time-handling sugar is provided by the client library\n\
00511 time stamp\n\
00512 #Frame this data is associated with\n\
00513 # 0: no frame\n\
00514 # 1: global frame\n\
00515 string frame_id\n\
00516 \n\
00517 ================================================================================\n\
00518 MSG: geographic_msgs/UniqueID\n\
00519 # A universally unique identifier (UUID) for a geographic feature.\n\
00520 #\n\
00521 # http://en.wikipedia.org/wiki/Universally_unique_identifier\n\
00522 # http://tools.ietf.org/html/rfc4122.html\n\
00523 #\n\
00524 # For simplicity and human readability, the UUID is represented as a\n\
00525 # string of hex digits and dashes.\n\
00526 #\n\
00527 # UUID generation is up to the programmer, but the intent is for\n\
00528 # matching features within a domain such as Open Street Map to yield\n\
00529 # the same UUID. The recommended method is RFC 4122 variant 5,\n\
00530 # computing the SHA-1 hash of a URL encoded using the map source. For\n\
00531 # example:\n\
00532 #\n\
00533 # http://openstreetmap.org/node/NUMBER\n\
00534 # http://openstreetmap.org/way/NUMBER\n\
00535 # http://openstreetmap.org/relation/NUMBER\n\
00536 #\n\
00537 # Here NUMBER is the decimal representation of the OSM node, way, or\n\
00538 # relation ID without leading zeros.\n\
00539 #\n\
00540 # Other map sources should use similar conventions.\n\
00541 \n\
00542 string uuid # format: 01234567-89ab-cdef-0123-456789abcdef\n\
00543 \n\
00544 ================================================================================\n\
00545 MSG: geographic_msgs/BoundingBox\n\
00546 # Two-dimensional geographic map bounding box. \n\
00547 \n\
00548 # Latitudes are in degrees [-90 .. +90]. Positive is north of equator;\n\
00549 # negative is south.\n\
00550 \n\
00551 # Longitudes are in degrees [-180 .. +180]. Positive is east of prime\n\
00552 # meridian; negative is west. At the poles, latitude is -90 or +90,\n\
00553 # and longitude is irrelevant, but must be in range.\n\
00554 \n\
00555 # If all bounds are zeros, the bounding box includes the whole world.\n\
00556 \n\
00557 float64 min_latitude\n\
00558 float64 min_longitude\n\
00559 float64 max_latitude\n\
00560 float64 max_longitude\n\
00561 \n\
00562 ================================================================================\n\
00563 MSG: geographic_msgs/WayPoint\n\
00564 # Way-point element for a geographic map.\n\
00565 \n\
00566 UniqueID id # Unique way-point identifier\n\
00567 GeoPoint position # Position relative to WGS 84 ellipsoid\n\
00568 KeyValue[] props # Key/value properties for this point\n\
00569 \n\
00570 ================================================================================\n\
00571 MSG: geographic_msgs/GeoPoint\n\
00572 # Geographic point, using the WGS 84 reference ellipsoid.\n\
00573 \n\
00574 # Latitude [degrees]. Positive is north of equator; negative is south\n\
00575 # (-90 <= latitude <= +90).\n\
00576 float64 latitude\n\
00577 \n\
00578 # Longitude [degrees]. Positive is east of prime meridian; negative is\n\
00579 # west (-180 <= longitude <= +180). At the poles, latitude is -90 or\n\
00580 # +90, and longitude is irrelevant, but must be in range.\n\
00581 float64 longitude\n\
00582 \n\
00583 # Altitude [m]. Positive is above the WGS 84 ellipsoid (NaN if unspecified).\n\
00584 float64 altitude\n\
00585 \n\
00586 ================================================================================\n\
00587 MSG: geographic_msgs/KeyValue\n\
00588 # Geographic map tag (key, value) pair\n\
00589 #\n\
00590 # This is equivalent to diagnostic_msgs/KeyValue, repeated here to\n\
00591 # avoid introducing a trivial stack dependency.\n\
00592 \n\
00593 string key # tag label\n\
00594 string value # corresponding value\n\
00595 \n\
00596 ================================================================================\n\
00597 MSG: geographic_msgs/MapFeature\n\
00598 # Geographic map feature.\n\
00599 #\n\
00600 # A list of WayPoint IDs for features like streets, highways, hiking\n\
00601 # trails, the outlines of buildings and parking lots in sequential\n\
00602 # order.\n\
00603 #\n\
00604 # Feature lists may also contain other feature lists as members.\n\
00605 \n\
00606 UniqueID id # Unique feature identifier\n\
00607 UniqueID[] components # Sequence of feature components\n\
00608 KeyValue[] props # Key/value properties for this feature\n\
00609 \n\
00610 ";
00611 }
00612
00613 static const char* value(const ::geographic_msgs::GetGeographicMapResponse_<ContainerAllocator> &) { return value(); }
00614 };
00615
00616 }
00617 }
00618
00619 namespace ros
00620 {
00621 namespace serialization
00622 {
00623
00624 template<class ContainerAllocator> struct Serializer< ::geographic_msgs::GetGeographicMapRequest_<ContainerAllocator> >
00625 {
00626 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00627 {
00628 stream.next(m.url);
00629 stream.next(m.bounds);
00630 }
00631
00632 ROS_DECLARE_ALLINONE_SERIALIZER;
00633 };
00634 }
00635 }
00636
00637
00638 namespace ros
00639 {
00640 namespace serialization
00641 {
00642
00643 template<class ContainerAllocator> struct Serializer< ::geographic_msgs::GetGeographicMapResponse_<ContainerAllocator> >
00644 {
00645 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00646 {
00647 stream.next(m.success);
00648 stream.next(m.status);
00649 stream.next(m.map);
00650 }
00651
00652 ROS_DECLARE_ALLINONE_SERIALIZER;
00653 };
00654 }
00655 }
00656
00657 namespace ros
00658 {
00659 namespace service_traits
00660 {
00661 template<>
00662 struct MD5Sum<geographic_msgs::GetGeographicMap> {
00663 static const char* value()
00664 {
00665 return "325e956ec3ca3be5597312537c09d9f8";
00666 }
00667
00668 static const char* value(const geographic_msgs::GetGeographicMap&) { return value(); }
00669 };
00670
00671 template<>
00672 struct DataType<geographic_msgs::GetGeographicMap> {
00673 static const char* value()
00674 {
00675 return "geographic_msgs/GetGeographicMap";
00676 }
00677
00678 static const char* value(const geographic_msgs::GetGeographicMap&) { return value(); }
00679 };
00680
00681 template<class ContainerAllocator>
00682 struct MD5Sum<geographic_msgs::GetGeographicMapRequest_<ContainerAllocator> > {
00683 static const char* value()
00684 {
00685 return "325e956ec3ca3be5597312537c09d9f8";
00686 }
00687
00688 static const char* value(const geographic_msgs::GetGeographicMapRequest_<ContainerAllocator> &) { return value(); }
00689 };
00690
00691 template<class ContainerAllocator>
00692 struct DataType<geographic_msgs::GetGeographicMapRequest_<ContainerAllocator> > {
00693 static const char* value()
00694 {
00695 return "geographic_msgs/GetGeographicMap";
00696 }
00697
00698 static const char* value(const geographic_msgs::GetGeographicMapRequest_<ContainerAllocator> &) { return value(); }
00699 };
00700
00701 template<class ContainerAllocator>
00702 struct MD5Sum<geographic_msgs::GetGeographicMapResponse_<ContainerAllocator> > {
00703 static const char* value()
00704 {
00705 return "325e956ec3ca3be5597312537c09d9f8";
00706 }
00707
00708 static const char* value(const geographic_msgs::GetGeographicMapResponse_<ContainerAllocator> &) { return value(); }
00709 };
00710
00711 template<class ContainerAllocator>
00712 struct DataType<geographic_msgs::GetGeographicMapResponse_<ContainerAllocator> > {
00713 static const char* value()
00714 {
00715 return "geographic_msgs/GetGeographicMap";
00716 }
00717
00718 static const char* value(const geographic_msgs::GetGeographicMapResponse_<ContainerAllocator> &) { return value(); }
00719 };
00720
00721 }
00722 }
00723
00724 #endif // GEOGRAPHIC_MSGS_SERVICE_GETGEOGRAPHICMAP_H
00725