Djinious
DjiniousMapGIS ad agenti

I dati aperti non sono un dataset.Sono un'affermazione da verificare.

Piano di controllo geospazialeModellaOpera

DjiniousMap raccoglie dati geospaziali, misura ciò che effettivamente contengono e si rifiuta di disegnarli finché le coordinate non supportano una lettura. Ciò che sopravvive diventa una mappa live, un'analisi spaziale, un workflow — o una risposta che un agente IA dà al tuo team.

DjiniousMap
Una pagina di dettaglio di un dataset che mostra EPSG:4326 dichiarato, EPSG:2154 dedotto con confidenza del 100%, un avviso che i due sono in disaccordo, un profilo completo, i risultati di qualità e i suoi punti disegnati sulla regione Provenza-Alpi-Costa Azzurra.
Un dataset raccolto il cui editore ha dichiarato EPSG:4326 mentre le sue coordinate misurano come EPSG:2154. Entrambe le letture vengono conservate, il disaccordo viene dichiarato e la mappa viene disegnata a partire dal CRS dedotto — l'unico supportato dalle evidenze.
store, una sola garanzia di tenancy
2store, una sola garanzia di tenancySurrealDB PERMISSIONS · PostGIS RLS
row-level security, proprietario incluso
FORCErow-level security, proprietario inclusonosuperuser · nobypassrls
header della richiesta letti per l'identità
0header della richiesta letti per l'identitàsolo cookie di sessione · nessuno stub di sviluppo
Confidenza dell'inferenza del CRS, nella schermata sopra
100%Confidenza dell'inferenza del CRS, nella schermata sopradichiarato 4326 · misurato 2154

Cos’è

Un catalogo, uno studio mappe e un motore di analisi che condividono un unico modello di tenancy

La maggior parte degli stack geospaziali sono tre prodotti cuciti insieme: qualcosa che ingerisce, qualcosa che disegna, qualcosa che calcola. Ognuno mantiene la propria copia di chi può vedere cosa. DjiniousMap è un unico piano di controllo, e l'isolamento è applicato sotto tutti e tre.

Catalogo raccolto

Un harvester preleva dataset pubblici e li registra con il loro URL sorgente, la licenza e la classificazione. Registrato non è la stessa cosa di presente: nulla viene copiato nella piattaforma finché non lo materializzi, e il catalogo dice chiaramente qual è quale.

data.gouv.fr · le tue fonti

Inferenza del CRS

Il sistema di riferimento delle coordinate dichiarato dall'editore è trattato come un'affermazione. La piattaforma misura le coordinate, indica il CRS in cui effettivamente si trovano e ne riporta la confidenza. Quando i due sono in disaccordo, entrambi vengono conservati e il disaccordo viene mostrato.

EPSG · dichiarato vs misurato

Risultati di qualità

Precisione eccessiva delle coordinate, dati obsoleti, geometria non valida o nulla — ogni risultato spiega cosa è stato misurato, perché è rilevante e cosa fare. Quando non c'è nulla su cui basare un giudizio, il verdetto è Indeterminato piuttosto che una supposizione travestita da risultato.

con rimedio, e con “indeterminato”

Studio mappe

Componi i dataset materializzati in layer, stilizzali, filtrali e aggiungi widget di categoria, istogramma, formula o serie temporale che filtrano incrociati la mappa. Una mappa è un asset versionato, quindi una vista può essere pubblicata, condivisa e ripristinata a una versione precedente.

deck.gl · basemap IGN

Analisi spaziale

Esegui isocrone, percorsi, geocodifica diretta e inversa e join spaziali sui layer materializzati. I risultati tornano nel catalogo come dataset a sé stanti, così l'output di un'analisi è un input di prima classe per la successiva.

isocrone · instradamento · geocodifica

Workflow e automazione

Crea una pipeline su un canvas, pubblicala come asset versionato e attivala su una pianificazione o su un evento — dataset.refreshed, per esempio. Le esecuzioni girano su una coda di job con lease e trasmettono il loro avanzamento in tempo reale.

trigger a evento e a pianificazione

Dentro al prodotto

Guardala funzionare.

Ogni schermata qui sotto è il prodotto in esecuzione.

01 · 01 · Raccolta

Registrato non è la stessa cosa di presente

