Script Python avanzato per migrare dati da MariaDB a PostgreSQL attraverso un tunnel SSH, con support per field mapping, key-based upsert (INSERT/UPDATE) e dry-run mode.
pip install mysql-connector-python psycopg2-binary paramiko sshtunnel| import os, glob | |
| import geopandas as gpd | |
| import pandas as pd | |
| from shapely.geometry import Polygon, Point, LineString | |
| from sqlalchemy import create_engine | |
| class CXFConverter: | |
| # Dizionario decodifica simboli da specifiche catastali |
| import os | |
| import shutil | |
| from datetime import datetime | |
| from qgis.core import QgsProject | |
| project_path = QgsProject.instance().fileName() | |
| if not project_path: | |
| print("⚠ Nessun progetto aperto.") | |
| else: |
This PostgreSQL/PostGIS function, reorder_multilinestring, takes a MULTILINESTRING geometry and returns a new MULTILINESTRING with components reordered and oriented based on geometric criteria. It is particularly useful for GIS applications where the order and orientation of line segments matter, such as routing, network analysis, or pipeline management.
ST_Dump.LINESTRING if the distance between them is below a configurable threshold.| #!/bin/bash | |
| # Controlla se sono stati forniti esattamente due argomenti | |
| if [ "$#" -ne 2 ]; then | |
| echo "Uso: $0 <nome_cartella> <url_repository>" | |
| exit 1 | |
| fi | |
| # Assegna gli argomenti a variabili | |
| folder_name=$1 |
Vi è mai capitato di aver bisogno di un database con estensione geografica per esigenze di studio o test? L'uso della tecnologia Docker rende possibile configurare un'istanza locale di PostGIS e offre numerosi vantaggi quali semplicità di configurazione, isolamento dell'ambiente e facilità di gestione. Si può istanziare un database PostGIS senza la necessità di installazioni manuali o configurazioni complesse. L'uso di variabili d'ambiente permette di personalizzare l'istanza in modo rapido, sicuro e isolato dalle altre applicazioni, riducendo così i conflitti tra software e le dipendenze e garantendo consistenza e riproducibilità dell'ambiente di sviluppo. Con Docker Compose, gestire e scalare l'istanza PostGIS diventa un gioco da ragazzi. È anche possibile aggiornare l'immagine modificando le configurazioni e riavviando i servizi.
Quello che serve è aver installato l'applicativo Docker e creare il file `do
I corsi di certificazione che Gter tiene annualmente sono talvolta spunto per riflessioni non sempre scontate sugli argomenti proposti. Poche settimane fa, a valle del modulo riguardante il trattamento di sistemi di riferimento, ci sono state poste alcune domande di cui riproponiamo qui le risposte e interpretazioni.
L'ISTAT ha recentemente rilasciato i confini amministrativi nazionali italiani adottando per la loro pubblicazione il sistema WGS84/UTM32.
In ambiente SQL una vista non è altro che una query di estrazione dati complicata a piacere secondo le esigenze, salvata all'interno dell'ambiente di gestione dati e richiamabile attraverso un semplice nome assegnato.
Il concetto sembrerebbe piuttosto semplice: poter salvare interrogazioni complicate a piacere, frutto anche di un lungo lavoro di analisi, e richiamarle all'uso mediante una semplice variabile. Per valutare però la vera potenzialità delle viste si pensi che la loro definizione rientra tra le regole fondamentali alla base delle definizione stessa dei database relazionali risalente agli anni '70 ad opera del professor Edgar F. Codd.
| _ | _ |
|---|---|
![]() |
Conosciamo Telegram spesso come semplice alternativa ad altri sistemi di instant messaging talvolta più diffusi come WhatsApp, Facebook Messanger o Signal (giusto per citare almeno un altro concorrente dall'ambito del software libero). Ma curiosando tra la documentazione si scopre che Telegram offre altri servizi che lo distinguono dall'offerta concorrente come la possibilità di implementare dei propri bot custom.
| from pyproj import Transformer | |
| import geojson | |
| to_metric = Transformer.from_crs(4326, 3857) | |
| to_latlon = Transformer.from_crs(3857, 4326) | |
| def square(lon:float, lat:float, dim:float, unit:str='area'): | |
| """ """ | |
| if unit == 'area': |