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
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
A package to fetch sentinel 2 Satellite data from Google.

Sentinel 2 Data Fetcher Installation Create a Virtual Environment and activate it. python3 -m venv venv . venv/bin/activate Install the Package via pi

1 Nov 18, 2021
This is the antenna performance plotted from tinyGS reception data.

tinyGS-antenna-map This is the antenna performance plotted from tinyGS reception data. See their repository. The code produces a plot that provides Az

Martin J. Levy 14 Aug 21, 2022
A GUI widget for Linux to show current time in different timezones.

A GUI widget to show current time in different timezones (under development). To use this widget: Run scripts/startup.py Select a country. A list of t

B.Jothin kumar 11 Nov 10, 2022
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
Using SQLAlchemy with spatial databases

GeoAlchemy GIS Support for SQLAlchemy. Introduction GeoAlchemy is an extension of SQLAlchemy. It provides support for Geospatial data types at the ORM

109 Dec 01, 2022
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
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
iNaturalist observations along hiking trails

This tool reads the route of a hike and generates a table of iNaturalist observations along the trails. It also shows the observations and the route of the hike on a map. Moreover, it saves waypoints

7 Nov 11, 2022
LicenseLocation - License Location With Python

LicenseLocation Hi,everyone! ❤ 🧡 💛 💚 💙 💜 This is my first project! ✔ Actual

The Bin 1 Jan 25, 2022
python toolbox for visualizing geographical data and making maps

geoplotlib is a python toolbox for visualizing geographical data and making maps data = read_csv('data/bus.csv') geoplotlib.dot(data) geoplotlib.show(

Andrea Cuttone 976 Dec 11, 2022
Python 台灣行政區地圖 (2021)

Python 台灣行政區地圖 (2021) 以 python 讀取政府開放平台的 ShapeFile 地圖資訊。歡迎引用或是協作 另有縣市資訊、村里資訊與各種行政地圖資訊 例如: 直轄市、縣市界線(TWD97經緯度) 鄉鎮市區界線(TWD97經緯度) | 政府資料開放平臺: https://data

WeselyOng 12 Sep 27, 2022
QLUSTER is a relative orbit design tool for formation flying satellite missions and space rendezvous scenarios

QLUSTER is a relative orbit design tool for formation flying satellite missions and space rendezvous scenarios, that I wrote in Python 3 for my own research and visualisation. It is currently unfinis

Samuel Low 9 Aug 23, 2022
Google maps for Jupyter notebooks

gmaps gmaps is a plugin for including interactive Google maps in the IPython Notebook. Let's plot a heatmap of taxi pickups in San Francisco: import g

Pascal Bugnion 747 Dec 19, 2022
LEOGPS - Satellite Navigation with GPS on Python!

LEOGPS is an open-source Python software which performs relative satellite navigation between two formation flying satellites, with the objective of high accuracy relative positioning. Specifically,

Samuel Low 50 Dec 13, 2022
Earthengine-py-notebooks - A collection of 360+ Jupyter Python notebook examples for using Google Earth Engine with interactive mapping

earthengine-py-notebooks A collection of 360+ Jupyter Python notebook examples for using Google Earth Engine with interactive mapping Contact: Qiushen

Qiusheng Wu 1.1k Dec 29, 2022
Manipulation and analysis of geometric objects

Shapely Manipulation and analysis of geometric objects in the Cartesian plane. Shapely is a BSD-licensed Python package for manipulation and analysis

3.1k 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
Calculate the area inside of any GeoJSON geometry. This is a port of Mapbox's geojson-area for Python

geojson-area Calculate the area inside of any GeoJSON geometry. This is a port of Mapbox's geojson-area for Python. Installation $ pip install area U

Alireza 87 Dec 14, 2022
A Python package for delineating nested surface depressions from digital elevation data.

Welcome to the lidar package lidar is Python package for delineating the nested hierarchy of surface depressions in digital elevation models (DEMs). I

Qiusheng Wu 166 Jan 03, 2023