Registra un dataset dal catalogo pubblico o da una delle tue connessioni. La registrazione annota dove risiedono i dati, chi li pubblica, come sono concessi in licenza e come sono classificati — pubblico, interno, riservato o confidenziale. Nessuna feature si è ancora spostata.

  • Raccolta pubblica da data.gouv.fr, con gli identificatori originali dell'editore preservati
  • Le tue fonti tramite connessioni, registrate allo stesso modo
  • Registrato ma non materializzato è uno stato di prima classe, mostrato come tale nel catalogo
DjiniousMap
Il catalogo dei dataset di DjiniousMap, con ogni riga che porta la propria fonte, classificazione e stato, e azioni per riga per geocodifica, geocodifica inversa, isocrone e instradamento sulle righe che sono state profilate.
Il catalogo distingue Registrato da Profilato. Una voce di riferimento porta un URL sorgente e nient'altro; una profilata ha avuto le proprie feature copiate e misurate, il che sblocca le azioni spaziali a destra.

02 · 02 · Profilazione

Il CRS dichiarato è un'affermazione; il CRS dedotto è una misurazione

Materializzare copia le feature nella piattaforma e le profila: conteggio delle feature, tipi di geometria, indice spaziale, tassi di geometria nulla e non valida, le colonne temporali e il sistema di riferimento delle coordinate in cui i numeri effettivamente si trovano. Il profilo è ciò di cui si fida tutto ciò che sta a valle — e un dataset non può essere disegnato prima di essere profilato, perché disegnarlo comunque è il modo in cui un layer finisce nel Golfo di Guinea.

  • Il CRS dedotto viene riportato con una confidenza, accanto al codice dichiarato dall'editore
  • Un disaccordo tra i due viene evidenziato, mai corretto silenziosamente
  • Quando non è possibile dedurre alcun CRS, il dataset viene rifiutato per la mappatura e l'anteprima tabellare continua a funzionare
DjiniousMap
Una pagina di dettaglio di un dataset che mostra EPSG:4326 dichiarato, EPSG:2154 dedotto con confidenza del 100%, un avviso che i due sono in disaccordo, un profilo completo, i risultati di qualità e i suoi punti disegnati sulla regione Provenza-Alpi-Costa Azzurra.
L'editore ha dichiarato WGS 84 mentre le coordinate misurano come RGF93 / Lambert-93 con confidenza del 100%. La piattaforma conserva entrambi i valori, dichiara la contraddizione e disegna la mappa a partire da quello dedotto.

03 · 03 · Composizione

Una mappa è un documento. I documenti hanno versioni.

Riunisci i dataset materializzati come layer su una mappa: stilizzali, ordinali, filtrali e aggiungi widget che filtrano incrociati ogni altro layer. La mappa è un documento, versionato come qualsiasi altro asset, così una vista pubblicata è riproducibile e una modifica sbagliata è a una versione di distanza dall'essere annullata.

  • Widget di categoria, istogramma, formula e serie temporale, ciascuno con filtro incrociato sulla mappa
  • Riproduzione temporale su qualsiasi colonna che il profiler ha identificato come temporale
  • Basemap IGN e altre, con lo stile dei layer tratto dai design token propri del prodotto
  • Solo i dataset profilati vengono offerti come layer, così un layer non può essere costruito su coordinate la cui proiezione è sconosciuta
DjiniousMap
Lo studio di DjiniousMap che mostra gli arrondissement di Lione come poligoni arancioni e la rete ciclabile di Rillieux-la-Pape come linee blu sulla basemap Plan IGN, un widget di categoria Arrondissement e una barra di riproduzione temporale.
Due layer materializzati composti sopra Plan IGN, con un widget di categoria che filtra incrociato per arrondissement e una barra di riproduzione temporale legata alla colonna data propria del layer.

04 · Tre dimensioni

Estrudi un layer in base a una colonna che già possiede

Un layer poligonale con un attributo numerico può essere estruso in base a esso. Il caso ovvio è l'altezza degli edifici: BD TOPO include un'altezza misurata su ogni impronta, quindi impostare “Estrudi in base a” su quella colonna trasforma una planimetria in un modello volumetrico — e poiché il valore appartiene all'edificio stesso, il volume è una lettura, non un'illustrazione.

  • Qualsiasi colonna numerica può determinare l'elevazione; l'esagerazione è esplicita e di default è 1
  • Inclinazione e orientamento fanno parte del documento salvato, così una vista 3D pubblicata si apre come è stata creata
  • Il layer estruso filtra e viene filtrato in modo incrociato come qualsiasi altro — un istogramma sull'altezza restringe il modello
  • Offerto solo sui layer poligonali, perché non c'è nulla da estrudere su un punto o una linea
