Geospatial Image Processing for Python

Related tags

Geolocationgippy
Overview

GIPPY

https://circleci.com/gh/gipit/gippy.svg?style=svg&circle-token=fb40999b03328dc633a4d654f680eb5e1a6f3a2d

Gippy is a Python library for image processing of geospatial raster data. The core of the library is implemented as a C++ library, libgip, with Python bindings automatically generated with swig. Gippy encapsulates the functionality of GDAL and CImg that automatically handles issues common to geospatial data, such as handling of nodata values and chunking up of very large images by saving chains of functions and only processing the image in pieces upon a read request. In addition to providing a library of image processing functions and algorithms, Gippy can also be used as a simpler interface to GDAL for the opening, creating, reading and writing of geospatial raster files in Python.

See the full documentation.

Authors and Contributors

  • Matthew Hanson
  • Ian Cooke
  • Alireza Jazayeri
**GIPPY**: Geospatial Image Processing for Python

AUTHOR: Matthew Hanson
EMAIL:  [email protected]

Copyright (C) 2015 Applied Geosolutions
EMAIL: [email protected]

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Comments
  • ImportError: libgip.so: cannot open shared object file: No such file or directory

    ImportError: libgip.so: cannot open shared object file: No such file or directory

    This happens on master as well as develop:

    #!/bin/bash
    
    $PYTHON setup.py build
    $PYTHON setup.py install
    
    ls lib/python2.7/site-packages/gippy
    algorithms.py   _algorithms.so  gippy.pyc  __init__.py   libgip.so  test.pyc    version.pyc
    algorithms.pyc  gippy.py        _gippy.so  __init__.pyc  test.py    version.py
    
    Python 2.7.13 |Continuum Analytics, Inc.| (default, Dec 20 2016, 23:09:15) 
    [GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    Anaconda is brought to you by Continuum Analytics.
    Please check out: http://continuum.io/thanks and https://anaconda.org
    >>> import numpy
    >>> import potrace
    >>> import gippy
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "/home/vagrant/miniconda2/envs/bfalg/lib/python2.7/site-packages/gippy/__init__.py", line 41, in <module>
        from .gippy import init, DataType, GeoImage, GeoVector, Options
      File "/home/vagrant/miniconda2/envs/bfalg/lib/python2.7/site-packages/gippy/gippy.py", line 30, in <module>
        _gippy = swig_import_helper()
      File "/home/vagrant/miniconda2/envs/bfalg/lib/python2.7/site-packages/gippy/gippy.py", line 26, in swig_import_helper
        _mod = imp.load_module('_gippy', fp, pathname, description)
    ImportError: libgip.so: cannot open shared object file: No such file or directory
    
    opened by benhosmer 15
  • libgip.so: cannot open shared object file

    libgip.so: cannot open shared object file

    I'm attempting to install gippy on my laptop from my (up-to-date) fork of the repo. I've come across this issue with libgip.so before, but I cannot remember the cause. Leaving only the commands and import error

    $ sudo git clean -xfd ; \
      python setup.py build ; \
      sudo python setup.py install ; \
      cd ~ ; \
      python -c "import gippy ; print 'success' "
    
    [[[ snipped compilation and installation output ]]]
    
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/usr/local/lib/python2.7/dist-packages/gippy/__init__.py", line 23, in <module>
        from gippy import *
      File "/usr/local/lib/python2.7/dist-packages/gippy/gippy.py", line 32, in <module>
        _gippy = swig_import_helper()
      File "/usr/local/lib/python2.7/dist-packages/gippy/gippy.py", line 28, in swig_import_helper
        _mod = imp.load_module('_gippy', fp, pathname, description)
    ImportError: libgip.so: cannot open shared object file: No such file or directory
    

    But everything seems to be there

    /usr/local/lib/python2.7/dist-packages/
    ├── gippy
    │   ├── algorithms.py
    │   ├── algorithms.pyc
    │   ├── _algorithms.so
    │   ├── gippy.py
    │   ├── gippy.pyc
    │   ├── _gippy.so
    │   ├── __init__.py
    │   ├── __init__.pyc
    │   ├── libgip.so
    │   ├── tests.py
    │   ├── tests.pyc
    │   ├── _tests.so
    │   ├── version.py
    │   └── version.pyc
    └── gippy-0.3.3.egg-info
        ├── dependency_links.txt
        ├── PKG-INFO
        ├── SOURCES.txt
        └── top_level.txt
    

    below is the build output:

    running build
    running build_py
    creating build
    creating build/lib.linux-x86_64-2.7
    creating build/lib.linux-x86_64-2.7/gippy
    copying gippy/version.py -> build/lib.linux-x86_64-2.7/gippy
    copying gippy/__init__.py -> build/lib.linux-x86_64-2.7/gippy
    running build_ext
    building 'gippy/libgip' extension
    creating build/temp.linux-x86_64-2.7
    creating build/temp.linux-x86_64-2.7/GIP
    x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -IGIP -I/usr/include/python2.7 -c GIP/GeoRaster.cpp -o build/temp.linux-x86_64-2.7/GIP/GeoRaster.o -std=c++11 -O3 -DBOOST_LOG_DYN_LINK
    cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
    x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -IGIP -I/usr/include/python2.7 -c GIP/GeoImage.cpp -o build/temp.linux-x86_64-2.7/GIP/GeoImage.o -std=c++11 -O3 -DBOOST_LOG_DYN_LINK
    cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
    x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -IGIP -I/usr/include/python2.7 -c GIP/GeoAlgorithms.cpp -o build/temp.linux-x86_64-2.7/GIP/GeoAlgorithms.o -std=c++11 -O3 -DBOOST_LOG_DYN_LINK
    cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
    x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -IGIP -I/usr/include/python2.7 -c GIP/gip_gdal.cpp -o build/temp.linux-x86_64-2.7/GIP/gip_gdal.o -std=c++11 -O3 -DBOOST_LOG_DYN_LINK
    cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
    x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -IGIP -I/usr/include/python2.7 -c GIP/GeoResource.cpp -o build/temp.linux-x86_64-2.7/GIP/GeoResource.o -std=c++11 -O3 -DBOOST_LOG_DYN_LINK
    cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
    x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -IGIP -I/usr/include/python2.7 -c GIP/GeoSpatialContext.cpp -o build/temp.linux-x86_64-2.7/GIP/GeoSpatialContext.o -std=c++11 -O3 -DBOOST_LOG_DYN_LINK
    cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
    x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -IGIP -I/usr/include/python2.7 -c GIP/GeoVectorResource.cpp -o build/temp.linux-x86_64-2.7/GIP/GeoVectorResource.o -std=c++11 -O3 -DBOOST_LOG_DYN_LINK
    cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
    x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -IGIP -I/usr/include/python2.7 -c GIP/tests.cpp -o build/temp.linux-x86_64-2.7/GIP/tests.o -std=c++11 -O3 -DBOOST_LOG_DYN_LINK
    cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
    x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -IGIP -I/usr/include/python2.7 -c GIP/GeoImages.cpp -o build/temp.linux-x86_64-2.7/GIP/GeoImages.o -std=c++11 -O3 -DBOOST_LOG_DYN_LINK
    cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
    c++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wl,-Bsymbolic-functions -Wl,-z,relro -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security build/temp.linux-x86_64-2.7/GIP/GeoRaster.o build/temp.linux-x86_64-2.7/GIP/GeoImage.o build/temp.linux-x86_64-2.7/GIP/GeoAlgorithms.o build/temp.linux-x86_64-2.7/GIP/gip_gdal.o build/temp.linux-x86_64-2.7/GIP/GeoResource.o build/temp.linux-x86_64-2.7/GIP/GeoSpatialContext.o build/temp.linux-x86_64-2.7/GIP/GeoVectorResource.o build/temp.linux-x86_64-2.7/GIP/tests.o build/temp.linux-x86_64-2.7/GIP/GeoImages.o -Lbuild/lib.linux-x86_64-2.7/gippy -o build/lib.linux-x86_64-2.7/gippy/libgip.so
    building 'gippy/_gippy' extension
    swigging gippy/gippy.i to gippy/gippy_wrap.cpp
    swig -python -c++ -w509 -IGIP -o gippy/gippy_wrap.cpp gippy/gippy.i
    creating build/temp.linux-x86_64-2.7/gippy
    x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -IGIP -I/home/icooke/.local/lib/python2.7/site-packages/numpy/core/include -I/usr/include/gdal -I/usr/include/python2.7 -c gippy/gippy_wrap.cpp -o build/temp.linux-x86_64-2.7/gippy/gippy_wrap.o -fPIC -std=c++11 -DBOOST_LOG_DYN_LINK
    cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
    gippy/gippy_wrap.cpp: In function ‘PyObject* _wrap_new_GeoImages(PyObject*, PyObject*)’:
    gippy/gippy_wrap.cpp:4765:61: warning: ‘argv[0]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
      return traits_asptr_stdseq<std::vector<T> >::asptr(obj, vec);
                                                                 ^
    gippy/gippy_wrap.cpp:28262:13: note: ‘argv[0]’ was declared here
       PyObject *argv[2];
                 ^
    gippy/gippy_wrap.cpp: In function ‘PyObject* _wrap_new_mapss(PyObject*, PyObject*)’:
    gippy/gippy_wrap.cpp:5295:4: warning: ‘argv[0]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
        res = SWIG_ConvertPtr(obj,(void**)&p,swig::type_info<map_type>(),0);
        ^
    gippy/gippy_wrap.cpp:11317:13: note: ‘argv[0]’ was declared here
       PyObject *argv[2];
                 ^
    c++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wl,-Bsymbolic-functions -Wl,-z,relro -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security build/temp.linux-x86_64-2.7/gippy/gippy_wrap.o -Lbuild/lib.linux-x86_64-2.7/gippy -lgip -lgdal -lboost_system -lboost_filesystem -lboost_log -lpthread -o build/lib.linux-x86_64-2.7/gippy/_gippy.so
    building 'gippy/_tests' extension
    swigging gippy/tests.i to gippy/tests_wrap.cpp
    swig -python -c++ -w509 -IGIP -o gippy/tests_wrap.cpp gippy/tests.i
    x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -IGIP -I/home/icooke/.local/lib/python2.7/site-packages/numpy/core/include -I/usr/include/gdal -I/usr/include/python2.7 -c gippy/tests_wrap.cpp -o build/temp.linux-x86_64-2.7/gippy/tests_wrap.o -fPIC -std=c++11 -DBOOST_LOG_DYN_LINK
    cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
    gippy/tests_wrap.cpp: In function ‘PyObject* _wrap_new_GeoImages(PyObject*, PyObject*)’:
    gippy/tests_wrap.cpp:4758:61: warning: ‘argv[0]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
      return traits_asptr_stdseq<std::vector<T> >::asptr(obj, vec);
                                                                 ^
    gippy/tests_wrap.cpp:28243:13: note: ‘argv[0]’ was declared here
       PyObject *argv[2];
                 ^
    gippy/tests_wrap.cpp: In function ‘PyObject* _wrap_new_mapss(PyObject*, PyObject*)’:
    gippy/tests_wrap.cpp:5288:4: warning: ‘argv[0]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
        res = SWIG_ConvertPtr(obj,(void**)&p,swig::type_info<map_type>(),0);
        ^
    gippy/tests_wrap.cpp:11298:13: note: ‘argv[0]’ was declared here
       PyObject *argv[2];
                 ^
    c++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wl,-Bsymbolic-functions -Wl,-z,relro -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security build/temp.linux-x86_64-2.7/gippy/tests_wrap.o -Lbuild/lib.linux-x86_64-2.7/gippy -lgip -lgdal -lboost_system -lboost_filesystem -lboost_log -lpthread -o build/lib.linux-x86_64-2.7/gippy/_tests.so
    building 'gippy/_algorithms' extension
    swigging gippy/algorithms.i to gippy/algorithms_wrap.cpp
    swig -python -c++ -w509 -IGIP -o gippy/algorithms_wrap.cpp gippy/algorithms.i
    x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -IGIP -I/home/icooke/.local/lib/python2.7/site-packages/numpy/core/include -I/usr/include/gdal -I/usr/include/python2.7 -c gippy/algorithms_wrap.cpp -o build/temp.linux-x86_64-2.7/gippy/algorithms_wrap.o -fPIC -std=c++11 -DBOOST_LOG_DYN_LINK
    cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
    gippy/algorithms_wrap.cpp: In function ‘PyObject* _wrap_new_GeoImages(PyObject*, PyObject*)’:
    gippy/algorithms_wrap.cpp:4757:61: warning: ‘argv[0]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
      return traits_asptr_stdseq<std::vector<T> >::asptr(obj, vec);
                                                                 ^
    gippy/algorithms_wrap.cpp:28258:13: note: ‘argv[0]’ was declared here
       PyObject *argv[2];
                 ^
    gippy/algorithms_wrap.cpp: In function ‘PyObject* _wrap_new_mapss(PyObject*, PyObject*)’:
    gippy/algorithms_wrap.cpp:5287:4: warning: ‘argv[0]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
        res = SWIG_ConvertPtr(obj,(void**)&p,swig::type_info<map_type>(),0);
        ^
    gippy/algorithms_wrap.cpp:11313:13: note: ‘argv[0]’ was declared here
       PyObject *argv[2];
                 ^
    c++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wl,-Bsymbolic-functions -Wl,-z,relro -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security build/temp.linux-x86_64-2.7/gippy/algorithms_wrap.o -Lbuild/lib.linux-x86_64-2.7/gippy -lgip -lgdal -lboost_system -lboost_filesystem -lboost_log -lpthread -o build/lib.linux-x86_64-2.7/gippy/_algorithms.so
    running install
    module <setuptools.extension.Extension instance at 0x7f3ae522d2d8> /usr/local/lib/python2.7/dist-packages/gippy
    module <setuptools.extension.Extension instance at 0x7f3ae37236c8> /usr/local/lib/python2.7/dist-packages/gippy
    module <setuptools.extension.Extension instance at 0x7f3ae3723758> /usr/local/lib/python2.7/dist-packages/gippy
    module <setuptools.extension.Extension instance at 0x7f3ae3723a70> /usr/local/lib/python2.7/dist-packages/gippy
    running build_ext
    running build
    running build_py
    copying gippy/tests.py -> build/lib.linux-x86_64-2.7/gippy
    copying gippy/algorithms.py -> build/lib.linux-x86_64-2.7/gippy
    copying gippy/gippy.py -> build/lib.linux-x86_64-2.7/gippy
    running install_lib
    creating /usr/local/lib/python2.7/dist-packages/gippy
    copying build/lib.linux-x86_64-2.7/gippy/tests.py -> /usr/local/lib/python2.7/dist-packages/gippy
    copying build/lib.linux-x86_64-2.7/gippy/version.py -> /usr/local/lib/python2.7/dist-packages/gippy
    copying build/lib.linux-x86_64-2.7/gippy/__init__.py -> /usr/local/lib/python2.7/dist-packages/gippy
    copying build/lib.linux-x86_64-2.7/gippy/libgip.so -> /usr/local/lib/python2.7/dist-packages/gippy
    copying build/lib.linux-x86_64-2.7/gippy/algorithms.py -> /usr/local/lib/python2.7/dist-packages/gippy
    copying build/lib.linux-x86_64-2.7/gippy/gippy.py -> /usr/local/lib/python2.7/dist-packages/gippy
    copying build/lib.linux-x86_64-2.7/gippy/_algorithms.so -> /usr/local/lib/python2.7/dist-packages/gippy
    copying build/lib.linux-x86_64-2.7/gippy/_gippy.so -> /usr/local/lib/python2.7/dist-packages/gippy
    copying build/lib.linux-x86_64-2.7/gippy/_tests.so -> /usr/local/lib/python2.7/dist-packages/gippy
    byte-compiling /usr/local/lib/python2.7/dist-packages/gippy/tests.py to tests.pyc
    byte-compiling /usr/local/lib/python2.7/dist-packages/gippy/version.py to version.pyc
    byte-compiling /usr/local/lib/python2.7/dist-packages/gippy/__init__.py to __init__.pyc
    byte-compiling /usr/local/lib/python2.7/dist-packages/gippy/algorithms.py to algorithms.pyc
    byte-compiling /usr/local/lib/python2.7/dist-packages/gippy/gippy.py to gippy.pyc
    running install_egg_info
    running egg_info
    creating gippy.egg-info
    writing gippy.egg-info/PKG-INFO
    writing top-level names to gippy.egg-info/top_level.txt
    writing dependency_links to gippy.egg-info/dependency_links.txt
    writing manifest file 'gippy.egg-info/SOURCES.txt'
    reading manifest file 'gippy.egg-info/SOURCES.txt'
    reading manifest template 'MANIFEST.in'
    writing manifest file 'gippy.egg-info/SOURCES.txt'
    Copying gippy.egg-info to /usr/local/lib/python2.7/dist-packages/gippy-0.3.3.egg-info
    running install_scripts
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "gippy/__init__.py", line 23, in <module>
        from gippy import *
      File "gippy/gippy.py", line 32, in <module>
        _gippy = swig_import_helper()
      File "gippy/gippy.py", line 24, in swig_import_helper
        import _gippy
    ImportError: No module named _gippy
    
    question 
    opened by ircwaves 8
  • Installation problem on Archlinux

    Installation problem on Archlinux

    Hi,

    Installation seems not working on Archlinux :

    $ python2 setup.py install running install running build_ext building 'gippy/libgip' extension creating build creating build/temp.linux-x86_64-2.7 creating build/temp.linux-x86_64-2.7/GIP gcc -pthread -fno-strict-aliasing -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -DNDEBUG -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fPIC -IGIP -I/usr/lib/python2.7/site-packages/numpy/core/include -I/usr/include -I/usr/include/python2.7 -c GIP/GeoVectorResource.cpp -o build/temp.linux-x86_64-2.7/GIP/GeoVectorResource.o -fPIC -O3 -std=c++11 -Wno-maybe-uninitialized GIP/GeoVectorResource.cpp: Dans le constructeur ‘gip::GeoVectorResource::GeoVectorResource(std::__cxx11::string, std::__cxx11::string)’: GIP/GeoVectorResource.cpp:37:30: erreur : ‘Open’ is not a member of ‘OGRSFDriverRegistrar’ _OGRDataSource.reset(OGRSFDriverRegistrar::Open(filename.c_str()), OGRDataSource::DestroyDataSource); ^~~~~~~~~~~~~~~~~~~~ GIP/GeoVectorResource.cpp:37:91: attention : ‘static void OGRDataSource::DestroyDataSource(OGRDataSource*)’ is deprecated [-Wdeprecated-declarations] .reset(OGRSFDriverRegistrar::Open(filename.c_str()), OGRDataSource::DestroyDataSource); ^~~~~~~~~~~~~~~~~ In file included from GIP/gip/GeoVectorResource.h:28:0, from GIP/GeoVectorResource.cpp:22: /usr/include/ogrsf_frmts.h:245:25: note : declared here static void DestroyDataSource( OGRDataSource * ) OGR_DEPRECATED("Use GDALDataset class instead"); ^~~~~~~~~~~~~~~~~ error: command 'gcc' failed with exit status 1

    I tried with pip before :

    $ pip install gippy Collecting gippy Using cached gippy-0.3.5.tar.gz Building wheels for collected packages: gippy Running setup.py bdist_wheel for gippy ... error Complete output from command /usr/bin/python -u -c "import setuptools, tokenize;file='/tmp/pip-build-_8sgx0ja/gippy/setup.py';exec(compile(getattr(tokenize, 'open', open)(file).read().replace('\r\n', '\n'), file, 'exec'))" bdist_wheel -d /tmp/tmp6edpypnrpip-wheel- --python-tag cp35: running bdist_wheel running build_ext building 'gippy/libgip' extension creating build creating build/temp.linux-x86_64-3.5 creating build/temp.linux-x86_64-3.5/GIP gcc -pthread -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fPIC -IGIP -I/usr/include/python3.5m -c GIP/tests.cpp -o build/temp.linux-x86_64-3.5/GIP/tests.o -std=c++11 -O3 -DBOOST_LOG_DYN_LINK cc1plus: attention : command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++ In file included from GIP/gip/GeoImage.h:25:0, from GIP/gip/tests.h:25, from GIP/tests.cpp:23: GIP/gip/GeoResource.h:32:28: erreur fatale : gdal/gdal_priv.h : Aucun fichier ou dossier de ce type #include <gdal/gdal_priv.h> ^ compilation terminée. error: command 'gcc' failed with exit status 1

    Failed building wheel for gippy Running setup.py clean for gippy Failed to build gippy Installing collected packages: gippy Running setup.py install for gippy ... error Complete output from command /usr/bin/python -u -c "import setuptools, tokenize;file='/tmp/pip-build-_8sgx0ja/gippy/setup.py';exec(compile(getattr(tokenize, 'open', open)(file).read().replace('\r\n', '\n'), file, 'exec'))" install --record /tmp/pip-wq24jaxn-record/install-record.txt --single-version-externally-managed --compile: running install running build_ext building 'gippy/libgip' extension creating build creating build/temp.linux-x86_64-3.5 creating build/temp.linux-x86_64-3.5/GIP gcc -pthread -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fPIC -IGIP -I/usr/include/python3.5m -c GIP/tests.cpp -o build/temp.linux-x86_64-3.5/GIP/tests.o -std=c++11 -O3 -DBOOST_LOG_DYN_LINK cc1plus: attention : command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++ In file included from GIP/gip/GeoImage.h:25:0, from GIP/gip/tests.h:25, from GIP/tests.cpp:23: GIP/gip/GeoResource.h:32:28: erreur fatale : gdal/gdal_priv.h : Aucun fichier ou dossier de ce type #include <gdal/gdal_priv.h> ^ compilation terminée. error: command 'gcc' failed with exit status 1

    ----------------------------------------
    

    Command "/usr/bin/python -u -c "import setuptools, tokenize;file='/tmp/pip-build-_8sgx0ja/gippy/setup.py';exec(compile(getattr(tokenize, 'open', open)(file).read().replace('\r\n', '\n'), file, 'exec'))" install --record /tmp/pip-wq24jaxn-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-_8sgx0ja/gippy/

    I have gdal_priv.h on my installation :

    $ locate gdal_priv.h /usr/include/gdal_priv.h $ gdal-config --cflags -I/usr/include

    Any suggestion ?

    Sincerely,

    Sylvain

    opened by kikislater 7
  • Installation does not work.

    Installation does not work.

    Tried:

    sudo apt-get install libgdal1h gdal-bin libgdal-dev g++4.8

    E: Unable to locate package g++4.8 E: Couldn't find any package by regex 'g++4.8'

    Also, within a virtualenv, tried

    pip install gippy -pre

    and got:

    Invalid requirement: '–pre' Traceback (most recent call last): File "/home/ubuntu/venv2/local/lib/python2.7/site-packages/pip/req/req_install.py", line 77, in init req = pkg_resources.Requirement.parse(req) File "/home/ubuntu/venv2/local/lib/python2.7/site-packages/pip/_vendor/pkg_resources/init.py", line 3036, in parse req, = parse_requirements(s) File "/home/ubuntu/venv2/local/lib/python2.7/site-packages/pip/_vendor/pkg_resources/init.py", line 2967, in parse_requirements raise RequirementParseError("Missing distribution spec", line) RequirementParseError: Missing distribution spec –pre

    opened by kstamatiou 7
  • fix(chunks): using numchunks didn't cover image

    fix(chunks): using numchunks didn't cover image

    I believe this is straight forward -- found in 0.3.x branch, and also exists in mainline development.

    I hope the expansion/tweaks to the chunking test make sense to cover the cases. The previous test_GeoResource.test_chunking didn't actually assert about the final chunk.

    :+1: to @justinfisk for the help in sorting this out on the 0.3.x branch.

    opened by ircwaves 5
  • error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

    error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

    I'm getting this error when trying to install gippy: command 'x86_64-linux-gnu-gcc' failed with exit status 1, after running sudo python setup.py install

    running install DEBUG:setup.py:_install finalize_options DEBUG:setup.py:_install run running build_ext DEBUG:setup.py:_build_ext run building 'gippy/libgip' extension x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -fPIC -IGIP -I/usr/lib/python2.7/dist-packages/numpy/core/include -I/usr/include/gdal -I/usr/include/python2.7 -c GIP/GeoAlgorithms.cpp -o build/temp.linux-x86_64-2.7/GIP/GeoAlgorithms.o -fPIC -O3 -std=c++11 -Wno-maybe-uninitialized x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -fPIC -IGIP -I/usr/lib/python2.7/dist-packages/numpy/core/include -I/usr/include/gdal -I/usr/include/python2.7 -c GIP/GeoVectorResource.cpp -o build/temp.linux-x86_64-2.7/GIP/GeoVectorResource.o -fPIC -O3 -std=c++11 -Wno-maybe-uninitialized GIP/GeoVectorResource.cpp: In constructor 'gip::GeoVectorResource::GeoVectorResource(std::string, std::string)': GIP/GeoVectorResource.cpp:37:30: error: 'Open' is not a member of 'OGRSFDriverRegistrar' _OGRDataSource.reset(OGRSFDriverRegistrar::Open(filename.c_str()), OGRDataSource::DestroyDataSource); ^ GIP/GeoVectorResource.cpp:37:91: warning: 'static void OGRDataSource::DestroyDataSource(OGRDataSource*)' is deprecated (declared at /usr/include/gdal/ogrsf_frmts.h:245) [-Wdeprecated-declarations] _OGRDataSource.reset(OGRSFDriverRegistrar::Open(filename.c_str()), OGRDataSource::DestroyDataSource); ^ GIP/GeoVectorResource.cpp: In member function 'gip::BoundingBox gip::GeoVectorResource::extent() const': GIP/GeoVectorResource.cpp:99:38: warning: ignoring return value of function declared with attribute warn_unused_result [-Wunused-result] _Layer->GetExtent(&ext, true); ^ error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

    Could anyone help me to resolve this?

    opened by yurithefury 4
  • How do I read a GeoImage into integral typed numpy arrays?

    How do I read a GeoImage into integral typed numpy arrays?

    This is another question related to migrating gips from gippy 0.3 to 1.0.

    I've instantiated GeoImages using an existing file in a couple different ways, sometimes in a form that lets me specify a dtype, sometimes not. But regardless of the value of eg image.type().string(), or image[0].type().string(), the numpy array returned by image.read() is always float64. I can work around that by eg image.read().astype('uint16'), but that results in two unneeded type conversions, which hurts performance.

    The band I need to process is the 16-bit QA band for landsat C1 data. float64 is obviously a type error if you try to do bit-fiddling on it (>> and & in our case).

    opened by ra-tolson 3
  • python setup.py error

    python setup.py error

    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "gippy/__init__.py", line 23, in <module>
        from gippy import *
      File "gippy/gippy.py", line 30, in <module>
        _gippy = swig_import_helper()
      File "gippy/gippy.py", line 22, in swig_import_helper
        import _gippy
    ImportError: No module named _gippy
    
    bug 
    opened by scisco 3
  • GIP/gip/GeoResource.h:32:28: fatal error: gdal/gdal_priv.h: No such file or directory

    GIP/gip/GeoResource.h:32:28: fatal error: gdal/gdal_priv.h: No such file or directory

    I am using GDAL version 1.11.2 and gdal_priv.h is located at ./gdal1.11.2/gcore/gdal_priv.h. When I compile gippy, I get this compiler error:

    ~/dev/gis/gippy$ python setup.py build running build running build_py creating build creating build/lib.linux-x86_64-2.7 creating build/lib.linux-x86_64-2.7/gippy copying gippy/version.py -> build/lib.linux-x86_64-2.7/gippy copying gippy/init.py -> build/lib.linux-x86_64-2.7/gippy running build_ext building 'gippy/libgip' extension creating build/temp.linux-x86_64-2.7 creating build/temp.linux-x86_64-2.7/GIP x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -IGIP -I/usr/include/python2.7 -c GIP/GeoImage.cpp -o build/temp.linux-x86_64-2.7/GIP/GeoImage.o -std=c++11 -O3 -DBOOST_LOG_DYN_LINK cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++ [enabled by default] In file included from GIP/gip/GeoImage.h:25:0, from GIP/GeoImage.cpp:22: GIP/gip/GeoResource.h:32:28: fatal error: gdal/gdal_priv.h: No such file or directory #include <gdal/gdal_priv.h> ^ compilation terminated. error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

    opened by bmoskovi 3
  • support GDAL SetGeotransform or equivalent

    support GDAL SetGeotransform or equivalent

    I typically construct geo-image data by specifying an array, a projection, and a geotransform. This could be handled in gippy with the existing constructors if there was a method to set the geotransform (as in GDAL), or separate methods to set spatial resolution, and UL X and Y coordinates.

    feature 
    opened by bhbraswell 3
  • Rect width/height methods assume grid spacing of 1

    Rect width/height methods assume grid spacing of 1

    as discussed with @matthewhanson -- the width being

    p1.x - p0.x + 1 
    

    properly computes the width for a pixel grid where the spacing is 1. But if the spacing is not 1 (call it res), then this will be res - 1 short of the actual width.

    opened by ircwaves 3
  • Build errors: attempt to instantiate abstract class; other likely problems relating to heavy abuses of virtual classes, overrides, etc?

    Build errors: attempt to instantiate abstract class; other likely problems relating to heavy abuses of virtual classes, overrides, etc?

    This repo needs some serious attention w.r.t. to successful c++ compilation with a standard compiler flags. I would suggest far less use of virtual/abstract classes, and/or re-writing the code in a different language that is designed for that.

    opened by justin-ashworth-research 1
  • using cimg.i CImgToArr with boost::python segfault

    using cimg.i CImgToArr with boost::python segfault

    The ArrToCImg() function in cimg.i was causing a segfault

    The fix is detailed below

    `// Convert CImg into numpy array - https://github.com/gipit/gippy/blob/master/gippy/cimg.i // template PyObject* CImgToArr(CImg cimg) {
    int typenum; int numdim = 4;
    npy_intp dims[] = { cimg.spectrum(), cimg.depth(), cimg.height(), cimg.width() }; if (typeid(T) == typeid(uint8_t)) typenum = NPY_UINT8; else if (typeid(T) == typeid(int8_t)) typenum = NPY_INT8; else if (typeid(T) == typeid(uint16_t)) typenum = NPY_UINT16; else if (typeid(T) == typeid(int16_t)) typenum = NPY_INT16; else if (typeid(T) == typeid(uint32_t)) typenum = NPY_UINT32; else if (typeid(T) == typeid(int32_t)) typenum = NPY_INT32; else if (typeid(T) == typeid(uint64_t)) typenum = NPY_UINT64; else if (typeid(T) == typeid(int64_t)) typenum = NPY_INT64; else if (typeid(T) == typeid(float)) typenum = NPY_FLOAT32; else if (typeid(T) == typeid(double)) typenum = NPY_FLOAT64; else throw(std::runtime_error("Error converting CImg to numpy array"));

    if (cimg.spectrum() == 1) { numdim = 3; if (cimg.depth() == 1) { numdim=2; if (cimg.height() == 1) { numdim=1; } } }

    // segfault@ was caused by not calling import_array() inside BOOST_PYTHON_MODULE() // however import_array() didn't compile and required a second fix, a wrapper function // for import_array() as noted in https://wanzenbug.xyz/boost-numpy/ // // reinterpret_cast https://forge.epn-campus.eu/svn/magnetix/src/pythonAPI/NumpyConverter.cpp // PyArray_SimpleNewFromData https://docs.scipy.org/doc/numpy-1.13.0/reference/c-api.array.html // https://stackoverflow.com/questions/30357115/pyarray-simplenewfromdata-example // static PyObject* arr; arr = PyArray_SimpleNewFromData(numdim, &dims[4-numdim], typenum, reinterpret_cast<void*>(cimg.data())); return arr; } // CImgToArr()

    // segfault@ in CImgToArr was caused by not calling import_array() inside // BOOST_PYTHON_MODULE() as noted here // https://www.reddit.com/r/cpp_questions/comments/54clp9/python_c_extension_segfault_in_pyarray_simplenew/ // // however import_array() didn't compile and required a second fix, a wrapper function // for import_array() as noted in https://wanzenbug.xyz/boost-numpy/ // static void * wrap_import_array() { import_array(); return NULL; }

    // wrap python callable functions using boost // // http://openalea.gforge.inria.fr/dokuwiki/data/pdfex/PDF_documentation_package_how_to_integrate_cpp_code_in_python.pdf // https://github.com/TNG/boost-python-examples // BOOST_PYTHON_MODULE(py_run_startracker) {

    using namespace boost::python; using namespace cimg_library; using namespace std;

    // make sure to initialise! Py_Initialize(); bn::initialize();

    wrap_import_array(); // wrapper to fix import_array() segfault!

    boost::python::def("np_thresholdOtsu" , np_thresholdOtsu);

    } // BOOST_PYTHON_MODULE()`

    opened by moloned 0
  • cookie_cutter fix, add alltouch, drop py27

    cookie_cutter fix, add alltouch, drop py27

    • Fixes #172 (res ignored by cookie_cutter)
    • adds alltouch parameter.
    • drops python2.7 support from .circleci

    cookie_cutter note

    The key piece here, is that the extent (bbox) pulled out of the GeoFeature in cookie_cutter is a vector (POINT) extent, and the bbox passed into GeoImage.create_from needs to already be a raster (AREA) extent (in the GDAL DataModel model parlance).

    opened by ircwaves 1
  • build issue with Python 3.5.1

    build issue with Python 3.5.1

    Hello!

    When I try to do a "pip install --user gippy" in Python 3.5.1, I receive the following error:

    python3.5m -c gippy/gippy_wrap.cpp -o build/temp.linux-x86_64-3.5/gippy/gippy_wrap.o -fPIC -O3 -std=c++11 -D GDAL2 -Wno-maybe-uninitialized gippy/gippy_wrap.cpp:5040:34: fatal error: python2.7/Python.h: No such file or directory #include <python2.7/Python.h>

    Can you provide any assistance into why the pip package is looking for python2.7/Python.h instead of python3.5/Python.h?

    opened by bottoj 2
  • cookie_cutter: xres yres ignored

    cookie_cutter: xres yres ignored

    Passing xres, yres to cookie_cutter is ignored because here: https://github.com/gipit/gippy/blob/master/GIP/GeoAlgorithms.cpp#L254 cookie_cutter just grabs the bounding box from the GeoFeature, which is passed down to this code (via GeoImage.create): https://github.com/gipit/gippy/blob/master/GIP/GeoResource.cpp#L101-L103 and the bounding box is used to compute the resolution being stuffed into the image.

    issue demo:

    from gippy import GeoVector, GeoImage
    from gippy.algorithms import cookie_cutter
    
    
    v = GeoVector('/home/icooke/merged.shp')
    fns = ['/vsizip//tmp/PRISM_ppt_provisional_4kmD2_20190601_bil.zip/PRISM_ppt_provisional_4kmD2_20190601_bil.bil']
    imgs = [GeoImage(fn) for fn in fns]
    x = cookie_cutter(imgs, 'out.tif', v[0], xres=1000, yres=1000)
    print('resolution', x.resolution().x(), x.resolution().y())
    
    # output:
    # (venv36) [email protected]:~$ python3 ~/cookie_cutter.py 
    # resolution 997.8931017867908 -995.2071382963369
    
    bug 
    opened by ircwaves 1
  • GeoImage.open doesn't seem to follow docs

    GeoImage.open doesn't seem to follow docs

    Looks like either the API has drifted or else the docs need updating. The docs say you can go:

    geoimg = GeoImage.open(filename, bandnames=(['red', 'green', 'blue']), nodata=0)
    

    But when I try it it looks like it's iterating over the filename's characters:

    (Pdb) gippy.GeoImage.open('foo.tif')
    *** RuntimeError: 4: f: No such file or directory
    

    I can workaround with a list though:

    (Pdb) gippy.GeoImage.open(['foo.tif'])
    *** RuntimeError: 4: foo.tif: No such file or directory
    

    The reason I'd like to call GeoImage.open() over GeoImage() is that with the former I can set nodata & gain as part of the call; I don't see how to do that with GeoImage().

    opened by ra-tolson 1
Releases(1.0.3)
  • 1.0.3(Mar 19, 2019)

    [v1.0.3] - 2019-03-18

    • fixes setting of nodata in GeoImage.open function
    • allow dictionary file creation options to be passed to GeoImage.create() and cookie_cutter
    • added kmeans algorithm
    • fix histogram function, now returns doubles
    • added spectral_statistics algorithm and GeoImage::spectral_statistics function
    • Detailed CHANGELOG added
    Source code(tar.gz)
    Source code(zip)
Owner
GIPIT
Group for the GIPS and GIPPY open source projects
GIPIT
Satellite imagery for dummies.

felicette Satellite imagery for dummies. What can you do with this tool? TL;DR: Generate JPEG earth imagery from coordinates/location name with public

Shivashis Padhi 1.8k Jan 03, 2023
Deal with Bing Maps Tiles and Pixels / WGS 84 coordinates conversions, and generate grid Shapefiles

PyBingTiles This is a small toolkit in order to deal with Bing Tiles, used i.e. by Facebook for their Data for Good datasets. Install Clone this repos

Shoichi 1 Dec 08, 2021
A Python framework for building geospatial web-applications

Hey there, this is Greppo... A Python framework for building geospatial web-applications. Greppo is an open-source Python framework that makes it easy

Greppo 304 Dec 27, 2022
WhiteboxTools Python Frontend

whitebox-python Important Note This repository is related to the WhiteboxTools Python Frontend only. You can report issues to this repo if you have pr

Qiusheng Wu 304 Dec 15, 2022
Python library to decrypt Airtag reports, as well as a InfluxDB/Grafana self-hosted dashboard example

Openhaystack-python This python daemon will allow you to gather your Openhaystack-based airtag reports and display them on a Grafana dashboard. You ca

Bezmenov Denys 19 Jan 03, 2023
Python script that can be used to generate latitude/longitude coordinates for GOES-16 full-disk extent.

goes-latlon Python script that can be used to generate latitude/longitude coordinates for GOES-16 full-disk extent. 🌎 🛰️ The grid files can be acces

Douglas Uba 3 Apr 06, 2022
Introduction to Geospatial Analysis in Python

Introduction to Geospatial Analysis in Python This repository is in support of a talk on geospatial data. Data To recreate all of the examples, the da

Dillon Gardner 6 Oct 19, 2022
Yet Another Time Series Model

Yet Another Timeseries Model (YATSM) master v0.6.x-maintenance Build Coverage Docs DOI | About Yet Another Timeseries Model (YATSM) is a Python packag

Chris Holden 60 Sep 13, 2022
A bot that tweets info and location map for new bicycle parking added to OpenStreetMap within a GeoJSON boundary.

Bike parking tweepy bot app A twitter bot app that searches for bicycle parking added to OpenStreetMap. Relies on AWS Lambda/S3, Python3, Tweepy, Flas

Angelo Trivisonno 1 Dec 19, 2021
Imperial Valley Geomorphology Map

Roughly maps the extent of basins, basin edges, and mountains in the Imperial Valley by grouping terrain classes from the Iwahashi et al. 2021 California terrian classification model.

0 Dec 13, 2022
Raster processing benchmarks for Python and R packages

Raster processing benchmarks This repository contains a collection of raster processing benchmarks for Python and R packages. The tests cover the most

Krzysztof Dyba 13 Oct 24, 2022
EOReader is a multi-satellite reader allowing you to open optical and SAR data.

Remote-sensing opensource python library reading optical and SAR sensors, loading and stacking bands, clouds, DEM and index.

ICube-SERTIT 152 Dec 30, 2022
Code and coordinates for Matt's 2021 xmas tree

xmastree2021 Code and coordinates for Matt's 2021 xmas tree This repository contains the code and coordinates used for Matt's 2021 Christmas tree, as

Stand-up Maths 117 Jan 01, 2023
r.cfdtools 7 Dec 28, 2022
Spatial Interpolation Toolbox is a Python-based GUI that is able to interpolate spatial data in vector format.

Spatial Interpolation Toolbox This is the home to Spatial Interpolation Toolbox, a graphical user interface (GUI) for interpolating geographic vector

Michael Ward 2 Nov 01, 2021
ProjPicker (projection picker) is a Python module that allows the user to select all coordinate reference systems (CRSs)

ProjPicker ProjPicker (projection picker) is a Python module that allows the user to select all coordinate reference systems (CRSs) whose extent compl

Huidae Cho 4 Feb 06, 2022
:earth_asia: Python Geocoder

Python Geocoder Simple and consistent geocoding library written in Python. Table of content Overview A glimpse at the API Forward Multiple results Rev

Denis 1.5k Jan 02, 2023
Open Data Cube analyses continental scale Earth Observation data through time

Open Data Cube Core Overview The Open Data Cube Core provides an integrated gridded data analysis environment for decades of analysis ready earth obse

Open Data Cube 410 Dec 13, 2022
Global topography (referenced to sea-level) in a 10 arcminute resolution grid

Earth - Topography grid at 10 arc-minute resolution Global 10 arc-minute resolution grids of topography (ETOPO1 ice-surface) referenced to mean sea-le

Fatiando a Terra Datasets 1 Jan 20, 2022
Evaluation of file formats in the context of geo-referenced 3D geometries.

Geo-referenced Geometry File Formats Classic geometry file formats as .obj, .off, .ply, .stl or .dae do not support the utilization of coordinate syst

Advanced Information Systems and Technology 11 Mar 02, 2022