Geocodifica ed elaborazione su larga scala in ESRI


9

Ok, quindi suppongo che questo tipo di query / sondaggio informale su quanto sia grande un set di dati che stai usando nei tuoi mondi ESRI ...

Sto costruendo e gestendo un set di dati in tutto lo stato, in cui devo elaborare fino al livello della singola casa, non livello pacchi ma più indirizzi postali per pacco per i nostri sistemi. In molti posti sto usando indirizzi teorici calcolati dalla rete stradale o dai dati USPS AMS / AIS. Quindi la mia lista di indirizzi è di circa 13,5 milioni di indirizzi e cresce mensilmente o trimestralmente.

Qualcuno è là fuori in questo momento che mantiene un sistema live di indirizzi / informazioni di ricerca corretta che è così grande in un set di dati continuo?

Mi piacerebbe collaborare o parlare di più su come gli altri gestiscono un set di dati così ampio. Sto riscontrando problemi in cui il software ESRI sembra esplodere quando provo a eseguire attività come incroci o join spaziali. ESRI afferma che non vedono questo tipo di problemi, ma ho avuto questi problemi sin dalla 9.3.1, quindi non posso essere la prima / unica persona a farlo poiché posso ricrearlo su più macchine.

La mia piattaforma in questo momento è ESRI ArcGIS 10 sul desktop, parlando con ArcSDE 9.3.1-sp1 su un backend SQL2008 usando l'oggetto spaziale GEOMETRY. Quindi non sto facendo nulla di veramente esotico; ma mi sembra ancora che in alcune aree forse sto spingendo la busta.

[Ulteriore]

Quello che mi interessa sapere è cosa stanno facendo le altre persone per ottimizzare i processi lì per gestire questi set di dati. In futuro aggiungerò le parole d'ordine di un milione di record al mese, e mentre il geocodifica ecc. Non è un problema quando si avvia l'esecuzione di altri processi e si collegano i dati per ulteriori analisi, si inizia a gestire join complessi. Bene, produci dati da Intersezioni / Sovrapposizioni / Identità usando Only_FID e ottieni anche un tavolo medio sottile da unire; ma quando inizi a cercare di dividere e conquistare la creazione di quella tabella, inizi a colpire i problemi in cui è necessario dividere i dati di origine in aree di lavoro, ma poi hai ID ripetuti che non puoi ricollegare; così ti rimangono piccoli blocchi di dati che non puoi facilmente ricostruire.

Pensando alle opzioni che suddividono i dati in scala Contea per Contea, quindi usando le viste spaziali per unirli di nuovo insieme ecc ... Solo curioso se altri utenti stanno osservando gli stessi tipi di problemi su così grande scala ma su piccola impronte.


3
60 milioni di indirizzi geocodificati in Oracle Spatial (11g) ArcSDE e visualizzati in ArcGIS e Web App (interna). Non si tratta dell'indirizzo geocodificato ma fuzzy (indirizzi errati
Mapperz

Sono d'accordo, il geocodifica non è mai stato il problema. Il mio problema si presenta quando hai un set di dati così grande che devi avere un processo continuo che altri processi diventano molto difficili. Funzioni / Attività come Intersects, Spatial-Join, ecc., In cui è quindi necessario unire altri dati in un ambiente altamente normalizzato per la modellazione.
DEWright,

I tuoi dati spaziali sono indicizzati? Secondo i documenti, SQL Server utilizza indici B-Tree. Prova a caricare i dati in un database PostGIS con indici GIST e confronta le prestazioni. Questo ti dirà se si tratta di un problema di SQL Server.
Sean,

Nessun problema con questo genere di cose, ma quello che vedo nel complesso è che quando hai a che fare con così tanti punti e facendo funzioni profonde che durano così a lungo, cerchi modi per ottimizzarli. E sono curioso di sapere cosa stanno facendo altri utenti su larga scala.
DEWright,

Se la domanda è quella a tempo indeterminato, dovrebbe essere riformulato e creato un wiki della comunità.
Sean,

Risposte:


1

Trattandosi di una (vecchia) domanda a risposta aperta, ti darò una risposta a risposta aperta: l'utilizzo corretto del database può farti risparmiare enormi quantità di tempo. Il modo ovvio di fare qualcosa non è necessariamente il più veloce, ad esempio quando di recente ho voluto eliminare molte righe da Oracle, risulta che solo l'invio: delete from TABLE1 where ID = 123per ogni funzione era incredibilmente lento e che ci sono alcune fantasiose cose Oracle che posso fare per velocizzare gli ordini di grandezza .

Quindi, fondamentalmente, se trovi un problema particolare che è un collo di bottiglia, fai una domanda specifica relativa a quel collo di bottiglia agli esperti. Quindi per il lato ArcGIS che probabilmente sarebbe qui (o i forum ESRI o il tuo supporto ESRI), ma per un problema sul lato database (e le cose saranno di solito più veloci se li fai lì) ti consigliamo di chiedere a http : //www.stackoverflow.com


Non così tanto aperto; ma cerco di più per modi teorici migliori per gestire questo argomento. Il mio percorso più recente mi ha fatto costruire la mia logica di ricerca fuzzy per parlare con il mio DB SQL2008. Rimozione della dipendenza dal motore ESRI per fare affidamento su indici ottimizzati per provare a renderlo più veloce. Dal momento che non possiamo conoscere abbastanza a fondo i motori interni di BING o Google, possiamo solo supporre che utilizzerebbero la propria logica a grana fine.
DEWright,

Puoi capire un po 'di dietro le quinte di Google dai loro articoli di ricerca
GIS-Jonathan
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.