DjiniousMap
Lo studio di DjiniousMap che mostra gli edifici di Parigi da BD TOPO estrusi in un modello volumetrico con una camera inclinata, con vista sulla Senna verso Île de la Cité, Notre-Dame, il Quartier Latin e Les Halles, con un widget istogramma dell'altezza.
Ogni impronta BD TOPO® in vista, estrusa in base alla propria altezza misurata con esagerazione 1 — 606.667 edifici nel layer. L'istogramma a destra filtra in modo incrociato il modello per altezza.

05 · 04 · Azione

Eseguila, pubblicala, pianificala, condividila

Esegui un'analisi, pubblica un workflow, pianificalo, condividi il risultato. Il lavoro che richiede tempo gira su una coda di job con lease e heartbeat, così un worker che muore a metà esecuzione rilascia il proprio lease invece di lasciare il job bloccato — e ogni mutazione finisce in un audit log append-only lungo il percorso.

  • Isocrone, instradamento, geocodifica diretta e inversa e analisi spaziale sui layer materializzati
  • Workflow creati su un canvas, pubblicati come asset versionati, attivati da pianificazione o evento
  • Link di condivisione pubblici e mappe incorporabili, incluso un embed conversazionale
DjiniousMap
La pagina delle automazioni di DjiniousMap che elenca le automazioni attivate da evento e da pianificazione con il loro workflow di destinazione, il trigger e lo stato dell'ultima esecuzione.
Un'automazione lega un trigger a una versione pubblicata di un workflow. Questa si attiva su dataset.refreshed per la raccolta BD TOPO e ricostruisce le isocrone di accesso agli aerodromi.

06 · Guardalo funzionare

Un agente che verifica il catalogo, rispecchiato dal vivo

A un agente esterno viene chiesto quali dataset la piattaforma si rifiuterà di disegnare. Cerca nel catalogo, legge due profili e spiega la differenza tra un dataset senza CRS deducibile e uno il cui editore ha semplicemente dichiarato il codice sbagliato. La sua conversazione appare nel pannello dell'assistente mentre lavora.

  • L'agente esterno apre una sessione e vi invia la propria trascrizione; su questo lato non c'è alcun LLM collegato
  • Viene reso con gli stessi blocchi che produce un'esecuzione nativa — ragionamento, chiamate agli strumenti con i loro argomenti e risultati, la risposta
  • È una sessione come qualsiasi altra: con ambito di tenant, nel log append-only, riproducibile, esportabile
DjiniousMap
Registrato sullo stack di sviluppo popolato con dati di esempio. L'applicazione è reale e lo è anche lo specchiamento — la trascrizione viene inviata attraverso lo stesso endpoint che userebbe qualsiasi agente esterno. I turni dell'agente sono scritti in anticipo così la registrazione è riproducibile; ogni cifra citata viene verificata rispetto allo stack in esecuzione prima che inizi la cattura.

IA e agenti

Un agente dentro il modello di tenancy, non accanto a esso

L'assistente non è un wrapper che legge il tuo schermo. Chiama la stessa API che chiami tu, come principal che il database riconosce, sotto le stesse policy a livello di riga — così non ci sono dubbi su cosa possa raggiungere, e nessun secondo modello di permessi da mantenere allineato al primo.

01

Pianifica prima di agire

Quando gli viene chiesto qualcosa di rilevante, l'agente propone un piano e si ferma. Vedi l'analisi che intende eseguire e i layer che intende toccare, e attende. Un agente che esegue prima e riferisce dopo è uno che devi supervisionare; uno che propone è uno che puoi dirigere.

02

Ogni chiamata a uno strumento è visibile

La trascrizione mostra ogni chiamata a uno strumento con i suoi argomenti e il suo risultato mentre avviene — incluse le chiamate che hanno restituito un errore. Uno strumento che ha fallito ed è stato ritentato fa parte del registro, perché una traccia che mostra solo il percorso riuscito è un riassunto, non una traccia.

03

Risponde con gli oggetti propri del catalogo

Quando l'agente parla di un dataset, ne rende la card: il profilo, la lettura del CRS, i risultati. Stai guardando la vista propria della piattaforma sul record, non la parafrasi che ne fa l'agente.

04

La sua portata è un fatto del database

L'agente accede come principal come qualsiasi altro. Una query a cui non dovrebbe poter rispondere non restituisce nulla, per lo stesso motivo per cui non lo farebbe per una persona: la policy non ha prodotto le righe. Non c'è nessuna allowlist specifica per l'agente da sbagliare.

