{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,7,3]],"date-time":"2026-07-03T23:25:27Z","timestamp":1783121127141,"version":"3.54.6"},"reference-count":30,"publisher":"MDPI AG","issue":"10","license":[{"start":{"date-parts":[[2019,10,17]],"date-time":"2019-10-17T00:00:00Z","timestamp":1571270400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["IJGI"],"abstract":"<jats:p>A new Python package, pyjeo, that deals with the analysis of geospatial data has been created by the Joint Research Centre (JRC). Adopting the principles of open science, the JRC strives for transparency and reproducibility of results. In this view, it has been decided to release pyjeo as free and open software. This paper describes the design of pyjeo and how its underlying C\/C++ library was ported to Python. Strengths and limitations of the design choices are discussed. In particular, the data model that allows the generation of on-the-fly data cubes is of importance. Two uses cases illustrate how pyjeo can contribute to open science. The first is an example of large-scale processing, where pyjeo was used to create a global composite of Sentinel-2 data. The second shows how pyjeo can be imported within an interactive platform for image analysis and visualization. Using an innovative mechanism that interprets Python code within a C++ library on-the-fly, users can benefit from all functions in the pyjeo package. Images are processed in deferred mode, which is ideal for prototyping new algorithms on geospatial data, and assess the suitability of the results created on the fly at any scale and location.<\/jats:p>","DOI":"10.3390\/ijgi8100461","type":"journal-article","created":{"date-parts":[[2019,10,17]],"date-time":"2019-10-17T11:07:59Z","timestamp":1571310479000},"page":"461","update-policy":"https:\/\/doi.org\/10.3390\/mdpi_crossmark_policy","source":"Crossref","is-referenced-by-count":7,"title":["pyjeo: A Python Package for the Analysis of Geospatial Data"],"prefix":"10.3390","volume":"8","author":[{"given":"Pieter","family":"Kempeneers","sequence":"first","affiliation":[{"name":"Joint Research Centre of the European Commission, Via E. Fermi 2749, I-21027 Ispra, Italy"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Ondrej","family":"Pesek","sequence":"additional","affiliation":[{"name":"Department of Geomatics, Czech Faculty of Civil Engineering, Technical University in Prague, CZ-16629 Prague, Czech Republic"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Davide","family":"De Marchi","sequence":"additional","affiliation":[{"name":"Joint Research Centre of the European Commission, Via E. Fermi 2749, I-21027 Ispra, Italy"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-8479-9205","authenticated-orcid":false,"given":"Pierre","family":"Soille","sequence":"additional","affiliation":[{"name":"Joint Research Centre of the European Commission, Via E. Fermi 2749, I-21027 Ispra, Italy"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"1968","published-online":{"date-parts":[[2019,10,17]]},"reference":[{"key":"ref_1","doi-asserted-by":"crossref","unstructured":"Bakillah, M., and Liang, S. (2016). Open Geospatial Data, Software and Standards, Springer.","DOI":"10.1186\/s40965-016-0004-1"},{"key":"ref_2","doi-asserted-by":"crossref","first-page":"779","DOI":"10.1038\/ngeo2283","article-title":"Open code for open science?","volume":"7","author":"Easterbrook","year":"2014","journal-title":"Nat. Geosci."},{"key":"ref_3","unstructured":"Neteler, M., and Mitasova, H. (2013). Open Source GIS: A GRASS GIS Approach, Springer."},{"key":"ref_4","doi-asserted-by":"crossref","first-page":"14","DOI":"10.1186\/s40965-017-0027-2","article-title":"MicMac\u2014A free, open-source solution for photogrammetry","volume":"2","author":"Rupnik","year":"2017","journal-title":"Open Geospat. Data, Softw. Stand."},{"key":"ref_5","doi-asserted-by":"crossref","first-page":"15","DOI":"10.1186\/s40965-017-0031-6","article-title":"Orfeo ToolBox: Open source processing of remote sensing images","volume":"2","author":"Grizonnet","year":"2017","journal-title":"Open Geospat. Data Softw. Stand."},{"key":"ref_6","doi-asserted-by":"crossref","unstructured":"Appel, M., and Pebesma, E. (2019). On-Demand Processing of Data Cubes from Satellite Image Collections with the gdalcubes Library. Data, 4.","DOI":"10.32614\/CRAN.package.gdalcubes"},{"key":"ref_7","unstructured":"Strobl, P., Baumann, P., Lewis, A., Szantoi, Z., Killough, B., Purss, M., Craglia, M., Nativi, S., Held, A., and Dhu, T. (2017, January 28\u201330). The six faces of the data cube. Proceedings of the BiDS\u201917, Toulouse, France."},{"key":"ref_8","doi-asserted-by":"crossref","first-page":"30","DOI":"10.1016\/j.future.2017.11.007","article-title":"A Versatile Data-Intensive Computing Platform for Information Retrieval from Big Geospatial Data","volume":"81","author":"Soille","year":"2018","journal-title":"Future Gener. Comput. Syst."},{"key":"ref_9","unstructured":"Nissen, S. (2003). Implementation of a Fast Artificial Neural Network Library (FANN), Department of Computer Science, University of Copenhagen (DIKU). Report."},{"key":"ref_10","doi-asserted-by":"crossref","first-page":"27:1","DOI":"10.1145\/1961189.1961199","article-title":"LIBSVM: A library for support vector machines","volume":"2","author":"Chang","year":"2011","journal-title":"ACM TRansactions Intell. Syst. Technol."},{"key":"ref_11","unstructured":"Blasius, B., Lahoz, W., and Solomatine, D.P. (2014). Pktools. Open Source Geopspatial Tools, Springer. Chapter 12."},{"key":"ref_12","doi-asserted-by":"crossref","first-page":"1132","DOI":"10.1109\/TPAMI.2007.70817","article-title":"Constrained connectivity for hierarchical image partitioning and simplification","volume":"30","author":"Soille","year":"2008","journal-title":"IEEE Trans. Pattern Anal. Mach. Intell."},{"key":"ref_13","doi-asserted-by":"crossref","first-page":"599","DOI":"10.1016\/S0167-739X(02)00171-1","article-title":"Automated scientific software scripting with SWIG","volume":"19","author":"Beazley","year":"2003","journal-title":"Future Gener. Comput. Syst."},{"key":"ref_14","doi-asserted-by":"crossref","unstructured":"Pesaresi, M., Syrris, V., and Julea, A. (2016). A New Method for Earth Observation Data Analytics Based on Symbolic Machine Learning. Remote Sens., 8.","DOI":"10.3390\/rs8050399"},{"key":"ref_15","doi-asserted-by":"crossref","first-page":"543","DOI":"10.1016\/j.patrec.2003.12.007","article-title":"Morphological Carving","volume":"25","author":"Soille","year":"2004","journal-title":"Pattern Recognit. Lett."},{"key":"ref_16","doi-asserted-by":"crossref","first-page":"W12509","DOI":"10.1029\/2004WR003060","article-title":"Optimal removal of spurious pits in grid digital elevation models","volume":"40","author":"Soille","year":"2004","journal-title":"Water Resour. Res."},{"key":"ref_17","doi-asserted-by":"crossref","first-page":"181","DOI":"10.1006\/jvci.1994.1017","article-title":"An efficient algorithm for drainage networks extraction on DEMs","volume":"5","author":"Soille","year":"1994","journal-title":"J. Vis. Commun. Image Represent."},{"key":"ref_18","doi-asserted-by":"crossref","first-page":"583","DOI":"10.1109\/34.87344","article-title":"Watersheds in digital spaces: an efficient algorithm based on immersion simulations","volume":"13","author":"Vincent","year":"1991","journal-title":"IEEE Trans. Pattern Anal. Mach. Intell."},{"key":"ref_19","doi-asserted-by":"crossref","first-page":"76","DOI":"10.1109\/38.56302","article-title":"NetCDF: An interface for scientific data access","volume":"10","author":"Rew","year":"1990","journal-title":"IEEE Comput. Graph. Appl."},{"key":"ref_20","unstructured":"Meyer, B. (1988). Object-Oriented Software Construction, Prentice Hall."},{"key":"ref_21","unstructured":"Pebesma, E., Wagner, W., Soille, P., Kadunc, M., Gorelick, N., Schramm, M., Verbesselt, J., Reiche, J., Appel, M., and Dries, J. (2018, January 8\u201313). openEO: An open API for cloud-based big Earth Observation processing platforms. Proceedings of the EGU General Assembly Conference Abstracts, Vienna, Austria."},{"key":"ref_22","doi-asserted-by":"crossref","first-page":"323","DOI":"10.1002\/cpe.938","article-title":"Distributed computing in practice: the Condor experience","volume":"17","author":"Thain","year":"2005","journal-title":"Concurr. Comput. Pract. Exp."},{"key":"ref_23","doi-asserted-by":"crossref","unstructured":"De Marchi, D., and Soille, P. (2019, January 19\u201321). Advances in interactive processing and visualisation with JupyterLab on the JRC Big Data Platform (JEODPP). Proceedings of the BiDS\u201919, Munich, Germany.","DOI":"10.29007\/kkfm"},{"key":"ref_24","unstructured":"Kempeneers, P., and Soille, P. (2019, October 16). S2MOSAIC L2A 2017. Available online: http:\/\/data.europa.eu\/89h\/cbf1016c-2970-477a-9533-4ac8e10abb92."},{"key":"ref_25","doi-asserted-by":"crossref","first-page":"145","DOI":"10.1080\/20964471.2017.1407489","article-title":"Optimizing Sentinel-2 image selection in a Big Data context","volume":"1","author":"Kempeneers","year":"2017","journal-title":"Big Earth Data"},{"key":"ref_26","unstructured":"Mueller-Wilm, U., Devignot, O., and Pessiot, L. (2016). Sen2Cor Configuration and User Manual, Telespazio VEGA Deutschland GmbH."},{"key":"ref_27","doi-asserted-by":"crossref","first-page":"18","DOI":"10.1016\/j.rse.2017.06.031","article-title":"Google Earth Engine: Planetary-scale geospatial analysis for everyone","volume":"202","author":"Gorelick","year":"2017","journal-title":"Remote Sens. Environ."},{"key":"ref_28","unstructured":"De Marchi, D., Burger, A., Kempeneers, P., and Soille, P. (2017, January 28\u201330). Interactive visualisation and analysis of geospatial data with Jupyter. Proceedings of the BiDS\u201917, Toulouse, France."},{"key":"ref_29","unstructured":"Soille, P. (2014, January 10\u201311). Towards the Compositing and Mosaicing of Sentinel-2 Images Using Quality and Spatial Coherence Constraints. Proceedings of the Sentinel-2 for Science Workshop, Casablanca, Morocco."},{"key":"ref_30","doi-asserted-by":"crossref","first-page":"2088","DOI":"10.1109\/JSTARS.2012.2228167","article-title":"A Pixel-Based Landsat Compositing Algorithm for Large Area Land Cover Mapping","volume":"6","author":"Griffiths","year":"2012","journal-title":"IEEE J. Sel. Top. Appl. Earth Obs. Remote Sens."}],"container-title":["ISPRS International Journal of Geo-Information"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.mdpi.com\/2220-9964\/8\/10\/461\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,10,11]],"date-time":"2025-10-11T13:27:17Z","timestamp":1760189237000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.mdpi.com\/2220-9964\/8\/10\/461"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2019,10,17]]},"references-count":30,"journal-issue":{"issue":"10","published-online":{"date-parts":[[2019,10]]}},"alternative-id":["ijgi8100461"],"URL":"https:\/\/doi.org\/10.3390\/ijgi8100461","relation":{},"ISSN":["2220-9964"],"issn-type":[{"value":"2220-9964","type":"electronic"}],"subject":[],"published":{"date-parts":[[2019,10,17]]}}}