1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
|
/******************************************************************************
* $Id: ogr_java_extend.i 10639 2007-01-17 20:57:32Z tamas $
*
* Name: ogr_java_extend.i
* Project: GDAL SWIG Interface
* Purpose: Java specific OGR extensions
* Author: Andrea Aime (andrea.aime@gmail.com)
*
*/
/******************************************************************************
* OGR WKB import and export. Both extensions make sure byte[] is used in *
* java instead of char[] *
******************************************************************************/
%pragma(java) modulecode=%{
/* Uninstanciable class */
private ogr()
{
}
public static String[] GeneralCmdLineProcessor(String[] args, int nOptions)
{
java.util.Vector vArgs = new java.util.Vector();
int i;
for(i=0;i<args.length;i++)
vArgs.addElement(args[i]);
vArgs = GeneralCmdLineProcessor(vArgs, nOptions);
java.util.Enumeration eArgs = vArgs.elements();
args = new String[vArgs.size()];
i = 0;
while(eArgs.hasMoreElements())
{
String arg = (String)eArgs.nextElement();
args[i++] = arg;
}
return args;
}
public static String[] GeneralCmdLineProcessor(String[] args)
{
return GeneralCmdLineProcessor(args, 0);
}
public static DataSource Open(String filename, boolean update)
{
return Open(filename, (update)?1:0);
}
%}
%extend OGRGeometryShadow
{
OGRGeometryShadow( OGRwkbGeometryType type, char *wkt, int nLen, unsigned char *pBuf, const char *gml ) {
if (type != wkbUnknown ) {
return (OGRGeometryShadow*) OGR_G_CreateGeometry( type );
}
else if ( wkt != 0 ) {
return CreateGeometryFromWkt( &wkt );
}
else if ( nLen != 0 ) {
return CreateGeometryFromWkb( nLen, pBuf );
}
else if ( gml != 0 ) {
return CreateGeometryFromGML( gml );
}
// throw?
else return 0;
}
OGRGeometryShadow( OGRwkbGeometryType type ) {
if (type != wkbUnknown ) {
return (OGRGeometryShadow*) OGR_G_CreateGeometry( type );
}
// throw?
else return 0;
}
retStringAndCPLFree* ExportToWkt()
{
char* argout = NULL;
OGR_G_ExportToWkt(self, &argout);
return argout;
}
}
|