Geotools OGR плагин - неудовлетворенная линкуратор (OGRJI или GDALALLJNI)JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Geotools OGR плагин - неудовлетворенная линкуратор (OGRJI или GDALALLJNI)

Сообщение Anonymous »

Я работаю с Geotools, но я не могу правильно настроить GDAL для плагина OGR. Согласно расплывчатой ​​документации для плагина OGR, мне нужно использовать GDAL 3.2 или старше. 'gdalalljni'. И он отсутствует в версии 2.2.3. Однако, когда я вместо этого использую версию 3.1.4, я получаю неудовлетворенную племянницу для «Ogrjni», который правильно отсутствует в этой версии. Похоже, что в версии 2.2.3 отсутствует «gdalalljni.dll», которая была добавлена ​​в более поздних версиях, но затем удалил «ogrjni.dll». Из использования 3.1.4: < /p>
Native library load failed.
java.lang.UnsatisfiedLinkError: no ogrjni in java.library.path: [C:\Program Files\Java\jdk-11\bin, C:\WINDOWS\Sun\Java\bin, C:\WINDOWS\system32, C:\WINDOWS, C:\Program Files\Microsoft SDKs\Azure\CLI2\wbin, C:\Program Files (x86)\Common Files\Oracle\Java\javapath, C:\WINDOWS\system32, C:\WINDOWS, C:\WINDOWS\System32\Wbem, C:\WINDOWS\System32\WindowsPowerShell\v1.0\, C:\WINDOWS\System32\OpenSSH\, C:\Program Files\dotnet\, C:\Program Files\nodejs\, C:\Program Files\Microsoft SQL Server\150\Tools\Binn\, C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn\, C:\Program Files\PowerShell\7\, C:\Program Files\PuTTY\, C:\Program Files\RedHat\Podman\, C:\gdal-314\bin\gdal\java, C:\gdal-314\bin, C:\gdal-314\bin\gdal\apps, C:\aliases, C:\Users\sehe\AppData\Local\Programs\Git\cmd, C:\Users\sehe\AppData\Local\Programs\oh-my-posh\bin, C:\Users\sehe\AppData\Roaming\pypoetry\venv\Scripts, C:\Users\sehe\AppData\Local\Programs\Microsoft VS Code\bin, C:\Users\sehe\AppData\Roaming\npm, C:\Program Files\Azure Data Studio\bin, C:\Users\sehe\AppData\Local\Microsoft\WindowsApps, C:\Users\sehe\AppData\Local\Programs\EmEditor, C:\Users\sehe\AppData\Local\Pandoc\, C:\Users\sehe\AppData\Local\Programs\Gpg4win\..\GnuPG\bin, C:\Users\sehe\AppData\Roaming\Programs\Zero Install, C:\Users\sehe\.dotnet\tools, C:\grails-4.1.4\bin, ., .]
Caught: java.lang.UnsatisfiedLinkError: org.gdal.ogr.ogrJNI.GetDriverCount()I
java.lang.UnsatisfiedLinkError: org.gdal.ogr.ogrJNI.GetDriverCount()I
at org.gdal.ogr.ogrJNI.GetDriverCount(Native Method)
at org.gdal.ogr.ogr.GetDriverCount(ogr.java:114)
at org.geotools.data.ogr.jni.JniOGR.(JniOGR.java:88)
at org.geotools.data.ogr.jni.JniOGRDataStoreFactory.createOGR(JniOGRDataStoreFactory.java:32)
at org.geotools.data.ogr.OGRDataStoreFactory.getAvailableDrivers(OGRDataStoreFactory.java:285)
at GeotoolsTest.run(GeotoolsTest.groovy:12)
< /code>
Это пример кода, который снят (Groovy): < /p>
import org.geotools.data.ogr.OGRDataStoreFactory
import org.geotools.data.ogr.jni.JniOGRDataStoreFactory

OGRDataStoreFactory factory = new JniOGRDataStoreFactory()
for (String driver : factory.getAvailableDrivers()) {
System.out.println(driver);
}
< /code>
И вот мой Buildfile: < /p>
plugins {
id 'groovy'
}

group 'org.example'
version '1.0-SNAPSHOT'

repositories {
mavenCentral()
maven { url "https://repo.osgeo.org/repository/geotools-releases/" }
maven { url "https://packages.atlassian.com/maven-3rdparty/" }
}

dependencies {
implementation 'org.apache.groovy:groovy-all:4.0.14'

implementation group: 'org.geotools', name: 'gt-main', version: '32.1'
implementation group: 'org.geotools', name: 'gt-ogr-core', version: '32.1'
implementation group: 'org.geotools', name: 'gt-ogr-jni', version: '32.1'
}

test {
useJUnitPlatform()
}

configurations.all {

resolutionStrategy.eachDependency { DependencyResolveDetails details ->
if (details.requested.group == 'javax.media') {
if (details.requested.name == 'jai_core') {
details.useTarget group: 'javax.media', name: 'jai-core', version: details.requested.version
}
}
}
}
< /code>
Я гуглил эту ошибку в течение нескольких часов, и все источники продолжают говорить мне, чтобы проверить мой путь, который, как я уверен, настроена правильно. И в любом случае, проблема заключается в недостающих DLL из двоичных файлов. Но просто чтобы быть уверенным, вот переменные моей среды: < /p>
gdal_sdk_root = c: \ gdal-314
gdal_data = %gdal_sdk_root %\ bin \ gdal-data < /p>
path =%gdal_sdk_root%\ bin \ gdal \ java;%gdal_sdk_root%\ bin;%gdal_sdk_root%\ bin \ gdal \ apps < /p>
Благодарный за любую помощь!


Подробнее здесь: https://stackoverflow.com/questions/794 ... gdalalljni
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Создайте колонку FID в ShapeFile в OGR или Geopandas Python
    Anonymous » » в форуме Python
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Geotools не может найти базу данных HSQL EPSG, выдает ошибку: NoSuchAuthorityCodeException.
    Anonymous » » в форуме JAVA
    0 Ответы
    26 Просмотры
    Последнее сообщение Anonymous
  • Анализ файла GeoJSON с помощью Java Topology Suite или GeoTools
    Anonymous » » в форуме JAVA
    0 Ответы
    25 Просмотры
    Последнее сообщение Anonymous
  • Невозможно создать GeometryFactory: Причина: java.lang.NoClassDefFoundError: org/geotools/geometry/jts/JTSFactoryFinder
    Anonymous » » в форуме JAVA
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Geotools генерирует исключение NumberFormatException в Nasa WMTS?
    Anonymous » » в форуме JAVA
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»