05

Un server MCP, con token con ambito per agente

Gli agenti al di fuori dell'app — un assistente per il coding, un analista pianificato, i tuoi strumenti — raggiungono la piattaforma tramite un server Model Context Protocol, con la stessa superficie di strumenti usata dall'assistente integrato nell'app. I token vengono generati per agente e portano il proprio ambito, e revocarne uno lascia intatta la sessione di ogni altro agente.

06

Specchiamento della conversazione

La trascrizione di un agente esterno viene resa nel pannello dell'assistente proprio dell'app, con un badge e senza compositore, perché una sessione specchiata non ha un'esecuzione da avviare. Il server assegna numeri di sequenza sotto un lock per sessione, e i tipi di evento sono lo stesso insieme chiuso che accoda un'esecuzione nativa.

07

Un embed conversazionale per i lettori

Una mappa pubblicata può essere incorporata con un pannello di chat accanto, delimitato ai dati di quella mappa dal token di condivisione. Un lettore fa una domanda a parole e ottiene una risposta tratta dai layer sulla mappa — senza account, e senza portata oltre ciò che il token ha già reso pubblico.

DjiniousMap
La scheda dei token API delle impostazioni di DjiniousMap, che elenca tre token MCP generati — un client laptop, un audit pianificato e un notebook in sola lettura — ciascuno con la propria data di creazione, lo stato dell'ultimo utilizzo e il proprio controllo Revoke.
Un token per agente, ciascuno revocabile singolarmente. Il segreto viene mostrato una volta alla creazione e mai più, motivo per cui qui non ne compare nessuno.

Funzionalità

L'intera superficie, parte per parte

DjiniousMap è un'unica API Bun su due database, con un client React sopra: ciò che raccoglie i dati, ciò che li misura, ciò che li disegna, ciò che calcola su di essi e ciò che tiene le righe di ogni tenant fuori dalle query di ogni altro tenant.

Ingestione4 funzionalità

Raccolta pubblica

Un harvester registra dataset da data.gouv.fr, conservando l'identificatore esterno proprio dell'editore, l'URL sorgente, la licenza e la frequenza di aggiornamento. Una nuova raccolta aggiorna la registrazione esistente invece di creare un duplicato.

Connessioni

Registra le tue fonti e crea dataset a partire da esse. Una connessione porta le proprie credenziali e la propria raggiungibilità separatamente dai dataset che la usano, così ruotare un segreto non lascia orfana una voce del catalogo.

Materializzazione

Copiare le feature di un dataset nella piattaforma è un atto esplicito con un proprio job. Scarica la fonte, rileva il formato e inserisce a batch in una tabella creata per quel solo dataset — una tabella per dataset, mai un feature store condiviso.

Formati

GeoJSON, GeoPackage e le varianti compresse effettivamente pubblicate dal catalogo open data francese, incluso GeoJSON gzippato che si misura in centinaia di megabyte. L'ingestione avviene in streaming anziché in buffering, così la dimensione della fonte è limitata dal disco, non dalla memoria.

Misurazione5 funzionalità

Inferenza del CRS

Le coordinate vengono misurate e confrontate con proiezioni candidate, producendo un codice EPSG dedotto e una confidenza. Il codice dichiarato dall'editore viene registrato accanto e non viene mai sovrascritto. Quando i due sono in disaccordo, la piattaforma lo dichiara e disegna a partire da quello misurato.

Il profilo

Conteggio delle feature, tipi di geometria, presenza dell'indice spaziale, tassi di geometria nulla e non valida, colonne temporali, SRID dichiarato e dedotto, e il bounding box WGS 84. Il bbox viene calcolato in PostGIS perché ST_Transform vive lì e in nessun altro posto.

Risultati di qualità

Ogni risultato dichiara cosa è stato misurato, perché è rilevante e il rimedio. La precisione eccessiva delle coordinate quantifica l'accuratezza implicita rispetto a un GNSS di livello geodetico; i dati obsoleti indicano la colonna e la soglia; la geometria non valida riporta un tasso anziché un verdetto.

Indeterminato è un risultato

Quando mancano gli input di cui un risultato ha bisogno — nessuna frequenza di aggiornamento dichiarata, nessun proprietario, nessuna colonna di tipo data — il verdetto è Indeterminato e la pagina dichiara quali input erano assenti. Una supposizione presentata come una misurazione sarebbe peggio di nessuna risposta.

Idoneità

