GDAL C++ API ruta de aprendizaje OGRGeometry point class OGRPoint

Clase OGRPoint        <ogr_geometry.h>

 OGRGeometría pública

OGRPointEs una clase en la biblioteca OGR (Implementación de referencia de características simples de OpenGIS), que se utiliza para representar un objeto geométrico de punto. OGR es una biblioteca GIS (Sistema de información geográfica) de código abierto para leer, escribir y manipular datos vectoriales. OGRPointEs uno de los tipos geométricos básicos utilizados para representar un punto en un espacio bidimensional o tridimensional.

Funciones Publicas

Punto OGR

OGRPunto()

crear un punto vacío

Punto OGR

OGRPoint (doble x, doble y )         OGRPoint (doble x, doble y, doble z )         OGRPoint (doble x, doble y, doble z, doble m )

Crear un punto (2D, 3D, 4D) Los valores "m" se utilizan a menudo para representar información de medición relacionada con la distancia geométrica, la elevación, el tiempo u otros atributos cuantitativos

parámetro:

  • xEn  -- x

  • yen  -- y

  • zEn  -- z

  • min  -- m

Punto OGR

OGRPoint ( const  OGRPoint  y otros )

copiar constructor

WkbTamaño

virtual size_t WkbSize() anulación de const

Devuelve el tamaño de la representación binaria asociada

Este método devuelve el número exacto de bytes necesarios para contener una representación binaria conocida de este objeto de geometría. Puede ser un poco costoso calcular geometrías complejas

Devuelve: el tamaño de la representación binaria en bytes

// 创建一个 OGRPoint 对象
OGRPoint point(10.0, 20.0);

// 计算 WKB 大小
size_t wkbSize = point.WkbSize();

cout << "WKB Size: " << wkbSize << " bytes" << endl;

importarDesdeWkb

virtual  OGRErr  importFromWkb(const unsigned char*, size_t,  OGRwkbVariant , size_t &nBytesConsumedOut) sobrescribir

especificar geometría a partir de datos binarios conocidos

parámetro:

  • pabyData  : datos de entrada binarios.

  • nSize  : el tamaño de pabyData en bytes, o -1 si no se conoce.

  • eWkbVariant  : interpretación especial de códigos de geometría de curva si wkbVariantPostGIS1

  • nBytesConquisitiondOut  -- parámetro de salida. El número de bytes consumidos.

Devuelve: OGRERR_NONE si todo va bien; de lo contrario, se puede devolver cualquiera de OGRERR_NOT_ENOUGH_DATA, OGRERR_UNSUPPORTED_GEOMETRY_TYPE u OGRERR_CORRUPT_DATA

    // 一个包含二进制 WKB 数据的 unsigned char 数组
    const unsigned char wkbData[] = {
        0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x24, 0x40, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x40
    };

    // WKB 数据的字节大小
    size_t wkbSize = sizeof(wkbData);

    // 创建一个 OGRPoint 对象
    OGRPoint point;

    // 导入 WKB 数据到 OGRPoint 对象
    size_t bytesConsumed = 0;
    OGRErr err = point.importFromWkb(wkbData, wkbSize, wkbVariantOldOgc, bytesConsumed);

exportToWkb

virtual  OGRErr  exportToWkb( OGRwkbByteOrder , carácter sin firmar*,  OGRwkbVariant  =  wkbVariantOldOgc ) anulación de const

Convierta la geometría a un formato binario conocido

parámetro:

  • eByteOrder  : uno de wkbXDR o wkbNDR, que indica el orden de bytes MSB o LSB, respectivamente.

  • pabyData  : el búfer para escribir la representación binaria. El tamaño de este búfer debe ser al menos  OGRGeometry::WkbSize()  bytes.

  • eWkbVariant  : qué estándar usar al exportar geometría 3D (o más). El wkbVariantOldOgc predeterminado es la variante histórica de OGR. wkbVariantIso es una variante definida en ISO SQL/MM y utilizada por OGC para SFSQL 1.2.

Devoluciones: actualmente siempre devuelve OGRERR_NONE

​
​    // 创建一个 OGRPoint 对象
    OGRPoint point(10.0, 20.0);

    // 定义一个 unsigned char 数组来存储导出的 WKB 数据
    unsigned char wkbData[100];

    // 导出 OGRPoint 对象为 WKB 数据
    OGRErr err = point.exportToWkb(wkbXDR, wkbData, wkbVariantOldOgc);

importFromWkt

virtual  OGRErr  importFromWkt(const char**) anular

especificar geometría a partir de datos de texto conocidos

parámetro:

ppszInput  : puntero al puntero del texto de origen. El puntero se actualizará al puntero después del texto usado.

Devuelve: OGRERR_NONE si todo va bien; de lo contrario, se puede devolver cualquiera de OGRERR_NOT_ENOUGH_DATA, OGRERR_UNSUPPORTED_GEOMETRY_TYPE u OGRERR_CORRUPT_DATA

// 定义一个用于存储 WKT 数据的指针
const char* wktData = "POINT (10 20)";

// 创建一个 OGRPoint 对象
OGRPoint point;

OGRErr err = point.importFromWkt(&wktData);

exportToWkt

estándar virtual::cadena exportToWkt(const OGRWktOptions &opts = OGRWktOptions(),  OGRErr  *err = nullptr) const override

Exportar puntos a WKT

parámetro:

  • OGRWktOptions &opts -- opciones de salida .

  • err  : puntero al código de error (si es necesario).

Devuelve: cadena WKT que representa este punto

// 创建一个 OGRPoint 对象并设置坐标
OGRPoint point;
point.setX(10.0);
point.setY(20.0);

// 定义导出选项
OGRWktOptions wktOptions;

// 导出 OGRPoint 对象为 WKT 格式的字符串
string wktString = point.exportToWkt(wktOptions);

cout << "Exported WKT: " << wktString << endl;

Exported WKT: POINT (10 20)

getDimensión

virtual int getDimension() anulación de const

Obtener las dimensiones de este objeto

Devuelve: 0 para punto, 1 para línea, 2 para superficie

OGRPoint point(10.0, 20.0, 30.0, 40.0);
int dimension = point.getDimension();
cout << "Point dimension: " << dimension << endl;

clon

virtual  OGRPoint  *clon() anulación de const

crear una copia de este objeto

Devuelve: una nueva instancia de objeto con la misma geometría y sistema de referencia espacial que el objeto original

vacío

invalidación del vacío virtual vacío ()

Borrar información de geometría Esto restaura la geometría a su estado inicial después de la construcción y antes de la asignación de geometría real

obtenerEnvolvente

virtual void getEnvelope(OGREnvelope  *psEnvelope) anular const

Calcula y devuelve el sobre delimitador de esta geometría en la estructura psEnvelope pasada

parámetro:

psEnvelope  : la estructura en la que colocar los resultados

obtenerEnvolvente

virtual void getEnvelope(OGREnvelope3D  *psEnvelope) anular const

Calcula y devuelve el sobre delimitador (3D) de esta geometría en la estructura psEnvelope pasada

parámetro:

psEnvelope  : la estructura en la que colocar los resultados

Esta vacio

OGRBoolean virtual en línea   IsEmpty() anulación de const

Devuelve VERDADERO (distinto de cero) si el objeto no tiene puntos

Devuelve: VERDADERO si el objeto está vacío, FALSO en caso contrario

Supongo que te gusta

Origin blog.csdn.net/qq_69574549/article/details/131925336
Recomendado
Clasificación