GDAL C++ API 학습 경로 OGRGeometry 추상 곡선 기본 클래스 OGRCurve

OGRCurve 클래스 "ogrsf_frmts.h"

OGRCurve곡선 기하학 개체를 나타내는 OGR(OpenGIS Simple Features Reference Implementation) 기하학 라이브러리의 기본 클래스입니다. OGRLineString곡선 유형의 기하학적 개체를 나타내는 데 사용 되는 OGRCircularString추상 기본 클래스 입니다.

공공 기능

ConstIterator 시작() const

포인트 반복자의 시작을 반환합니다.

ConstIterator end() const

포인트 이터레이터의 리턴 엔드

// 创建一个 OGRLineString 对象
    OGRLineString lineString;
    lineString.addPoint(0, 0);
    lineString.addPoint(1, 1);
    lineString.addPoint(2, 2);

    // 使用迭代器遍历 OGRLineString 的点集合
    for (OGRCurve::ConstIterator it = lineString.begin(); it != lineString.end(); ++it) {
        // 通过迭代器获取点坐标
        const OGRPoint* point = *it;
        double x = point->getX();
        double y = point->getY();

        // 在这里进行点坐标的处理
        // ...
    }

가상 무효 StartPoint(OGRPoint *) const = 0

곡선의 시작점으로 돌아가기

매개변수:

poPoint  -- 시작 위치를 지정할 지점

가상 무효 EndPoint(OGRPoint *) const = 0

곡선의 끝으로 돌아가기

매개변수:

poPoint  -- 종료 위치를 지정하는 지점

가상 int get_IsClosed() const

곡선이 닫혀 있으면 TRUE를 반환합니다.

곡선이 닫혀 있는지 여부를 테스트합니다. 시작점이 끝점과 같으면 곡선이 닫힙니다.

반환: 꺼져 있으면 TRUE, 그렇지 않으면 FALSE

virtual int getDimension() const 재정의

이 개체의 크기를 가져옵니다.

반환값: 점의 경우 0, 선의 경우 1, 표면의 경우 2

가상 int getNumPoints() const = 0

커브 지오메트리의 포인트 수를 반환합니다.

반환값: 곡선의 점 수

가상  OGRBoolean  IsConvex() const

(닫힌) 곡선이 볼록한 모양을 형성하는지 여부를 반환합니다.

반환값: 곡선이 볼록한 모양을 형성하는 경우 TRUE

// 创建一个OGRLineString对象作为示例
    OGRLineString lineString;
    lineString.addPoint(0, 0);
    lineString.addPoint(1, 1);
    lineString.addPoint(2, 0);

    // 判断曲线是否为凸曲线
    OGRBoolean isConvex = lineString.IsConvex();

가상 int isClockwise() const

링에 시계 방향으로 감기는 경우(또는 2lbs 미만) TRUE를 반환합니다.

반환값: 시계 방향이면 true, 그렇지 않으면 false

가상 이중 get_Area() const = 0

(닫힌) 곡선의 면적 구하기

반환값: 사용된 공간 참조 시스템의 제곱 단위로 표시되는 피처의 면적

중심()

OGRErr OGRGeometry::Centroid ( OGRPoint * poPoint ) const

기하 중심 계산

중심 위치는 들어오는  OGRPoint  개체에 적용됩니다. 중심이 반드시 지오메트리 내에 있는 것은 아닙니다.

성공 시 OGRERR_NONE을 반환하거나 오류 시 OGRERR_FAILURE를 반환합니다.

OGRRegisterAll(); // 注册所有OGR数据格式驱动

    // 创建一个OGRLineString对象作为示例
    OGRLineString lineString;
    lineString.addPoint(0, 0);
    lineString.addPoint(1, 1);
    lineString.addPoint(2, 2);

    // 获取质心
    OGRPoint centroid;
    OGRErr err = lineString.Centroid(&centroid);

공개 정적 함수

정적  OGRCompoundCurve * CastToCompoundCurve ( OGRCurve  *puCurve )

복합 곡선으로 캐스팅 수신 형상이 소비되고 새 형상이 반환됩니다(또는 실패 시 NULL).

매개변수:

poCurve  - 입력 지오메트리 - 메소드에 전달된 소유권.

반환: 새로운 기하학

정적  OGRLineString  * CastToLineString ( OGRCurve  *poCurve )

선스트링으로 변환 수신 기하학이 소비되고 새 기하학이 반환됩니다(또는 실패 시 NULL).

매개변수:

poCurve  - 입력 지오메트리 - 메소드에 전달된 소유권.

반환: 새로운 기하학

정적  OGRLinearRing  * CastToLinearRing ( OGRCurve  *poCurve )

선형 링으로 캐스팅 수신 기하학이 소비되고 새 기하학이 반환됩니다(또는 실패 시 NULL).

매개변수:

poCurve  - 입력 지오메트리 - 메소드에 전달된 소유권.

반환: 새로운 기하학

추천

출처blog.csdn.net/qq_69574549/article/details/132007612