Un dataset che non può essere collocato su una mappa viene segnalato come non idoneo alla visualizzazione, con il risultato che ne è la causa. L'anteprima tabellare continua a funzionare: i dati non sono inutilizzabili, sono non mappabili, e la piattaforma distingue le due cose.

Composizione5 funzionalità

Layer

I dataset materializzati diventano layer con proprio stile, opacità, ordine e visibilità. Riempimento, tratto, spessore del tratto e raggio dei punti sono impostati per layer, e lo stile viene risolto tramite i design token del prodotto, così cambiare la palette del brand ridisegna la mappa insieme all'interfaccia.

Filtri

Filtri categorici, a intervallo e temporali per layer, componibili e condivisibili. Un filtro creato da un widget viene ricollegato a esso, così rimuovere il widget rimuove i filtri che ha creato — in modo atomico, senza lasciare orfani.

Widget e filtro incrociato

Selezionare in un widget filtra la mappa e ogni altro widget, ed è ciò che rende una mappa multi-layer esplorabile e non solo leggibile.

Riproduzione temporale

Qualsiasi colonna che il profiler ha identificato come temporale può guidare una timeline: scorrila, o riproducila, e la mappa si ridisegna lungo il periodo. La barra appare solo quando esiste una colonna di questo tipo, così non implica mai una dimensione temporale che i dati non hanno.

Asset versionati

Una mappa è un asset con versioni pubblicate immutabili, uno slug e un puntatore alla versione corrente — lo stesso modello di un workflow. Pubblicare congela un documento e ne calcola l'hash del corpo, così una vista condivisa è esattamente quella che è stata condivisa.

Calcolo5 funzionalità

Analisi spaziale

Esegui analisi sui layer materializzati e fai tornare il risultato nel catalogo come dataset a sé stante, profilato come qualsiasi altro. Un output è quindi un input di prima classe, e la discendenza è una relazione del catalogo anziché una convenzione sui nomi dei file.

Isocrone

Poligoni di tempo di percorrenza da un punto o da ogni feature di un layer, tramite un provider di instradamento innestabile. Il risultato è un dataset, quindi può essere stilizzato, filtrato e unito come qualsiasi altra cosa.

Instradamento

Percorsi punto-punto con la stessa astrazione di provider, che restituiscono una geometria che lo studio può disegnare.

Geocodifica, in entrambe le direzioni

La geocodifica diretta trasforma una colonna di indirizzi in punti; la geocodifica inversa trasforma i punti in indirizzi. Entrambe girano come job sull'intero dataset anziché riga per riga.

La coda dei job

Tutto ciò che richiede tempo gira su una coda con lease e heartbeat. Un worker che muore a metà esecuzione smette di inviare heartbeat e il suo lease scade, così il job viene ripreso invece di restare bloccato per sempre in stato di esecuzione.

Orchestrazione3 funzionalità

Canvas del workflow

Crea una pipeline come grafo, configura ogni nodo e pubblicala come asset versionato. Un'esecuzione trasmette il proprio avanzamento in tempo reale, e lo stream è durevole: riconnettersi riproduce l'esecuzione dal suo log eventi anziché perdere ciò che è successo mentre eri assente.

Trigger

Le automazioni legano un trigger a una versione pubblicata di un workflow. I trigger a pianificazione si attivano con una cadenza; i trigger a evento si attivano su eventi della piattaforma come dataset.refreshed, così una ricostruzione segue una raccolta senza che nessuno debba tenerla d'occhio.

Stato dell'ultima esecuzione

Ogni automazione porta l'esito della propria esecuzione più recente, così una pipeline che fallisce silenziosamente da una settimana è visibile nella pagina di elenco e non solo in un log.

Distribuzione3 funzionalità

Link di condivisione pubblici

Pubblica una mappa dietro un token di condivisione per lettori senza account. Il token delimita ciò che è leggibile; non è un modo per aggirare il modello di tenancy ma un principal al suo interno.

Embed

Lo stesso viewer funziona in modalità embed per inserire una mappa live all'interno di un'altra pagina — incluso un embed conversazionale, dove il lettore fa domande alla mappa invece di operarne i controlli.

Provider Interface v1

Espone la piattaforma come servizio alle applicazioni gemelle Djinious: token di servizio con ambito, una superficie di operazioni versionata sotto /api/provider/v1, e /ready, /version e /metrics per l'operatore.

Fiducia

Isolamento che puoi verificare, non isolamento che ti viene promesso

