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