Lisää

Virhe GDAL Java -sidonnan käytössä

Virhe GDAL Java -sidonnan käytössä


Käytän GDAL: n Java -sidontaa heijastamaan koordinaattipisteitä UTM: stä lat/logiin käyttämällä GDAL: n CoordinateTransformation Class -luokkaa. Olen kirjoittanut koodin seuraavasti:

SpatialReference oUTM = uusi SpatialReference (); SpatialReference oLatLog = uusi SpatialReference (); oUTM.SetProjCS ("UTM 44/ WGS84"); oUTM.SetWellKnownGeogCS ("WGS84"); OUTM.SETUTM (44, 1); oLatLog = oUTM.CloneGeogCS (); double [] arr = new double [2]; arr [0] = 10; arr [1] = 10; kaksinkertainen x = arr [0], y = arr [1]; CoordinateTransformation transform = new CoordinateTransformation (oUTM, oLatLog); transform.TransformPoint (arr); System.out.println ("Ennen:"+x+""+y+" nJälkeen:"+arr [0]+""+arr [1]);

Mutta kun suoritan tämän päätoiminnossani, saan seuraavan virheilmoituksen: Poikkeus säikeessä "main" java.lang.UnsatisfiedLinkError:

org.gdal.osr.osrJNI.new_SpatialReference__SWIG_1 () J at org.gdal.osr.osrJNI.new_SpatialReference__SWIG_1 (Native Method) osoitteessa org.gdal.osr.SpatialReference.(SpatialReference.java:117) at controller.CrsConverterGDAL.main (CrsConverterGDAL.java:8)

Tietääkö kukaan miten tämä voidaan korjata?


Voittaaksesi tyytymättömän linkerrorin gdalissa sinun on tarkistettava, että ohjelmasi pystyy lukemaan oikeat gdal -ympäristömuuttujat ja .dll -tiedostot. Tässä on lyhyt menettely.

Noudata nyt alla mainittua asennusmenettelyä.

Lataa ja poista gdal zip -tiedosto sen sivustosta ja tallenna johonkin asemaan, mieluiten C -asemaan.

Syötä nyt seuraavat tiedot tietokoneesi ympäristömuuttujiin.

  1. SET muuttujan nimi = GDAL_DATA ja muuttujan arvo = C: gdal bin gdal-data

  2. SET muuttujan nimi = GDAL_DRIVER_PATH ja muuttujan arvo = C: gdal bin gdal plugins

  3. LIITÄ muuttujan nimessä = PATH ja muuttujan arvo = C: gdal bin

  4. LIITÄ muuttujan nimessä = PATH ja muuttujan arvo = C: gdal bin gdal apps

  5. Sitten sinun on liitettävä neljä .dll -tiedostoa eli gdalconstjni.dll, gdaljni.dll, ogrjni.dll ja osrjni.dll C: gdal bin gdal java jdk bin -kansioon.

Neljä vaihetta tarvitaan, jos haluat käyttää gdal -työkaluja mistä tahansa tietokoneesi paikasta.

Vaihe 5 on tarkoitettu erityisesti javalle.

Sinun on sisällytettävä gdal.jar projektisi luokkareitillä jonka olet jo tehnyt.

Varmista vain x86- ja x64 -tyyppiset Java- ja gdal -ohjelmat, joita käytetään ohjelmassasi.

Lisätietoja java -blogeista


Gdal/java -sidontasi ei toimi. Jos käytät Linuxia, noudata ohjeita osoitteessa https://github.com/VertNet/reproject/wiki/GDAL-Java-Bindings


Törmäsin tähän ongelmaan ja huomasin lopulta, että gdal -versio, joka minulla oli build.gradle -tiedostossa (v3.0.0), oli uudempi ja ilmeisesti yhteensopimaton tietokoneeseen asennetun gdal -version kanssa (v2.4.2). Vaihdoin build.gradlen versionumeron 2.4.2: ksi ja se toimi.


Katso video: GDAL Tutorial #1: Introduction + Installation