Clase OGRPoint <ogr_geometry.h>
OGRGeometría pública
OGRPoint
Es 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. OGRPoint
Es 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