Geokodierung und Verarbeitung in großem Maßstab in ESRI


9

Ok, ich denke, diese Art von informeller Abfrage / Umfrage darüber, wie groß ein

Datensatz ist, den Sie in Ihren ESRI-Welten verwenden ... Ich erstelle und pflege einen landesweiten Datensatz, den ich bis auf die Ebene des einzelnen Hauses verarbeiten muss, nicht Paketebene, aber mehrere Postanschriften pro Paket für unsere Systeme. An vielen Orten verwende ich theoretische Adressen, die aus Straßennetz- oder USPS-AMS / AIS-Daten berechnet wurden. Meine Adressliste umfasst also ungefähr 13,5 Millionen Adressen und wächst monatlich oder vierteljährlich.

Unterhält derzeit jemand ein Live-System mit Adress- / Suchinformationen, das in einem fortlaufenden Datensatz so groß ist?

Ich würde gerne zusammenarbeiten oder mehr darüber sprechen, wie andere mit einem so großen Datensatz umgehen. Ich sehe Probleme, bei denen die ESRI-Software in die Luft zu jagen scheint, wenn ich versuche, Aufgaben wie Schnittpunkte oder räumliche Verknüpfungen auszuführen. ESRI sagt, dass sie diese Art von Problemen nicht sehen, aber ich habe diese Probleme seit 9.3.1, daher kann ich nicht die erste / einzige Person sein, die dies tut, da ich sie auf mehreren Computern neu erstellen kann.

Meine derzeitige Plattform ist ESRI ArcGIS 10 auf dem Desktop, das mit ArcSDE 9.3.1-sp1 in einem SQL2008-Backend unter Verwendung des räumlichen GEOMETRY-Objekts kommuniziert. Ich mache also nichts wirklich Exotisches; aber mir scheint immer noch, dass ich in einigen Bereichen vielleicht den Umschlag drücke.

[Des Weiteren]

Was mich interessiert, ist, was andere Leute tun, um ihre Prozesse für den Umgang mit diesen Datensätzen zu optimieren. Ich werde in Zukunft monatlich Upwords mit einer Million Datensätzen hinzufügen, und während Geokodierung usw. kein Problem darstellt, wenn Sie andere Prozesse ausführen und Daten für weitere Analysen verknüpfen, beginnen Sie mit komplexen Verknüpfungen. Nun, Sie geben Daten von Intersects / Overlays / Identities mit Only_FID aus und erhalten eine dünne mittlere Tabelle, der Sie ebenfalls beitreten können. Wenn Sie jedoch versuchen, die Erstellung dieser Tabelle zu teilen und zu erobern, treten Probleme auf, bei denen Sie Ihre Quelldaten in Arbeitsbereiche aufteilen müssen. Dann haben Sie jedoch wiederholte IDS, die Sie nicht wieder zusammenführen können. Sie haben also kleinere Datenblöcke, die Sie nicht einfach wieder vollständig machen können.

Denken Sie über Optionen nach, die die Daten nach Landkreisen aufteilen, und verwenden Sie dann räumliche Ansichten, um sie wieder zusammenzufügen. Nur neugierig, ob andere Benutzer die gleichen Probleme in so großem Maßstab, aber in kleinem Maßstab betrachten Fußabdrücke.


3
60 Millionen Adressen, die in Oracle Spatial (11g) ArcSDE geokodiert und in ArcGIS und Web App (intern) visualisiert wurden. Es geht nicht um die geokodierte Adresse, sondern um unscharfe (falsch übereinstimmende Adressen). Dies ist ein guter Leitfaden. Scdhec.gov/gis/presentations/ESRI_Conference_08/tws/workshops/…
Mapperz

Ich stimme zu, die Geokodierung war nie das Problem. Mein Problem tritt auf, wenn Sie einen so großen Datensatz haben, dass Sie einen kontinuierlichen Prozess benötigen, sodass andere Prozesse sehr schwierig werden. Funktionen / Aufgaben wie Schnittpunkte, räumliche Verknüpfungen usw., bei denen Sie dann zur Modellierung mit anderen Daten in einer stark normalisierten Umgebung verknüpfen müssen.
DEWright

Sind Ihre Geodaten indiziert? Gemäß den Dokumenten verwendet SQL Server B-Tree-Indizes. Laden Sie die Daten in eine PostGIS-Datenbank mit GIST-Indizes und vergleichen Sie die Leistung. Hier erfahren Sie, ob es sich um ein SQL Server-Problem handelt.
Sean

Keine Probleme mit solchen Dingen, aber was ich insgesamt sehe, ist, dass Sie, wenn Sie sich mit so vielen Punkten beschäftigen und so lange Funktionen ausführen, nach Möglichkeiten suchen, diese zu optimieren. Und ich bin gespannt, was andere Großanwender tun.
DEWright

Wenn die Frage so offen ist, sollte sie umformuliert und ein Community-Wiki erstellt werden.
Sean

Antworten:


1

Da es sich um eine (alte) offene Frage handelt, gebe ich Ihnen eine offene Antwort: Die ordnungsgemäße Verwendung der Datenbank kann enorm viel Zeit sparen. Der offensichtliche Weg, etwas zu tun, ist nicht unbedingt der schnellste, zum Beispiel, als ich kürzlich viele Zeilen aus Oracle löschen wollte, stellt sich heraus, dass nur das Senden: delete from TABLE1 where ID = 123Für jede Funktion war es unglaublich langsam und es gibt einige ausgefallene Oracle-Dinge, die ich tun kann um es um Größenordnungen schneller zu machen .

Wenn Sie also ein bestimmtes Problem finden, bei dem es sich um einen Engpass handelt, stellen Sie den Experten eine spezielle Frage zu diesem Engpass. Für die ArcGIS-Seite, die wahrscheinlich hier ist (oder die ESRI-Foren oder Ihre ESRI-Unterstützung), aber für ein datenbankseitiges Problem (und die Dinge werden normalerweise schneller, wenn Sie sie dort ausführen) möchten Sie unter http nachfragen : //www.stackoverflow.com


Nicht so offen; aber mehr nach besseren theoretischen Wegen suchen, um mit diesem Thema umzugehen. Bei meinem letzten Pfad habe ich meine eigene Fuzzy-Lookup-Logik erstellt, um mit meiner eigenen SQL2008-Datenbank zu kommunizieren. Entfernen Sie die Abhängigkeit von der ESRI-Engine, um sich auf gut abgestimmte Indizes zu verlassen und dies zu beschleunigen. Da wir nicht genug über die Interna der BING- oder Google-Engines wissen können, können wir nur davon ausgehen, dass sie dort eine eigene feinkörnige Logik verwenden würden.
DEWright

Sie können einiges über die Hintergründe von Google aus ihren Forschungsberichten herausfinden - research.google.com/pubs/papers.html
GIS-Jonathan
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.