1 #include "core/geometry.hpp"
3 #include <ogrsf_frmts.h>
4 #include <boost/geometry.hpp>
5 #include <boost/geometry/geometries/geometries.hpp>
10 #include "boost/geometry/extensions/gis/io/wkb/read_wkb.hpp"
11 #include "boost/geometry/extensions/gis/io/wkb/write_wkb.hpp"
15 os<< std::setprecision(12) << boost::geometry::wkt(rhs.line);
20 int binary_size = line->WkbSize();
21 std::vector<unsigned char> wkb(binary_size);
23 line->exportToWkb(wkbNDR,&wkb[0]);
25 boost::geometry::read_wkb(wkb.begin(),wkb.end(),l.
get_geometry());
30 const OGRMultiLineString *mline){
32 if (!mline->IsEmpty() && mline->getNumGeometries()>0){
33 const OGRGeometry *line = mline->getGeometryRef(0);
34 int binary_size = line->WkbSize();
35 std::vector<unsigned char> wkb(binary_size);
36 line->exportToWkb(wkbNDR,&wkb[0]);
37 boost::geometry::read_wkb(wkb.begin(),wkb.end(),l.
get_geometry());
49 std::vector<unsigned char> wkb;
51 OGRGeometry *poGeometry;
52 OGRGeometryFactory::createFromWkb(&wkb[0], NULL, &poGeometry);
53 return (OGRLineString *) poGeometry;
57 std::vector<unsigned char> wkb;
58 boost::geometry::write_wkb(p,std::back_inserter(wkb));
59 OGRGeometry *poGeometry;
60 OGRGeometryFactory::createFromWkb(&wkb[0], NULL, &poGeometry);
61 return (OGRPoint *) poGeometry;