Giriş
Şu satırı dahil ederiz.
Şöyle yaparız read_wkt() metodu yerine kullanılabilir.
Şunları okuyabilir.
Şöyle yaparız.
Örnek
Elimizde bir polygon olsun.
Elimizde bir multipolygon olsun. Şöyle yaparız.
Şu satırı dahil ederiz.
#include <boost/geometry.hpp>
Şu satırı dahil ederiz.#include <boost/geometry/io/io.hpp>
read metoduŞöyle yaparız read_wkt() metodu yerine kullanılabilir.
namespace bg = boost::geometry;
namespace bgm = bg::model;
typedef bgm::polygon<bgm::d2::point_xy<double> > polygon;
polygon poly1, poly2;
bg::read<bg::format_wkt>(poly1, "POLYGON((0 0,0 1,1 1,1 0,0.05 0,0 0))");
bg::read<bg::format_wkt>(poly2, "POLYGON((0.5 -0.5,0.5 0.5,1.5 0.5,1.5 -0.5,0.5 -0.5))");
read_wkt metoduŞunları okuyabilir.
"POINT(1 2)";
"LINESTRING(0 0,2 2,3 1)";
"POLYGON((0 0,0 7,4 2,2 0,0 0))";
"BOX(0 0,3 3)";
"SEGMENT(1 0,3 4)";
Şunu okuyabilir.
"MULTIPOLYGON(((...,... ...,... ...,... ...,... ...,... ...,... )))";
PointŞöyle yaparız.
PointType point;boost::geometry::read_wkt("POINT(1 2)", point);
LineString
Şöyle yaparız.
LineStringType lineString;
boost::geometry::read_wkt("LINESTRING(0 0,2 2,3 1)",
lineString);
Polygon
Şöyle yaparız.
Box
Şöyle yaparız.
Şöyle yaparız.
PolygonType polygon;
boost::geometry::read_wkt("POLYGON((0 0,0 7,4 2,2 0,0 0))",
polygon);
Okuma işleminden sonra correct () metodu ile polygon'u düzeltmek gerekebilir.Box
Şöyle yaparız.
Şöyle yaparız.
BoxType box;
boost::geometry::read_wkt("BOX(0 0,3 3)", box);
Segment
SegmentType segment;
boost::geometry::read_wkt("SEGMENT(1 0,3 4)", e);
Multipolygon
MultiPolygonType polygon;
boost::geometry::read_wkt("MULTIPOLYGON(((...)))", polygon);
wkt metodu
Bir stream'e yazdırmak için kullanılır.Örnek
Elimizde bir polygon olsun.
typedef double base_type;
typedef bgm::d2::point_xy<base_type> point_type;
typedef bgm::polygon<point_type> polygon_type;
typedef bgm::multi_polygon<polygon_type> multipolygon_type;
polygon_type in = ...;
Şöyle yaparız.bg::correct(in);
std::cout << std::fixed << std::setprecision(3) << bg::wkt(in) << "\n";
Çıktı olarak şunu alırız.POLYGON((... ...,... ...,... ...,... ...,... ...))
ÖrnekElimizde bir multipolygon olsun. Şöyle yaparız.
MultiPolygonType polygon = ...;
std::cout << boost::geometry::wkt (polygon) << std::endl;
Çıktı olarak şunu alırız.MULTIPOLYGON(((... ...,... ...,... ...,... ...,... ...,... ...,... ...)))
Hiç yorum yok:
Yorum Gönder