Il multi-tenancy è di solito un problema di revisione: ogni nuova query è a una clausola WHERE dimenticata di distanza da una fuga di dati. DjiniousMap sposta il confine dentro i due database, dove una query sbagliata non restituisce nulla anziché restituire le righe di qualcun altro.

SurrealDB — permessi per verbo

Ogni tabella è SCHEMAFULL e porta una clausola PERMISSIONS per ogni verbo, valutata rispetto al record con cui la connessione ha effettuato l'accesso. Una lettura negata non restituisce nulla. Anche una scrittura negata non restituisce nulla — motivo per cui ogni scrittura verifica che sia tornata indietro una riga invece di presumere che sia andata a buon fine.

SCHEMAFULL · PERMISSIONS

PostgreSQL — row-level security con FORCE

Le tabelle delle feature sono governate da row-level security dichiarata FORCE, così le policy si applicano anche al ruolo proprietario. Quel ruolo viene creato nosuperuser e nobypassrls: non esiste nel database alcun principal in grado di leggere oltre una policy, incluso quello che ha creato la tabella.

nosuperuser · nobypassrls

L'organizzazione viene impostata prima della prima istruzione

Ogni richiesta apre la propria transazione tramite un helper che imposta l'organizzazione prima che venga eseguita qualsiasi istruzione; le policy leggono quell'impostazione. Una richiesta che non ha risolto alcuna organizzazione non può aprire affatto una transazione, così “dimenticato di delimitarla” non è uno stato raggiungibile.

SET LOCAL, per transazione

Anche la materializzazione è protetta dal database

La funzione che crea la tabella delle feature di un dataset verifica prima che il dataset esista — un controllo che gira sotto la row-level security propria del chiamante. Un tenant che chiede di materializzare il dataset di un altro tenant non vede alcuna riga e viene rifiutato dal database, non da un handler.

security definer, RLS del chiamante

La suite deriva le proprie aspettative dai grant

La suite di test cross-tenant attraversa entrambi gli store e costruisce le proprie aspettative dai grant e dalle policy che trova, anziché da un elenco che qualcuno mantiene. Una tabella aggiunta senza una policy fa fallire l'attraversamento invece di passare perché nessuno si è ricordato di aggiungere un caso.

test di isolamento

Un cookie di sessione, e nient'altro

Le password sono Argon2id, verificate nel database. La sessione è un token casuale a 256 bit in un cookie HttpOnly, di cui viene memorizzato solo l'hash SHA-256. Gli header della richiesta non vengono mai consultati per l'identità, e non esiste né uno stub né un override. Le credenziali di accesso federano verso il core Djinious condiviso.

Argon2id · HttpOnly · SHA-256

Un audit log append-only, con conservazione obbligatoria

Ogni mutazione finisce in un audit log append-only lungo il percorso della mutazione. Una pulizia di manutenzione pianificata gestisce la conservazione dell'audit e la scadenza delle sessioni, e un comando di riconciliazione enumera entrambi gli store e termina con codice diverso da zero quando le righe previste sono in disaccordo.

audit · riconciliazione

Nel filo digitale

Cosa riceve. Cosa consegna.

DjiniousMap svolge la propria parte del ciclo di ingegneria e trasmette le proprie evidenze — e funziona altrettanto bene anche da sola.

Da sola

DjiniousMap è di per sé una piattaforma geospaziale completa: raccogli dati aperti o le tue fonti, profilali onestamente, componili in mappe versionate, esegui isocrone, instradamento e geocodifica, e automatizza la pipeline — con la tenancy applicata dal database anziché dal codice applicativo.

Prenota una demo

Guardala sul tuo problema.

Porta il dataset su cui avete discusso. Novanta minuti sui tuoi dati, non sui nostri: lo profileremo davanti a te e leggeremo il risultato mano a mano che arriva — incluse le parti in cui la piattaforma rifiuta di disegnarlo, e perché.

  1. Registra un dataset che porti tu — da un URL, o da una delle tue fonti tramite una connessione
  2. Materializzalo dal vivo e leggi il profilo ad alta voce: CRS, geometria, indice, tassi di nullità e non validità
  3. Esamina i suoi risultati di qualità, inclusi quelli che tornano Indeterminati e perché
  4. Componilo in una mappa con un secondo layer, filtralo e applica un filtro incrociato con un widget
  5. Esegui un'analisi su di esso — un'isocrona o un join spaziale — e guarda il risultato tornare nel catalogo
  6. Fai all'assistente una domanda per cui non ci siamo preparati, con la trace degli strumenti visibile