1 #include <R.h> 2 #include <Rinternals.h> 3 #include <Rdefines.h> 4 5 #include <cpl_string.h> 6 #include <cpl_csv.h> 7 #include <cpl_error.h> 8 #include <cpl_conv.h> 9 10 #ifdef __cplusplus 11 extern "C" { 12 #endif 13 #define ROFFSET 1 14 #define SP_XPORT(x) RGDAL_ ## x 15 #include "sp.h" 16 17 #ifndef GDALV2 18 #if GDAL_VERSION_MAJOR >= 2 19 # define GDALV2 1 20 #endif 21 #endif 22 23 24 SEXP make_Polygonlist(SEXP iG, SEXP iGc); 25 SEXP make_Polygon(SEXP jG, SEXP jGc); 26 SEXP rgdal_sp_linkingTo_version(void); 27 28 void installErrorHandler(); 29 void uninstallErrorHandlerAndTriggerError(); 30 31 SEXP RGDAL_Init(void); 32 SEXP RGDAL_Exit(void); 33 34 SEXP RGDAL_GDALVersionInfo(SEXP str); 35 SEXP RGDAL_GDALCheckVersion(void); 36 SEXP RGDAL_GDAL_DATA_Info(void); 37 SEXP RGDAL_GDALwithGEOS(void); 38 39 SEXP RGDAL_GetDriverNames(void); 40 SEXP RGDAL_GetDriver(SEXP sxpDriverName); 41 SEXP RGDAL_GetDriverShortName(SEXP sxpDriver); 42 SEXP RGDAL_GetDriverLongName(SEXP sxpDriver); 43 44 SEXP RGDAL_CloseHandle(SEXP sxpHandle); 45 //SEXP RGDAL_DeleteHandle(SEXP sxpHandle); 46 47 SEXP RGDAL_OpenDataset(SEXP filename, SEXP read_only, SEXP silent, 48 SEXP allowedDr, SEXP options); 49 SEXP RGDAL_CreateDataset(SEXP sxpDriver, SEXP sDim, SEXP sType, 50 SEXP sOpts, SEXP sFile); 51 SEXP RGDAL_GetDatasetDriver(SEXP sDataset); 52 SEXP RGDAL_CopyDataset(SEXP sxpDataset, SEXP sxpDriver, 53 SEXP sxpStrict, SEXP sxpOpts, 54 SEXP sxpFile); 55 SEXP RGDAL_CloseDataset(SEXP sxpDataset); 56 57 SEXP RGDAL_DeleteFile(SEXP sxpDriver, SEXP sxpFileName); 58 59 SEXP RGDAL_GetDescription(SEXP sxpObj); 60 SEXP RGDAL_GetProjectionRef(SEXP sDataset, SEXP enforce_xy); 61 SEXP RGDAL_GetYSize(SEXP sRasterBand); 62 SEXP RGDAL_GetXSize(SEXP sRasterBand); 63 SEXP RGDAL_GetGeoTransform(SEXP sxpDataset); 64 SEXP RGDAL_SetGeoTransform(SEXP sxpDataset, SEXP GeoTransform); 65 SEXP RGDAL_GetMetadata(SEXP sDataset, SEXP tag); 66 SEXP RGDAL_SetProject(SEXP sxpDataset, SEXP proj4string); 67 SEXP RGDAL_SetProject_WKT2(SEXP sxpDataset, SEXP WKT2string, SEXP enforce_xy); 68 SEXP RGDAL_SetNoDataValue(SEXP sxpRasterBand, SEXP NoDataValue); 69 70 SEXP RGDAL_GetRasterYSize(SEXP sDataset); 71 SEXP RGDAL_GetRasterXSize(SEXP sDataset); 72 SEXP RGDAL_GetRasterCount(SEXP sDataset); 73 SEXP RGDAL_GetRasterBlockSize(SEXP rasterObj); 74 75 SEXP RGDAL_PutRasterData(SEXP sxpRasterBand, SEXP sxpData, SEXP sxpOffset); 76 SEXP RGDAL_GetRasterData(SEXP sxpRasterBand, SEXP sxpRegion, SEXP sxpDimOut, 77 SEXP sxpInterleave); 78 SEXP RGDAL_GetScale(SEXP sxpRasterBand); 79 SEXP RGDAL_GetOffset(SEXP sxpRasterBand); 80 SEXP RGDAL_GetCategoryNames(SEXP sxpRasterBand); 81 SEXP RGDAL_GetColorTable(SEXP rasterObj); 82 SEXP RGDAL_GetColorInterp(SEXP sxpRasterBand); 83 SEXP RGDAL_GetPaletteInterp(SEXP sxpRasterBand); 84 SEXP RGDAL_GenCMap(SEXP input1, SEXP input2, SEXP input3, SEXP output, 85 SEXP nColors, SEXP setCMap); 86 SEXP RGDAL_GetRasterBand(SEXP sDataset, SEXP sBand); 87 SEXP RGDAL_GetNoDataValue(SEXP sxpRasterBand); 88 SEXP RGDAL_GetBandType(SEXP sxpRasterBand); 89 SEXP RGDAL_GetBandStatistics(SEXP sxpRasterBand, SEXP silent); 90 SEXP RGDAL_GetBandMinimum(SEXP sxpRasterBand); 91 SEXP RGDAL_GetBandMaximum(SEXP sxpRasterBand); 92 SEXP RGDAL_GetBandNoDataValue(SEXP sxpRasterBand); 93 SEXP RGDAL_SetStatistics(SEXP sxpRasterBand, SEXP statistics); 94 SEXP RGDAL_SetRasterColorTable(SEXP raster, SEXP icT, SEXP ricT, SEXP cicT); 95 SEXP RGDAL_SetCategoryNames(SEXP sxpRasterBand, SEXP sxpNames); 96 SEXP isGDALObjPtrNULL(SEXP sxpObj); 97 98 SEXP RGDAL_GetRAT(SEXP sxpRasterBand); 99 SEXP RGDAL_CPLSetConfigOption(SEXP inOption, SEXP value); 100 SEXP RGDAL_CPLGetConfigOption(SEXP inOption); 101 SEXP RGDAL_CPL_RECODE_ICONV(void); 102 103 SEXP RGDAL_ogrInfo(SEXP ogrsourcename, SEXP Layer); 104 SEXP R_OGR_types(SEXP dsn, SEXP layer); 105 SEXP RGDAL_ogrFIDs(SEXP filename, SEXP layer); 106 SEXP ogr_GetDriverNames(void); 107 SEXP RGDAL_ogrListLayers (SEXP ogrSource); 108 SEXP ogrDataFrame(SEXP ogrSource, SEXP Layer, SEXP FIDs, SEXP iFields); 109 SEXP R_OGR_CAPI_features(SEXP dsn, SEXP layer, SEXP comments); 110 //SEXP make_Polygonlist(SEXP iG); 111 SEXP OGR_write(SEXP inp); 112 SEXP RGDAL_ogrDeleteLayer (SEXP ogrSource, SEXP Layer, SEXP ogrDriver); 113 SEXP RGDAL_ogrDeleteDataSource (SEXP ogrSource, SEXP ogrDriver); 114 SEXP ogrCheckExists (SEXP ogrSource, SEXP Layer); 115 116 SEXP RGDAL_checkCRSArgs(SEXP args); // both 117 SEXP PROJcopyEPSG(SEXP tf); // both 118 SEXP ogrP4S(SEXP ogrsourcename, SEXP Layer, SEXP morphFromESRI, SEXP dumpSRS); // GDAL 119 SEXP p4s_to_wkt(SEXP p4s, SEXP esri);// GDAL 120 SEXP wkt_to_p4s(SEXP wkt, SEXP esri);// GDAL 121 SEXP P6_SRID_show(SEXP inSRID, SEXP format, SEXP multiline, SEXP in_format, SEXP epsg, SEXP out_format);// GDAL 122 SEXP P6_SRID_proj(SEXP inSRID, SEXP format, SEXP multiline, SEXP in_format, SEXP epsg, SEXP out_format); 123 SEXP ogrAutoIdentifyEPSG(SEXP p4s);// GDAL 124 SEXP list_coordinate_ops(SEXP source, SEXP target, SEXP area_of_interest, SEXP strict_containment, SEXP vis_order); // both 125 SEXP PROJ4VersionInfo(void); // different 126 SEXP PROJ4NADsInstalled(void); // both, different at R level ?? 127 SEXP PROJ4_proj_def_dat_Installed(void); // both, different at R level ?? 128 SEXP get_proj_search_path(void); // both 129 SEXP set_proj_paths(SEXP path); // both 130 SEXP get_proj_user_writable_dir(); // both 131 SEXP transform(SEXP fromargs, SEXP toargs, SEXP npts, SEXP x, SEXP y, SEXP z); // both 132 SEXP transform_ng(SEXP fromargs, SEXP toargs, SEXP coordOp, SEXP npts, SEXP x, SEXP y, SEXP z, SEXP aoi); // both 133 SEXP CRS_compare(SEXP fromargs, SEXP toargs, SEXP type1, SEXP type2); 134 SEXP proj_network_enabled(); // both 135 SEXP enable_proj_network(); // both 136 SEXP disable_proj_network(); // both 137 SEXP RGDAL_projInfo(SEXP type); // both 138 SEXP R_GDAL_OSR_PROJ();// GDAL 139 SEXP RGDAL_project(SEXP n, SEXP xlon, SEXP ylat, SEXP projarg, SEXP ob_tran); // both 140 SEXP project_inv(SEXP n, SEXP x, SEXP y, SEXP projarg, SEXP ob_tran); // both 141 SEXP project_ng(SEXP n, SEXP xlon, SEXP ylat, SEXP zz, SEXP coordOp); // both 142 SEXP project_ng_coordOp(SEXP proj, SEXP inv, SEXP aoi, SEXP ob_tran); // both 143 SEXP get_source_crs(SEXP source); // both 144 SEXP proj_vis_order(SEXP wkt2); // both 145 SEXP OSR_is_projected(SEXP inSRID); 146 147 #ifdef __cplusplus 148 } 149 #endif 150 151