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 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205
|
/******************************************************************************
* $Id: osr_java.i 25229 2012-11-16 19:06:58Z rouault $
*
* Name: osr_java.i
* Project: GDAL SWIG Interface
* Purpose: Typemaps for Java bindings
* Author: Benjamin Collins, The MITRE Corporation
*
*
* $Log$
* Revision 1.2 2006/02/16 17:21:12 collinsb
* Updates to Java bindings to keep the code from halting execution if the native libraries cannot be found.
*
* Revision 1.1 2006/02/02 20:56:07 collinsb
* Added Java specific typemap code
*
*
*/
%include arrays_java.i
%include typemaps_java.i
%include java_exceptions.i
%pragma(java) jniclasscode=%{
private static boolean available = false;
static {
try {
System.loadLibrary("osrjni");
available = true;
} catch (UnsatisfiedLinkError e) {
available = false;
System.err.println("Native library load failed.");
System.err.println(e);
}
}
public static boolean isAvailable() {
return available;
}
%}
%pragma(java) modulecode=%{
/* Uninstanciable class */
private osr()
{
}
%}
/* This hacks turns the osrJNI class into a package private class */
%pragma(java) jniclassimports=%{
%}
/*
* Needed to make the Constructor and getCptr 'public' and not 'protected'.
* There is likely a better way to do this (with javamethodmodifiers) but
* none worked for me.
*/
%typemap(javabody) OSRSpatialReferenceShadow, OSRCoordinateTransformationShadow %{
private long swigCPtr;
protected boolean swigCMemOwn;
public $javaclassname(long cPtr, boolean cMemoryOwn) {
swigCMemOwn = cMemoryOwn;
swigCPtr = cPtr;
}
public static long getCPtr($javaclassname obj) {
return (obj == null) ? 0 : obj.swigCPtr;
}
%}
%typemap(javacode) OSRSpatialReferenceShadow %{
public boolean equals(Object obj) {
boolean equal = false;
if (obj instanceof $javaclassname)
equal = ((($javaclassname)obj).swigCPtr == this.swigCPtr);
return equal;
}
public Object clone()
{
return Clone();
}
public int hashCode() {
return (int)swigCPtr;
}
public String toString() {
return __str__();
}
public String ExportToWkt() {
String array[] = new String[] {null};
ExportToWkt(array);
return array[0];
}
public String ExportToPrettyWkt(int simplify) {
String array[] = new String[] {null};
ExportToPrettyWkt(array, simplify);
return array[0];
}
public String ExportToPrettyWkt() {
String array[] = new String[] {null};
ExportToPrettyWkt(array);
return array[0];
}
public String ExportToProj4() {
String array[] = new String[] {null};
ExportToProj4(array);
return array[0];
}
public String ExportToXML( String dialect) {
String array[] = new String[] {null};
ExportToXML(array, dialect);
return array[0];
}
public String ExportToXML() {
String array[] = new String[] {null};
ExportToXML(array);
return array[0];
}
public String ExportToMICoordSys() {
String array[] = new String[] {null};
ExportToMICoordSys(array);
return array[0];
}
public double[] GetTOWGS84()
{
double array[] = new double[7];
GetTOWGS84(array);
return array;
}
public int SetTOWGS84( double p1, double p2, double p3)
{
return SetTOWGS84(p1, p2, p3, 0, 0, 0, 0);
}
%}
%typemap(javainterfaces) OSRSpatialReferenceShadow "Cloneable"
%typemap(javacode) OSRCoordinateTransformationShadow %{
public double[] TransformPoint(double x, double y, double z) {
double[] ret = new double[3];
TransformPoint(ret, x, y, z);
return ret;
}
public double[] TransformPoint(double x, double y) {
return TransformPoint(x, y, 0);
}
/* New in GDAL 1.10 */
public static CoordinateTransformation CreateCoordinateTransformation(SpatialReference src, SpatialReference dst)
{
return osr.CreateCoordinateTransformation(src, dst);
}
%}
/******************************************************************************
*
* Global methods
*
*/
/************************************************************************/
/* GetWellKnownGeogCSAsWKT() */
/************************************************************************/
%inline %{
retStringAndCPLFree* GetWellKnownGeogCSAsWKT( const char *name ) {
char* argout = NULL;
OGRSpatialReferenceH srs = OSRNewSpatialReference("");
OGRErr rcode = OSRSetWellKnownGeogCS( srs, name );
if( rcode == OGRERR_NONE )
rcode = OSRExportToWkt ( srs, &argout );
OSRDestroySpatialReference( srs );
return argout;
}
%}
/************************************************************************/
/* GetUserInputAsWKT() */
/************************************************************************/
%inline %{
retStringAndCPLFree* GetUserInputAsWKT( const char *name ) {
char* argout = NULL;
OGRSpatialReferenceH srs = OSRNewSpatialReference("");
OGRErr rcode = OSRSetFromUserInput( srs, name );
if( rcode == OGRERR_NONE )
rcode = OSRExportToWkt ( srs, &argout );
OSRDestroySpatialReference( srs );
return argout;
}
%}
|