Coder Social home page Coder Social logo

frett27 / jfgdb Goto Github PK

View Code? Open in Web Editor NEW
12.0 5.0 11.0 5.43 MB

Java File Geodatabase (FGDB) JNI Wrapper, permit to read/write simple features in .gdb from Java

License: Apache License 2.0

C++ 54.10% Java 42.72% Batchfile 0.04% Dockerfile 0.12% SWIG 3.02%
gis geodatabase api native crud simplefeature java

jfgdb's Introduction

jfgdb - Java File Geodatabase thin driver

FileGeodatabase (GDB) is a very efficient file format for storing GIS Data.

This package provide a java library wrapper and ESRI FileGeodatabaseAPI (1.4) embedding to a simple use on java.

This project bring a fast READ / WRITE of simple featureclasses for Java environment.

More informations on the FileGeodatabase API, supported plateform, can be found

https://github.com/Esri/file-geodatabase-api

Using this library, you MUST agree to the ESRI (inc), FileGeodatabase License conditions :

Additional FileGeodatabase API usage conditions are explained here : https://blogs.esri.com/esri/arcgis/2010/12/13/file-geodatabase-api-details/

Usage

This library has been compiled and tested on some Windows X64/x86, Linux x64. Extensive plateform tests could be done by the community.

Binaries are included for the windows plateform, for ease of use. Compilation on other plateforms are one command line far.

Binaries are also included in the jar file for moderns x64 Linux. Due to OS dependencies loading (dlopen primitive), see this note before running the jar.

Gradle / Maven access

Gradle :

Declare the repository

repositories {
    maven { url "http://jfgdb.s3-website-eu-west-1.amazonaws.com/maven2"}
}

And dependency in the project :

compile group: 'org.jfgdb', name: 'jfgdb', version:'0.1.4'

Maven :

   <dependency>
      <groupId>org.jfgdb</groupId>
      <artifactId>jfgdb</artifactId>
      <version>0.1.4</version>
    </dependency>

#How To Build the jar and native wrappers

git clone https://github.com/frett27/jfgdb

set JAVA_HOME=[YOUR_PATH_TO_JDK1.7_OR_UP]
set ESRI_FILE_GDB_HOME=[YOUR_PATH_TO_ESRIFGB1.3ROOTDIRECTORY]
gradlew build -x test distZip

the result is in build/distributions

Examples

See the samples folder for usage

jfgdb's People

Contributors

frett27 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

jfgdb's Issues

"cannot open shared object file: No such file or directory "in ubuntu 16.4

hello,i used it in ubuntu16.4,but when i call the initLibraries() method,it throw a exception whih "
/tmp/fgdbsharedlibs/0.1.4/libFGDBJNIWrapper.so: libFileGDBAPI.so: cannot open shared object file: No such file or directory".
but i check the floder " /tmp/fgdbsharedlibs/0.1.4",it's existd.
thanks.

Binary / Blob support,

Hi Patrice,

I'm using your Java File Geodatabase wrapper to read geodatabases and ran into an issue. There are some blob fields I'm trying to read out but it doesn't seem there are methods to do this via your wrapper. When reading through the documentation for the API it looks like there is a method row.getBinary that will return a byte array field, which seems like it could work to read the blobs.
image.png
Is there a reason the Java wrapper doesn't have this method?

Or, if I'm missing something, is there a way to read out the blob fields?

Thanks,
Jenna

The error "unrecognized command line option "-m32"" in ARM

Hi, We really like this library and use it on different platforms. When we compiled it on ARM architecture, the following error occurred: g++: error: unrecognized command line option '-m32'. We checked the error and unfortunately found that the -m compilation parameter of Arm gcc/g++ does not support 32-bit or 64-bit. So how do we solve this problem? Thank you

Can you tell me how to build the jar with command

Your project is the only one project which I can find with java and filegdbapi. It is very useful for me. But I have not accout S3 and I can not run gradle to build the jar. Can you tell me how to build the jar with cmd? Thank you very much.

issue with project root structure

Hi Patrice Freydiere,
i am running this gradle project on windows 7 64 bit environment, when i use gradle import and and try to build the project i am getting below project root structure
image

when i refer the code in jfgdb project build.gradle file it is trying to fetch fGDBJNIWrapperSharedLibrary from /nativewrapper/build/binaries and copying it in to output directory,but i am unable to see that folder in my native wrapper project root structure, can you please help me to resolve on this issue ,
image

Unable to load library

hi Patrice Freydiere,
when i try to run the CRUDExample.java it is calling SharedLibrariesInitializer class initLibraries method, there it is trying load loadingDll file using this NativeLibrary.getInstance(loadingDll); method we are getting below issue.

capture

Error in building the jar and native wrappers

Hi, I am very interested in jfgdb project. I want to build the jar and native wrappers on Linux. However,when I execute the code according to the method you give:gradlew build -x test distZip, the problem arised. The specific problems were as follows:
`Execution failed for task ':jfgdb:transfertPreparedBinaries'.

Unable to load AWS credentials from any provider in the chain: [EnvironmentVariableCredentialsProvider: Unable to load AWS credentials from environment variables (AWS_ACCESS_KEY_ID (or AWS_ACCESS_KEY) and AWS_SECRET_KEY (or AWS_SECRET_ACCESS_KEY)), SystemPropertiesCredentialsProvider: Unable to load AWS credentials from Java system properties (aws.accessKeyId and aws.secretKey), com.amazonaws.auth.profile.ProfileCredentialsProvider@7434ee13: profile file cannot be null, com.amazonaws.auth.EC2ContainerCredentialsProviderWrapper@14b48f39: Unable to load credentials from service endpoint]`.
Hence, can you solve the problem?thank you!

Where to set maven reference

Hi, trying to execute samples in windows environment, but getting lot of errors. in Readme file i have seen set maven reference to jfgdb, where exactly we have to set it. am totally new to gradle and geodatabase. please guide me.

How to use it "as jdbc driver" in clients

Hello.

How to use this driver in client apps like DBeaver?

In DBeaver I can add custom drivers using sintax bellow, but I don´t know how fill some params (class, url):

<driver 
    id="jfgdb" 
    category="ESRI Filegeodatabase" 
    categories="embedded,file" 
    name="fGDB" 
    class="<main class?>" 
    url="jdbc:?" 
    description="JDBC driver for ESRI FGDB" 
    custom="true" 
    embedded="false" 
    anonymous="true">
        <library type="jar" path="D:\Desenv\jFGDB-driver\jfgdb-0.1.4.1-SNAPSHOT.jar" custom="true"/>
</driver>

Any help, pls?

Adrian

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.