diff options
| author | Kristian Evers <kristianevers@gmail.com> | 2020-01-06 21:46:56 +0100 |
|---|---|---|
| committer | Kristian Evers <kristianevers@gmail.com> | 2020-01-07 08:22:16 +0100 |
| commit | ff15ab6c2d709e6ac230fd0815431d2618e0faef (patch) | |
| tree | 82c15594a0f5ec641ba92dc2f5f6d182467a055a /jniwrap | |
| parent | 529eb50f5d7e817dd27674984050a9bf1a6dce55 (diff) | |
| download | PROJ-ff15ab6c2d709e6ac230fd0815431d2618e0faef.tar.gz PROJ-ff15ab6c2d709e6ac230fd0815431d2618e0faef.zip | |
Remove deprecated JNI bindings
Closes #1757
Diffstat (limited to 'jniwrap')
| -rw-r--r-- | jniwrap/Makefile.am | 8 | ||||
| -rw-r--r-- | jniwrap/README.md | 146 | ||||
| -rw-r--r-- | jniwrap/build.xml | 67 | ||||
| -rw-r--r-- | jniwrap/org.osgeo.proj/Makefile.am | 4 | ||||
| -rw-r--r-- | jniwrap/org.osgeo.proj/module-info.java | 29 | ||||
| -rw-r--r-- | jniwrap/org.osgeo.proj/org/Makefile.am | 2 | ||||
| -rw-r--r-- | jniwrap/org.osgeo.proj/org/proj4/Makefile.am | 1 | ||||
| -rw-r--r-- | jniwrap/org.osgeo.proj/org/proj4/PJ.java | 291 | ||||
| -rw-r--r-- | jniwrap/org.osgeo.proj/org/proj4/PJException.java | 59 | ||||
| -rw-r--r-- | jniwrap/org.osgeo.proj/org/proj4/package-info.java | 39 |
10 files changed, 0 insertions, 646 deletions
diff --git a/jniwrap/Makefile.am b/jniwrap/Makefile.am deleted file mode 100644 index 2d33809a..00000000 --- a/jniwrap/Makefile.am +++ /dev/null @@ -1,8 +0,0 @@ -EXTRA_DIST = build.xml README.md - -SUBDIRS = org.osgeo.proj - -install-data-local: - echo In jniwrap - - diff --git a/jniwrap/README.md b/jniwrap/README.md deleted file mode 100644 index 9cc97dac..00000000 --- a/jniwrap/README.md +++ /dev/null @@ -1,146 +0,0 @@ -# PROJ bridge to Java - -This is the third release of JNI wrappers for the main PROJ functions. -The first release of JNI wrappers were created by http://www.hydrologis.com. -The second release of JNI wrappers were created by http://www.geoapi.org. -This release is compatible with any PROJ versions from 4.8 to 5 -provided that PROJ has been compiled as described below. - - - -## What is "PROJ bridge to Java" - -_PROJ bridge to Java_ is a small library of Java classes that wrap a few PROJ functions -by using the Java Native Interface (JNI). The main Java class is `org.proj4.PJ`. -A Java code example is given in the _Usage & a fast example_ section below. - - - -### Versions - -The PROJ bridge to Java does not follow the same version numbers than the main PROJ library -since the same JAR file can be compatible with a range of PROJ versions. -Version compatibility is given below: - - -Java bridge | Compatible with PROJ library ------------ | ---------------------------- -2.0 and 3.0 | 4.8 to 5+ -1.0 | 4.4.9 to 4.8 inclusive - - - -### Compilation - -To compile the native part, `configure` has to be run in the PROJ directory like this: - - CFLAGS=-Iinclude2 ./configure --with-jni=include1 - -where - -* `include1` = folder in which the header file `jni.h` resides (usually `$JAVA_HOME/include`) -* `include2` = folder in which the header file `jni_md.h` resides (usually `$JAVA_HOME/include/linux` or whatever) - -On MacOS, those two folders are `/Library/Java/JavaVirtualMachines/.../Contents/Home/include/`. - - -The java part is compiled by running Ant inside the `jniwrap` folder. -This will compile the classes and archive them in a JAR file. -It applies to Linux, MacOS and Windows (and virtually to every system supporting java). - - - -### Requirements - -Beyond the ones already put by PROJ, you need: - -* For compilation: - * Java 9+, the Java standard development kit version 9 or above - * Ant 1.10+, to run the build. -* For execution: - * If a Java version less than the current version on the local machine is desired, - add a `release` attribute in the `javac` task of `build.xml` before to compile. - * Proj version 4.8 or more recent compiled with the `--with-jni` option. - - - -### Documentation - -The documentation is held inside the code and can be retrieved by running -`ant javadoc` inside the folder `jniwrap`. This will create the HTML format -documentation inside of `jniwrap/out/apidocs` - - - -### License - -GPL for the first release. -Proj.4 license for the second release. - - - -### Authors - -* Andrea Antonello (andrea.antonello@hydrologis.com) -* Martin Desruisseaux (martin.desruisseaux@geomatys.com) - - - -## Usage & a fast example: - -The `proj.jar` is all is needed to implement PROJ support in java applications. -The whole job is done by the PROJ library, so there are just a couple of functions that be used. - -The best way is to see everything through an example. -In the following example we create two Coordinate Reference System and transform 3 points. -The Coordinate Reference Systems and the points are hard-coded for simplicity. -Of course, real applications would read them from a file or other data source. - - import org.proj4.*; - import java.util.Arrays; - - /** - * Converts coordinates from EPSG:32632 (WGS 84 / UTM zone 32N) to WGS84, - * then prints the result to the standard output stream. - */ - public class Main { - public static void main(String[] args) throws PJException { - PJ sourcePJ = new PJ("+init=epsg:32632"); // (x,y) axis order - PJ targetPJ = new PJ("+proj=latlong +datum=WGS84"); // (λ,φ) axis order - double[] coordinates = { - 500000, 0, // First coordinate - 400000, 100000, // Second coordinate - 600000, -100000 // Third coordinate - }; - sourcePJ.transform(targetPJ, 2, coordinates, 0, 3); - System.out.println(Arrays.toString(coordinates)); - } - } - - - -### Compile the Main code - -We assume that PROJ was compiled with the right flag to support the bridge to Java. -Therefore we have a library called `proj.jar`. -Thus we compile the `Main.java` with the command: - - javac --class-path <path to the jar library>/proj.jar Main.java - -and execute the created test case with (replace `:` by `;` on the Windows platform): - - java --class-path <path to the jar library>/proj.jar:. Main - - - -### Troubleshooting - -If an `java.lang.UnsatisfiedLinkError` is thrown at execution time, add the following line in the Java code: - - System.out.println(System.getProperty("java.library.path")); - -Then verify that the `libproj.so` (Linux), `libproj.dylib` (MacOS) or `libproj.dll` (Windows) file is located -in one of the directories listed by above code. If this is not the case, then try configuring the -`LD_LIBRARY_PATH` (Linux), `DYLD_LIBRARY_PATH` (MacOS) or `PATH` (Windows) environment variable. -Alternatively, a `-Djava.library.path=<path to the libproj>` option can be added to above `java` command. -If the problem persist, adding the `-verbose:jni` option to the `java` command may help more advanced diagnostics. diff --git a/jniwrap/build.xml b/jniwrap/build.xml deleted file mode 100644 index 11aef091..00000000 --- a/jniwrap/build.xml +++ /dev/null @@ -1,67 +0,0 @@ -<?xml version="1.0"?> -<project name="PROJ bridge to Java" default="compile" basedir="."> - - <!-- ******************************************* - Set directory paths and versions. - ******************************************* --> - <property name="src" value="."/> - <property name="out" value="out"/> - <property name="classes" value="${out}/classes"/> - <property name="javadoc" value="${out}/apidocs"/> - <property name="module" value="org.osgeo.proj"/> - <property name="version" value="3.0"/> <!-- See "Versions" section in README.md --> - - <!-- ******************************************* - Compile (default target). - Include generation of JNI header. - ******************************************* --> - <target name="compile"> - <mkdir dir="${out}"/> - <mkdir dir="${classes}"/> - <javac modulesourcepath="${src}" destdir="${classes}" encoding="UTF-8" nativeheaderdir="${src}" - createMissingPackageInfoClass = "false" - includeAntRuntime = "false"> - <compilerarg line="--module-version ${version}"/> - </javac> - - <!-- Move the .h files generated by javac. --> - <move todir="../src"> - <fileset dir="${src}/${module}"> - <include name="org_*.h"/> - </fileset> - </move> - - <jar destfile="${out}/proj.jar" basedir="${classes}/${module}" level="9" strict="fail"> - <manifest> - <attribute name="Implementation-Title" value="PROJ bridge to Java"/> - <attribute name="Implementation-Version" value="${version}"/> - <attribute name="Implementation-Vendor" value="Proj.4 project"/> - <attribute name="Implementation-URL" value="https://proj.org/"/> - </manifest> - </jar> - </target> - - <!-- ********************************************************** - Build and create documentation. - ********************************************************** --> - <target name="javadoc" depends="compile"> - <javadoc classpath="${classes}/${module}" destdir="${javadoc}" - encoding="UTF-8" noqualifier="all" windowtitle="PROJ bridge to Java" author="false" version="true" - link="http://www.geoapi.org/3.0/javadoc/" additionalparam="-html5"> - <sourcefiles> - <fileset dir="${src}/${module}"> - <include name="org/**/*.java"/> - <exclude name="module-info.java"/> - </fileset> - </sourcefiles> - </javadoc> - </target> - - <!-- ******************************************* - Clean up everything. - ******************************************* --> - <target name="clean"> - <delete dir="${out}"/> - </target> - -</project> diff --git a/jniwrap/org.osgeo.proj/Makefile.am b/jniwrap/org.osgeo.proj/Makefile.am deleted file mode 100644 index 6c02a743..00000000 --- a/jniwrap/org.osgeo.proj/Makefile.am +++ /dev/null @@ -1,4 +0,0 @@ -EXTRA_DIST = module-info.java - -SUBDIRS = org - diff --git a/jniwrap/org.osgeo.proj/module-info.java b/jniwrap/org.osgeo.proj/module-info.java deleted file mode 100644 index ea8a623a..00000000 --- a/jniwrap/org.osgeo.proj/module-info.java +++ /dev/null @@ -1,29 +0,0 @@ -/****************************************************************************** - * Project: PROJ.4 - * Purpose: Java/JNI wrappers for PROJ API. - * Author: Martin Desruisseaux - * - ****************************************************************************** - * Copyright (c) 2018, Open Geospatial Consortium, Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - */ -module org.osgeo.proj { - exports org.proj4; -} diff --git a/jniwrap/org.osgeo.proj/org/Makefile.am b/jniwrap/org.osgeo.proj/org/Makefile.am deleted file mode 100644 index f07adff1..00000000 --- a/jniwrap/org.osgeo.proj/org/Makefile.am +++ /dev/null @@ -1,2 +0,0 @@ -SUBDIRS = proj4 - diff --git a/jniwrap/org.osgeo.proj/org/proj4/Makefile.am b/jniwrap/org.osgeo.proj/org/proj4/Makefile.am deleted file mode 100644 index 665fc39d..00000000 --- a/jniwrap/org.osgeo.proj/org/proj4/Makefile.am +++ /dev/null @@ -1 +0,0 @@ -EXTRA_DIST = PJ.java PJException.java package-info.java diff --git a/jniwrap/org.osgeo.proj/org/proj4/PJ.java b/jniwrap/org.osgeo.proj/org/proj4/PJ.java deleted file mode 100644 index e33c9aae..00000000 --- a/jniwrap/org.osgeo.proj/org/proj4/PJ.java +++ /dev/null @@ -1,291 +0,0 @@ -/****************************************************************************** - * Project: PROJ.4 - * Purpose: Java/JNI wrappers for PROJ API. - * Author: Martin Desruisseaux - * - ****************************************************************************** - * Copyright (c) 2011-2018, Open Geospatial Consortium, Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************** - */ -package org.proj4; - -import java.util.Objects; -import java.lang.annotation.Native; - - -/** - * Wraps the <a href="https://proj.org/">PROJ</a> {@code PJ} native data structure. - * Almost every methods defined in this class are native methods delegating the work to the PROJ library. - * This class is the only place where such native methods are defined. - * - * <p>In the PROJ library, the {@code PJ} structure aggregates in a single place information usually - * splitted in many different ISO 19111 interfaces: {@link org.opengis.referencing.datum.Ellipsoid}, - * {@link org.opengis.referencing.datum.Datum}, {@link org.opengis.referencing.datum.PrimeMeridian}, - * {@link org.opengis.referencing.cs.CoordinateSystem}, {@link org.opengis.referencing.crs.CoordinateReferenceSystem} - * and their sub-interfaces. The relationship with the GeoAPI methods is indicated in the - * "See" tags when appropriate.</p> - * - * @author Martin Desruisseaux (Geomatys) - * @version 5.1 - * @since 4.8 - */ -public class PJ { - /** - * The maximal number of dimension accepted by the {@link #transform(PJ, int, double[], int, int)} method. - * This upper limit is actually somewhat arbitrary. This limit exists mostly as a safety against potential misuse. - */ - @Native - public static final int DIMENSION_MAX = 100; - - /** - * Loads the PROJ library. - */ - static { - System.loadLibrary("proj"); - } - - /** - * The pointer to {@code PJ} structure allocated in the C/C++ heap. This value has no meaning in Java code. - * <strong>Do not modify</strong>, since this value is used by PROJ. Do not rename neither, unless you update - * accordingly the C code in JNI wrappers. - */ - private final long ptr; - - /** - * Creates a new {@code PJ} structure from the given PROJ definition string. - * - * @param definition the PROJ definition string. - * @throws IllegalArgumentException if the PJ structure can not be created from the given string. - */ - public PJ(final String definition) throws IllegalArgumentException { - Objects.requireNonNull(definition); - ptr = allocatePJ(definition); - if (ptr == 0) { - throw new IllegalArgumentException(definition); - } - } - - /** - * Creates a new {@code PJ} structure derived from an existing {@code PJ} object. - * This constructor is usually for getting the - * {@linkplain org.opengis.referencing.crs.ProjectedCRS#getBaseCRS() base geographic CRS} - * from a {@linkplain org.opengis.referencing.crs.ProjectedCRS projected CRS}. - * - * @param crs the CRS (usually projected) from which to derive a new CRS. - * @param type the type of the new CRS. Currently, only {@link Type#GEOGRAPHIC} is supported. - * @throws IllegalArgumentException if the PJ structure can not be created. - */ - public PJ(final PJ crs, final Type type) throws IllegalArgumentException { - Objects.requireNonNull(crs, "The CRS must be non-null."); - if (type != Type.GEOGRAPHIC) { - throw new IllegalArgumentException("Can not derive the " + type + " type."); - } - ptr = allocateGeoPJ(crs); - if (ptr == 0) { - throw new IllegalArgumentException(crs.getLastError()); - } - } - - /** - * Allocates a PJ native data structure and returns the pointer to it. This method should be - * invoked by the constructor only, and the return value <strong>must</strong> be assigned - * to the {@link #ptr} field. The allocated structure is released by the {@link #finalize()} - * method. - * - * @param definition the PROJ definition string. - * @return a pointer to the PJ native data structure, or 0 if the operation failed. - */ - private static native long allocatePJ(String definition); - - /** - * Allocates a PJ native data structure for the base geographic CRS of the given CRS, and - * returns the pointer to it. This method should be invoked by the constructor only, and - * the return value <strong>must</strong> be assigned to the {@link #ptr} field. - * The allocated structure is released by the {@link #finalize()} method. - * - * @param projected the CRS from which to derive the base geographic CRS. - * @return a pointer to the PJ native data structure, or 0 if the operation failed. - */ - private static native long allocateGeoPJ(PJ projected); - - /** - * Returns the version number of the PROJ library. - * - * @return the PROJ release string. - */ - public static native String getVersion(); - - /** - * Returns the PROJ definition string. This is the string given to the constructor, - * expanded with as much information as possible. - * - * @return the PROJ definition string. - */ - public native String getDefinition(); - - /** - * Returns the Coordinate Reference System type. - * - * @return the CRS type. - */ - public native Type getType(); - - /** - * The coordinate reference system (CRS) type returned by {@link PJ#getType()}. - * In the PROJ library, a CRS can only be geographic, geocentric or projected, - * without distinction between 2D and 3D CRS. - * - * @author Martin Desruisseaux (Geomatys) - * @version 5.1 - * @since 4.8 - */ - public static enum Type { - /* - * IMPLEMENTATION NOTE: Do not rename those fields, unless you update the - * native C code accordingly. - */ - - /** - * The CRS is of type {@link org.opengis.referencing.crs.GeographicCRS}. - * The CRS can be two-dimensional or three-dimensional. - */ - GEOGRAPHIC, - - /** - * The CRS is of type {@link org.opengis.referencing.crs.GeocentricCRS}. - * The CRS can only be three-dimensional. - */ - GEOCENTRIC, - - /** - * The CRS is of type {@link org.opengis.referencing.crs.ProjectedCRS}. - * The CRS can be two-dimensional or three-dimensional. - */ - PROJECTED - } - - /** - * Returns the value stored in the {@code a_orig} PJ field. - * - * @return the axis length stored in {@code a_orig}. - * - * @see org.opengis.referencing.datum.Ellipsoid#getSemiMajorAxis() - */ - public native double getSemiMajorAxis(); - - /** - * Returns the value computed from PJ fields by {@code √((a_orig)² × (1 - es_orig))}. - * - * @return the axis length computed by {@code √((a_orig)² × (1 - es_orig))}. - * - * @see org.opengis.referencing.datum.Ellipsoid#getSemiMinorAxis() - */ - public native double getSemiMinorAxis(); - - /** - * Returns the square of the ellipsoid eccentricity (ε²). The eccentricity - * is related to axis length by ε=√(1-(<var>b</var>/<var>a</var>)²). The - * eccentricity of a sphere is zero. - * - * @return the eccentricity. - * - * @see org.opengis.referencing.datum.Ellipsoid#isSphere() - * @see org.opengis.referencing.datum.Ellipsoid#getInverseFlattening() - */ - public native double getEccentricitySquared(); - - /** - * Returns an array of character indicating the direction of each axis. Directions are - * characters like {@code 'e'} for East, {@code 'n'} for North and {@code 'u'} for Up. - * - * @return the axis directions. - * - * @see org.opengis.referencing.cs.CoordinateSystemAxis#getDirection() - */ - public native char[] getAxisDirections(); - - /** - * Longitude of the prime meridian measured from the Greenwich meridian, positive eastward. - * - * @return the prime meridian longitude, in degrees. - * - * @see org.opengis.referencing.datum.PrimeMeridian#getGreenwichLongitude() - */ - public native double getGreenwichLongitude(); - - /** - * Returns the conversion factor from the linear units to metres. - * - * @param vertical {@code false} for the conversion factor of horizontal axes, - * or {@code true} for the conversion factor of the vertical axis. - * @return the conversion factor to metres for the given axis. - */ - public native double getLinearUnitToMetre(boolean vertical); - - /** - * Transforms in-place the coordinates in the given array. - * The coordinates array shall contain (<var>x</var>,<var>y</var>,<var>z</var>,…) tuples, - * where the <var>z</var> and any additional dimensions are optional. - * Note that any dimension after the <var>z</var> value are ignored. - * - * <p>Input and output units:</p> - * <ul> - * <li>Angular units (as in longitude and latitudes) are decimal degrees.</li> - * <li>Linear units are usually metres, but this is actually projection-dependent.</li> - * </ul> - * - * @param target the target CRS. - * @param dimension the dimension of each coordinate value. Must be in the [2-{@value #DIMENSION_MAX}] range. - * @param coordinates the coordinates to transform, as a sequence of (<var>x</var>,<var>y</var>,<<var>z</var>>,…) tuples. - * @param offset offset of the first coordinate in the given array. - * @param numPts number of points to transform. - * @throws NullPointerException if the {@code target} or {@code coordinates} argument is null. - * @throws IndexOutOfBoundsException if the {@code offset} or {@code numPts} arguments are invalid. - * @throws PJException if the operation failed for another reason (provided by PROJ). - * - * @see org.opengis.referencing.operation.MathTransform#transform(double[], int, double[], int, int) - */ - public native void transform(PJ target, int dimension, double[] coordinates, int offset, int numPts) - throws PJException; - - /** - * Returns a description of the last error that occurred, or {@code null} if none. - * - * @return the last error that occurred, or {@code null}. - */ - public native String getLastError(); - - /** - * Returns the string representation of the PJ structure. - * - * @return the string representation. - */ - @Override - public native String toString(); - - /** - * Deallocates the native PJ data structure. - * This method should be invoked exactly once, only by the garbage collector, - */ - @Override - @SuppressWarnings({"deprecation", "FinalizeDeclaration"}) - protected final native void finalize(); -} diff --git a/jniwrap/org.osgeo.proj/org/proj4/PJException.java b/jniwrap/org.osgeo.proj/org/proj4/PJException.java deleted file mode 100644 index 4b465e6a..00000000 --- a/jniwrap/org.osgeo.proj/org/proj4/PJException.java +++ /dev/null @@ -1,59 +0,0 @@ -/****************************************************************************** - * Project: PROJ.4 - * Purpose: Java/JNI wrappers for PROJ API. - * Author: Martin Desruisseaux - * - ****************************************************************************** - * Copyright (c) 2011-2018, Open Geospatial Consortium, Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************** - */ -package org.proj4; - - -/** - * Exception thrown when a call to {@link PJ#transform(PJ, int, double[], int, int)} failed. - * - * @author Martin Desruisseaux (Geomatys) - * @version 5.1 - * @since 4.8 - */ -public class PJException extends Exception { - /** - * For cross-version compatibility. - */ - private static final long serialVersionUID = -2580747577812829763L; - - /** - * Constructs a new exception with no message. - */ - public PJException() { - super(); - } - - /** - * Constructs a new exception with the given message. - * - * @param message a message that describe the cause for the failure. - */ - public PJException(final String message) { - super(message); - } -} diff --git a/jniwrap/org.osgeo.proj/org/proj4/package-info.java b/jniwrap/org.osgeo.proj/org/proj4/package-info.java deleted file mode 100644 index dc38e762..00000000 --- a/jniwrap/org.osgeo.proj/org/proj4/package-info.java +++ /dev/null @@ -1,39 +0,0 @@ -/****************************************************************************** - * Project: PROJ.4 - * Purpose: Java/JNI wrappers for PROJ API. - * Author: Martin Desruisseaux - * - ****************************************************************************** - * Copyright (c) 2011-2018, Open Geospatial Consortium, Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - ****************************************************************************** - */ - -/** - * Wrappers for the <a href="https://proj.org/">PROJ</a> library. - * The {@link org.proj4.PJ} class contains only native methods delegating their work to the PROJ library. - * For higher-level methods making use of those native methods, see for example the - * <a href="http://www.geoapi.org/geoapi-proj4/index.html">GeoAPI bindings for PROJ</a>. - * - * @author Martin Desruisseaux (Geomatys) - * @version 5.1 - * @since 4.8 - */ -package org.proj4; |
