fixed dependencies
This commit is contained in:
188
vendor/github.com/airbusgeo/godal/godal.h
generated
vendored
Normal file
188
vendor/github.com/airbusgeo/godal/godal.h
generated
vendored
Normal file
@@ -0,0 +1,188 @@
|
||||
// Copyright 2021 Airbus Defence and Space
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
#ifndef _GODAL_H_
|
||||
#define _GODAL_H_
|
||||
|
||||
#define _GNU_SOURCE 1
|
||||
#include <gdal.h>
|
||||
#include <gdal_alg.h>
|
||||
#include <ogr_srs_api.h>
|
||||
#include <cpl_conv.h>
|
||||
#include "cpl_port.h"
|
||||
#include <gdal_frmts.h>
|
||||
|
||||
#if GDAL_VERSION_NUM < 3000000
|
||||
#error "this code is only compatible with gdal version >= 3.0"
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
typedef struct {
|
||||
char *errMessage;
|
||||
int handlerIdx;
|
||||
int failed;
|
||||
char **configOptions;
|
||||
} cctx;
|
||||
void godalSetMetadataItem(cctx *ctx, GDALMajorObjectH mo, char *ckey, char *cval, char *cdom);
|
||||
void godalSetDescription(cctx *ctx, GDALMajorObjectH mo, char *desc);
|
||||
void godalClearMetadata(cctx *ctx, GDALMajorObjectH mo, char *cdom);
|
||||
GDALDatasetH godalOpen(cctx *ctx, const char *name, unsigned int nOpenFlags, const char *const *papszAllowedDrivers,
|
||||
const char *const *papszOpenOptions, const char *const *papszSiblingFiles);
|
||||
|
||||
GDALDatasetH godalCreate(cctx *ctx, GDALDriverH drv, const char *name, int width, int height, int nbands,
|
||||
GDALDataType dtype, char **creationOption);
|
||||
|
||||
void godalClose(cctx *ctx, GDALDatasetH ds);
|
||||
int godalRegisterDriver(const char *funcname);
|
||||
void godalRegisterPlugins();
|
||||
void godalRegisterPlugin(cctx *ctx, const char *name);
|
||||
void godalRasterSize(GDALDatasetH ds, int *xsize, int *ysize);
|
||||
|
||||
//returns a null terminated list of bands. the caller must free the returned list
|
||||
GDALRasterBandH *godalRasterBands(GDALDatasetH ds);
|
||||
OGRLayerH *godalVectorLayers(GDALDatasetH ds);
|
||||
|
||||
GDALRasterBandH* godalBandOverviews(GDALRasterBandH bnd);
|
||||
|
||||
void godalSetRasterNoDataValue(cctx *ctx, GDALRasterBandH bnd, double nd);
|
||||
void godalSetDatasetNoDataValue(cctx *ctx, GDALDatasetH bnd, double nd);
|
||||
void godalDeleteRasterNoDataValue(cctx *ctx, GDALRasterBandH bnd);
|
||||
void godalSetRasterScaleOffset(cctx *ctx, GDALRasterBandH bnd, double scale, double offset);
|
||||
void godalSetDatasetScaleOffset(cctx *ctx, GDALDatasetH bnd, double scale, double offset);
|
||||
void godalSetRasterColorInterpretation(cctx *ctx, GDALRasterBandH bnd, GDALColorInterp ci);
|
||||
GDALRasterBandH godalCreateMaskBand(cctx *ctx, GDALRasterBandH bnd, int flags);
|
||||
GDALRasterBandH godalCreateDatasetMaskBand(cctx *ctx, GDALDatasetH ds, int flags);
|
||||
OGRSpatialReferenceH godalCreateUserSpatialRef(cctx *ctx, char *userInput);
|
||||
OGRSpatialReferenceH godalCreateWKTSpatialRef(cctx *ctx, char *wkt);
|
||||
OGRSpatialReferenceH godalCreateProj4SpatialRef(cctx *ctx, char *proj);
|
||||
OGRSpatialReferenceH godalCreateEPSGSpatialRef(cctx *ctx, int epsgCode);
|
||||
void godalValidateSpatialRef(cctx *ctx, OGRSpatialReferenceH sr);
|
||||
char* godalExportToWKT(cctx *ctx, OGRSpatialReferenceH sr);
|
||||
OGRCoordinateTransformationH godalNewCoordinateTransformation(cctx *ctx, OGRSpatialReferenceH src, OGRSpatialReferenceH dst);
|
||||
void godalDatasetSetSpatialRef(cctx *ctx, GDALDatasetH ds, OGRSpatialReferenceH sr);
|
||||
void godalSetGeoTransform(cctx *ctx, GDALDatasetH ds, double *gt);
|
||||
void godalGetGeoTransform(cctx *ctx, GDALDatasetH ds, double *gt);
|
||||
void godalSetProjection(cctx *ctx, GDALDatasetH ds, char *wkt);
|
||||
|
||||
GDALDatasetH godalTranslate(cctx *ctx, char *dstName, GDALDatasetH ds, char **switches);
|
||||
GDALDatasetH godalDatasetWarp(cctx *ctx, char *dstName, int nSrcCount, GDALDatasetH *srcDS, char **switches);
|
||||
void godalDatasetWarpInto(cctx *ctx, GDALDatasetH dstDs, int nSrcCount, GDALDatasetH *srcDS, char **switches);
|
||||
GDALDatasetH godalDatasetVectorTranslate(cctx *ctx, char *dstName, GDALDatasetH ds, char **switches);
|
||||
GDALDatasetH godalRasterize(cctx *ctx, char *dstName, GDALDatasetH dstDS, GDALDatasetH ds, char **switches);
|
||||
void godalRasterizeGeometry(cctx *ctx, GDALDatasetH ds, OGRGeometryH geom, int *bands, int nBands, double *vals, int allTouched);
|
||||
void godalBuildOverviews(cctx *ctx, GDALDatasetH ds, const char *resampling, int nLevels, int *levels, int nBands, int *bands);
|
||||
void godalClearOverviews(cctx *ctx, GDALDatasetH ds);
|
||||
|
||||
void godalDatasetStructure(GDALDatasetH ds, int *sx, int *sy, int *bsx, int *bsy, double *scale, double *offset, int *bandCount, int *dtype);
|
||||
void godalBandStructure(GDALRasterBandH bnd, int *sx, int *sy, int *bsx, int *bsy, double *scale, double *offset, int *dtype);
|
||||
void godalDatasetRasterIO(cctx *ctx, GDALDatasetH ds, GDALRWFlag rw, int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize, void *pBuffer,
|
||||
int nBXSize, int nBYSize, GDALDataType eBDataType, int nBandCount, int *panBandCount,
|
||||
int nPixelSpace, int nLineSpace, int nBandSpace, GDALRIOResampleAlg alg);
|
||||
void godalBandRasterIO(cctx *ctx, GDALRasterBandH bnd, GDALRWFlag rw, int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize, void *pBuffer,
|
||||
int nBXSize, int nBYSize, GDALDataType eBDataType, int nPixelSpace, int nLineSpace, GDALRIOResampleAlg alg);
|
||||
void godalFillRaster(cctx *ctx, GDALRasterBandH bnd, double real, double imag);
|
||||
void godalPolygonize(cctx *ctx, GDALRasterBandH in, GDALRasterBandH mask, OGRLayerH layer, int fieldIndex, char **opts);
|
||||
void godalFillNoData(cctx *ctx, GDALRasterBandH in, GDALRasterBandH mask, int maxDistance, int iterations, char **opts);
|
||||
void godalSieveFilter(cctx *ctx, GDALRasterBandH bnd, GDALRasterBandH mask, GDALRasterBandH dst, int sizeThreshold, int connectedNess);
|
||||
|
||||
void godalLayerGetExtent(cctx *ctx, OGRLayerH layer, OGREnvelope *envelope);
|
||||
void godalLayerFeatureCount(cctx *ctx, OGRLayerH layer, int *count);
|
||||
void godalLayerSetFeature(cctx *ctx, OGRLayerH layer, OGRFeatureH feat);
|
||||
void godalLayerCreateFeature(cctx *ctx, OGRLayerH layer, OGRFeatureH feat);
|
||||
OGRFeatureH godalLayerNewFeature(cctx *ctx, OGRLayerH layer, OGRGeometryH geom);
|
||||
void godalLayerDeleteFeature(cctx *ctx, OGRLayerH layer, OGRFeatureH feat);
|
||||
void godalLayerSetGeometryColumnName(cctx *ctx, OGRLayerH layer, char *name);
|
||||
void godalFeatureSetGeometryColumnName(cctx *ctx, OGRFeatureH feat, char *name);
|
||||
void godalFeatureSetGeometry(cctx *ctx, OGRFeatureH feat, OGRGeometryH geom);
|
||||
void godalFeatureSetFieldInteger(cctx *ctx, OGRFeatureH feat, int fieldIndex, int value);
|
||||
void godalFeatureSetFieldInteger64(cctx *ctx, OGRFeatureH feat, int fieldIndex, long long value);
|
||||
void godalFeatureSetFieldDouble(cctx *ctx, OGRFeatureH feat, int fieldIndex, double value);
|
||||
void godalFeatureSetFieldString(cctx *ctx, OGRFeatureH feat, int fieldIndex, char *value);
|
||||
void godalFeatureSetFieldDateTime(cctx *ctx, OGRFeatureH feat, int fieldIndex, int year, int month, int day, int hour, int minute, int second, int tzFlag);
|
||||
void godalFeatureSetFieldIntegerList(cctx *ctx, OGRFeatureH feat, int fieldIndex, int nbValues, int *values);
|
||||
void godalFeatureSetFieldInteger64List(cctx *ctx, OGRFeatureH feat, int fieldIndex, int nbValues, long long *values);
|
||||
void godalFeatureSetFieldDoubleList(cctx *ctx, OGRFeatureH feat, int fieldIndex, int nbValues, double *values);
|
||||
void godalFeatureSetFieldStringList(cctx *ctx, OGRFeatureH feat, int fieldIndex, char **values);
|
||||
void godalFeatureSetFieldBinary(cctx *ctx, OGRFeatureH feat, int fieldIndex, int nbBytes, void *value);
|
||||
OGRLayerH godalCreateLayer(cctx *ctx, GDALDatasetH ds, char *name, OGRSpatialReferenceH sr, OGRwkbGeometryType gtype);
|
||||
OGRLayerH godalCopyLayer(cctx *ctx, GDALDatasetH ds, OGRLayerH layer, char *name);
|
||||
void VSIInstallGoHandler(cctx *ctx, const char *pszPrefix, size_t bufferSize, size_t cacheSize);
|
||||
|
||||
void godalGetColorTable(GDALRasterBandH bnd, GDALPaletteInterp *interp, int *nEntries, short **entries);
|
||||
void godalSetColorTable(cctx *ctx, GDALRasterBandH bnd, GDALPaletteInterp interp, int nEntries, short *entries);
|
||||
void godalRasterHistogram(cctx *ctx, GDALRasterBandH bnd, double *min, double *max, int *buckets,
|
||||
unsigned long long **values, int bIncludeOutOfRange, int bApproxOK);
|
||||
|
||||
VSILFILE *godalVSIOpen(cctx *ctx, const char *name);
|
||||
void godalVSIUnlink(cctx *ctx, const char *name);
|
||||
char* godalVSIClose(VSILFILE *f);
|
||||
size_t godalVSIRead(VSILFILE *f, void *buf, int len, char **errmsg);
|
||||
void godal_OGR_G_AddGeometry(cctx *ctx, OGRGeometryH geom, OGRGeometryH subGeom);
|
||||
OGRGeometryH godal_OGR_G_Simplify(cctx *ctx, OGRGeometryH in, double tolerance);
|
||||
OGRGeometryH godal_OGR_G_Buffer(cctx *ctx, OGRGeometryH in, double tolerance, int segments);
|
||||
OGRGeometryH godal_OGR_G_Difference(cctx *ctx, OGRGeometryH geom1, OGRGeometryH geom2);
|
||||
OGRGeometryH godal_OGR_G_GetGeometryRef(cctx *ctx, OGRGeometryH in, int subGeomIndex);
|
||||
int godal_OGR_G_Intersects(cctx *ctx, OGRGeometryH geom1, OGRGeometryH geom2);
|
||||
OGRGeometryH godal_OGR_G_Intersection(cctx *ctx, OGRGeometryH geom1, OGRGeometryH geom2);
|
||||
OGRGeometryH godal_OGR_G_Union(cctx *ctx, OGRGeometryH geom1, OGRGeometryH geom2);
|
||||
OGRGeometryH godalNewGeometryFromGeoJSON(cctx *ctx, char *geoJSON);
|
||||
OGRGeometryH godalNewGeometryFromWKT(cctx *ctx, char *wkt, OGRSpatialReferenceH sr);
|
||||
OGRGeometryH godalNewGeometryFromWKB(cctx *ctx, void *wkb, int wkbLen,OGRSpatialReferenceH sr);
|
||||
char* godalExportGeometryWKT(cctx *ctx, OGRGeometryH in);
|
||||
char* godalExportGeometryGeoJSON(cctx *ctx, OGRGeometryH in, int precision);
|
||||
char* godalExportGeometryGML(cctx *ctx, OGRGeometryH in, char **switches);
|
||||
void godalExportGeometryWKB(cctx *ctx, void **wkb, int *wkbLen, OGRGeometryH in);
|
||||
void godalGeometryTransformTo(cctx *ctx, OGRGeometryH geom, OGRSpatialReferenceH sr);
|
||||
void godalGeometryTransform(cctx *ctx, OGRGeometryH geom, OGRCoordinateTransformationH trn, OGRSpatialReferenceH dst);
|
||||
|
||||
GDALDatasetH godalBuildVRT(cctx *ctx, char *dstname, char **sources, char **switches);
|
||||
|
||||
void test_godal_error_handling(cctx *ctx);
|
||||
void godalClearRasterStatistics(cctx *ctx, GDALDatasetH ds);
|
||||
void godalComputeRasterStatistics(cctx *ctx, GDALRasterBandH bnd, int bApproxOK, double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev);
|
||||
int godalGetRasterStatistics(cctx *ctx, GDALRasterBandH bnd, int bApproxOK, double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev);
|
||||
void godalSetRasterStatistics(cctx *ctx, GDALRasterBandH bnd, double dfMin, double dfMax, double dfMean, double dfStdDev);
|
||||
void godalGridCreate(cctx *ctx, char *pszAlgorithm, GDALGridAlgorithm eAlgorithm, GUInt32 nPoints, const double *padfX, const double *padfY, const double *padfZ, double dfXMin, double dfXMax, double dfYMin, double dfYMax, GUInt32 nXSize, GUInt32 nYSize, GDALDataType eType, void *pData);
|
||||
GDALDatasetH godalGrid(cctx *ctx, const char *pszDest, GDALDatasetH hSrcDS, char **switches);
|
||||
GDALDatasetH godalNearblack(cctx *ctx, const char *pszDest, GDALDatasetH hDstDS, GDALDatasetH hSrcDS, char **switches);
|
||||
GDALDatasetH godalDem(cctx *ctx, const char *pszDest, const char *pszProcessing, const char *pszColorFilename, GDALDatasetH hSrcDS, char **switches);
|
||||
|
||||
typedef struct {
|
||||
const GDAL_GCP *gcpList;
|
||||
int numGCPs;
|
||||
} GCPsAndCount;
|
||||
typedef struct {
|
||||
char **pszIds;
|
||||
char **pszInfos;
|
||||
double *dfGCPPixels;
|
||||
double *dfGCPLines;
|
||||
double *dfGCPXs;
|
||||
double *dfGCPYs;
|
||||
double *dfGCPZs;
|
||||
} goGCPList;
|
||||
OGRSpatialReferenceH godalGetGCPSpatialRef(GDALDatasetH hSrcDS);
|
||||
const GCPsAndCount godalGetGCPs(GDALDatasetH hSrcDS);
|
||||
const char *godalGetGCPProjection(GDALDatasetH hSrcDS);
|
||||
void godalSetGCPs(cctx *ctx, GDALDatasetH hSrcDS, int numGCPs, goGCPList GCPList, const char *pszGCPProjection);
|
||||
void godalSetGCPs2(cctx *ctx, GDALDatasetH hSrcDS, int numGCPs, goGCPList GCPList, OGRSpatialReferenceH hSRS);
|
||||
GDAL_GCP *goGCPListToGDALGCP(goGCPList GCPList, int numGCPs);
|
||||
void godalGCPListToGeoTransform(cctx *ctx, goGCPList GCPList, int numGCPs, double *gt);
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#endif // GO_GDAL_H_
|
||||
Reference in New Issue
Block a user