Classe OGRCurve "ogrsf_frmts.h"
OGRCurve
É uma classe base na biblioteca de geometria do OGR (OpenGIS Simple Features Reference Implementation), que representa um objeto de geometria de curva. É a classe base abstrata OGRLineString
e usada para representar objetos geométricos do tipo curvaOGRCircularString
Funções Públicas
ConstIterator start() const
Retorna o início do iterador de ponto
Fim do ConstIterator() const
Final de retorno do iterador de ponto
// 创建一个 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();
// 在这里进行点坐标的处理
// ...
}
virtual void StartPoint(OGRPoint *) const = 0
Voltar ao início da curva
parâmetro:
poPoint -- o ponto no qual especificar a posição inicial
virtual void EndPoint(OGRPoint *) const = 0
Retorne ao final da curva
parâmetro:
poPoint -- o ponto no qual especificar a posição final
int virtual get_IsClosed () const
Retorna TRUE se a curva estiver fechada
Testa se a curva está fechada. Uma curva é fechada se seu ponto inicial é igual ao seu ponto final
Retorna: TRUE se desligado, FALSE caso contrário
virtual int getDimension() substituição const
Obter as dimensões deste objeto
Retorna: 0 para ponto, 1 para linha, 2 para superfície
virtual int getNumPoints() const = 0
Retorna o número de pontos da geometria da curva
Retorna: o número de pontos da curva
virtual OGRBoolean IsConvex() const
Retorna se a curva (fechada) formar uma forma convexa
Retorna: TRUE se a curva for convexa
// 创建一个OGRLineString对象作为示例
OGRLineString lineString;
lineString.addPoint(0, 0);
lineString.addPoint(1, 1);
lineString.addPoint(2, 0);
// 判断曲线是否为凸曲线
OGRBoolean isConvex = lineString.IsConvex();
virtual int isClockwise() const
Retorna TRUE se o anel tiver um enrolamento no sentido horário (ou menos de 2 lbs)
Retorna: verdadeiro se no sentido horário, falso caso contrário
virtual double get_Area() const = 0
Obter a área de uma curva (fechada)
Retorna: a área da feição em unidades quadradas do sistema de referência espacial utilizado
Centróide()
OGRErr OGRGeometry::Centroid ( OGRPoint * poPoint ) const
Calcular centróide geométrico
A posição do centróide é aplicada ao objeto OGRPoint de entrada . O centróide não está necessariamente dentro da geometria
Retorna OGRERR_NONE em caso de sucesso ou OGRERR_FAILURE em caso de erro
OGRRegisterAll(); // 注册所有OGR数据格式驱动
// 创建一个OGRLineString对象作为示例
OGRLineString lineString;
lineString.addPoint(0, 0);
lineString.addPoint(1, 1);
lineString.addPoint(2, 2);
// 获取质心
OGRPoint centroid;
OGRErr err = lineString.Centroid(¢roid);
Funções Estáticas Públicas
static OGRCompoundCurve * CastToCompoundCurve ( OGRCurve *puCurve )
Fundindo para uma curva composta A geometria de entrada será consumida e uma nova geometria retornada (ou NULL em caso de falha)
parâmetro:
poCurve - geometria de entrada - propriedade passada para o método.
Retorna: nova geometria
static OGRLineString * CastToLineString ( OGRCurve *poCurve )
Convertido em uma linestring A geometria de entrada será consumida e uma nova geometria retornada (ou NULL em caso de falha)
parâmetro:
poCurve - geometria de entrada - propriedade passada para o método.
Retorna: a nova geometria
OGRLinearRing estático * CastToLinearRing ( OGRCurve *poCurve )
Conversão para um anel linear A geometria de entrada será consumida e uma nova geometria retornada (ou NULL em caso de falha)
parâmetro:
poCurve - geometria de entrada - propriedade passada para o método.
Retorna: a nova geometria