Skip to content

Instantly share code, notes, and snippets.

View jsanz's full-sized avatar
🗺️
Mapping

Jorge Sanz jsanz

🗺️
Mapping
View GitHub Profile
@jsanz
jsanz / index.md
Last active April 4, 2024 17:27
[Elasticsearch & GDAL] Using an API Key to upload a dataset
@jsanz
jsanz / README.md
Last active December 15, 2021 15:43
FOSS4G 2021: pg_tileserv and pg_featureserv workshop

Building a cartographic web application with pg_tileserv and pg_featureserv

  • Workshop materials.
  • Reused the postgis Docker Compose template from previous workshop
  • Reused also the osgeo/gdal container to use ogr2ogr on the downloaded shapefiles.
  • Added pg_featureserv and pg_tileserv Docker images passing the .toml configurations as part of the command setting.
  • Added an nginx service to the compose file for the HTML files.
  • Played with different HTML pages that load tiles from pg_tileserv and displays them using OpenLayers.
  • Created a view that returns random points.
@jsanz
jsanz / .gitignore
Last active September 27, 2021 17:59
FOSS4G 2021 - PostGIS versioning workshop
data
.env
@jsanz
jsanz / .gitignore
Last active September 27, 2021 18:00
FOSS4G 2021: Kart workshop
workshop
.env
@jsanz
jsanz / README.md
Created June 4, 2021 13:59
[SPARQL] Country websites ping

Ping sites

This is a CSV with country official websites from all the world, and a simple script that randomly access to five of them every five seconds. The objective of this is to hit as many different country IP's as possible.

The CSV is obtained from this SPARQL query to Wikidata:

SELECT 
  ?idLabel 
 (SAMPLE(?website) as ?web) 
@jsanz
jsanz / README.md
Last active March 24, 2023 20:08
Python: get FOSS4G 2022 abstracts into a JSON file

This simple scripts scraps the FOSS4G Community Review pages to convert the abstracts into a JSON file that will contain for each abstract:

  • Page number
  • Title
  • Abstract in HTML
  • Your score if it exists

Requirements: Python 3, [BeautifulSoup][bs], and [Requests][req]

It expects a FOSS4G_ID environment variable that is the variable part of the URL that you get when you sign in for the community review: https://talks.osgeo.org/foss4g-2022/p/voting/talks/{FOSS4G_ID}?.

@jsanz
jsanz / mbtiles_delete_zoom_level.sql
Created April 22, 2021 15:04 — forked from zhm/mbtiles_delete_zoom_level.sql
Delete zoom levels from an MBTiles file (set max zoom)
-- change 18 to whatever the max zoom level you want in your MBTiles
DELETE FROM images WHERE
tile_id IN (SELECT tile_id FROM map WHERE zoom_level > 18) AND
tile_id NOT IN (SELECT tile_id FROM map WHERE zoom_level <= 18);
DELETE FROM map WHERE zoom_level > 18;
UPDATE metadata SET value = '18' WHERE name = 'maxzoom';
@jsanz
jsanz / README.md
Last active December 5, 2019 08:45
Docker wrapper for OGR commands

Simple wrappers around docker and OGR commands to expose ogr2ogr and ogrinfo using the latest builds. You need to be careful to always put absolute paths to your local data so the docker image can access it.

@jsanz
jsanz / fix-geometries.py
Created October 30, 2019 16:40
Python - QGIS - Fix geometries
"""
Small script to fix geometries of the first file argument
using the native QGIS processing algorithm. You may need
to adjust the path to you installation.
"""
import sys
sys.path.append('/usr/share/qgis/python/plugins')
from processing.core.Processing import Processing
@jsanz
jsanz / docker-compose.yml
Last active January 17, 2022 13:03
Docker Compose: Elastic Search/Kibana 7.4 cluster
# Minimal Docker Compose cluster for ElasticSearch and Kibana 7.4
# Put this file any folder creating "logs" and "esdata" folders
# to persist the cluster indices and kibana state
version: "3"
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.4.0
container_name: elasticsearch
ports: