Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
wiki:documentation:mini_curso:geom [2016/01/19 09:09] gribeiro created |
wiki:documentation:mini_curso:geom [2016/01/20 08:49] (current) gribeiro |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Geometry ====== | ====== Geometry ====== | ||
- | Script CMake: | + | **1.** [[:wiki:documentation:devguide:geometry_module|Link para documentação do Módulo Geometry]]. |
- | <code cmake> | + | |
+ | **2.** Script CMake: | ||
+ | <file cmake CMakeLists.txt> | ||
cmake_minimum_required(VERSION 2.8.12) | cmake_minimum_required(VERSION 2.8.12) | ||
Line 14: | Line 16: | ||
if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX OR (CMAKE_CXX_COMPILER MATCHES ".*clang") OR (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")) | if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX OR (CMAKE_CXX_COMPILER MATCHES ".*clang") OR (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")) | ||
- | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -pedantic -std=c++14") | + | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -pedantic -std=c++11") |
endif() | endif() | ||
Line 30: | Line 32: | ||
${BOOST_SYSTEM_LIBRARY}) | ${BOOST_SYSTEM_LIBRARY}) | ||
+ | </file> | ||
- | </code> | + | **3.** Código: |
- | + | <file cpp main.cpp> | |
- | Código: | + | |
- | <code cpp> | + | |
// TerraLib | // TerraLib | ||
+ | #include <terralib/common/TerraLib.h> | ||
#include <terralib/geometry/Point.h> | #include <terralib/geometry/Point.h> | ||
#include <terralib/geometry/LineString.h> | #include <terralib/geometry/LineString.h> | ||
Line 49: | Line 51: | ||
{ | { | ||
{ | { | ||
- | std::unique_ptr<te::gm::LinearRing> anel_vermelho = std::make_unique<te::gm::LinearRing>(5, te::gm::LineStringType, 0); | + | //std::unique_ptr<te::gm::LinearRing> anel_vermelho = std::make_unique<te::gm::LinearRing>(5, te::gm::LineStringType, 0); |
+ | std::unique_ptr<te::gm::LinearRing> anel_vermelho( new te::gm::LinearRing(5, te::gm::LineStringType, 0) ); | ||
anel_vermelho->setPoint(0, 1, 2); | anel_vermelho->setPoint(0, 1, 2); | ||
anel_vermelho->setPoint(1, 1, 7); | anel_vermelho->setPoint(1, 1, 7); | ||
Line 55: | Line 58: | ||
anel_vermelho->setPoint(3, 7, 2); | anel_vermelho->setPoint(3, 7, 2); | ||
anel_vermelho->setPoint(4, 1, 2); | anel_vermelho->setPoint(4, 1, 2); | ||
- | | + | |
te::gm::Polygon poligono_vermelho(1, te::gm::PolygonType, 0); | te::gm::Polygon poligono_vermelho(1, te::gm::PolygonType, 0); | ||
- | | + | |
poligono_vermelho.setRingN(0, anel_vermelho.release()); | poligono_vermelho.setRingN(0, anel_vermelho.release()); | ||
- | | + | |
- | + | ||
- | std::unique_ptr<te::gm::LinearRing> anel_azul = std::make_unique<te::gm::LinearRing>(5, te::gm::LineStringType); | + | //std::unique_ptr<te::gm::LinearRing> anel_azul = std::make_unique<te::gm::LinearRing>(5, te::gm::LineStringType); |
+ | std::unique_ptr<te::gm::LinearRing> anel_azul( new te::gm::LinearRing(5, te::gm::LineStringType) ); | ||
anel_azul->setPoint(0, 2, 3); | anel_azul->setPoint(0, 2, 3); | ||
anel_azul->setPoint(1, 2, 6); | anel_azul->setPoint(1, 2, 6); | ||
Line 67: | Line 71: | ||
anel_azul->setPoint(3, 6, 3); | anel_azul->setPoint(3, 6, 3); | ||
anel_azul->setPoint(4, 2, 3); | anel_azul->setPoint(4, 2, 3); | ||
- | | + | |
te::gm::Polygon poligono_azul(1, te::gm::PolygonType, 0); | te::gm::Polygon poligono_azul(1, te::gm::PolygonType, 0); | ||
| | ||
Line 224: | Line 228: | ||
int main(int argc, char* argv[]) | int main(int argc, char* argv[]) | ||
{ | { | ||
- | //std::unique_ptr<te::gm::Point> p = std::make_unique<te::gm::Point>(-54.0, -12.0, 4326); | + | TerraLib::getInstance().initialize(); |
- | + | ||
- | //std::unique_ptr<te::gm::LineString> l = std::make_unique<te::gm:: LineString>(2, te::gm::LineStringType); | + | |
- | + | ||
- | //l->setPoint(0, -54.0, -12.0); | + | |
- | //l->setPoint(1, -55.0, -13.0); | + | |
- | + | ||
op_contains(); | op_contains(); | ||
+ | | ||
op_within(); | op_within(); | ||
+ | | ||
op_touches(); | op_touches(); | ||
+ | | ||
op_intersection(); | op_intersection(); | ||
+ | | ||
op_union(); | op_union(); | ||
+ | | ||
op_buffer(); | op_buffer(); | ||
| | ||
+ | TerraLib::getInstance().finalize(); | ||
+ | |||
return EXIT_SUCCESS; | return EXIT_SUCCESS; | ||
} | } | ||
+ | </file> | ||
+ | |||
+ | **4.** Opções do CMake: | ||
+ | <code cmake> | ||
+ | -DCMAKE_BUILD_TYPE:STRING="Debug" | ||
+ | |||
+ | -DCMAKE_PREFIX_PATH:PATH="/home/terralib5/mylibs;/home/terralib5/mylibs/terralib5/lib/cmake" | ||
</code> | </code> | ||
+ |