Creating mosaics, clipping and removing overlapping satellite images

Posted on April 2, 2021 · Tagged with gis, python, maps, visualization

Intro This post describes ways to download, clip and join satellite images. The module sentinel-mosaic is used throughout this blog post. Background There’s a number of satellites launched by the European Space Agency that take images of Earth which are then sent to ground stations and made publicly available through the Copernicus Open Access Hub and its respective API. In this post we’re focusing mainly on the data from Sentinel-2A and Sentinel-2B which were designed for multiple purposes, one of those purposes being land monitoring.

Polygon gridding using Geopandas and Shapely

Posted on March 14, 2021 · Tagged with gis, geopandas, python, maps, visualization, scraping

Intro This post will discuss some work involving maps I’ve helped a client with. The main goal of the project was collecting various datasets from web services. One of those web services has an endpoint that receives as a parameter a series of points that define a polygon for which the API request is made (the response will be a series of resources that are located inside that polygon). The API supports pagination, so if the area of the polygon is too big, we’ll have to do additional requests for all the result pages.

Fast sub-tree containment checks

Posted on February 21, 2021 · Tagged with algorithms, data-structures

MathJax.Hub.Config({ tex2jax: { inlineMath: [['$','$'], ['\\(','\\)']], displayMath: [['$$','$$'], ['\[','\]']], processEscapes: true, processEnvironments: true, skipTags: ['script', 'noscript', 'style', 'textarea', 'pre'], TeX: { equationNumbers: { autoNumber: "AMS" }, extensions: ["AMSmath.js", "AMSsymbols.js"] } } }); MathJax.Hub.Queue(function() { // Fix tags after MathJax finishes running. This is a // hack to overcome a shortcoming of Markdown. Discussion at // var all = MathJax.Hub.getAllJax(), i; for(i = 0; i There’s a problem on leetcode called "Subtree of Another tree".