![]() |
Datenbank: SQL • Version: 2014 • Zugriff über: TADO
Verwalten und Speichern von Polygonen
Hi Zusammen,
aktuell bin ich nicht zufrieden mit der Lade-Geschwindigkeit von großen Mengen (100.000) Polygonen. Die Zeiten für 150.000 Polygone (ca. 200Stützstellen) betragen: Öffnen der Datenbank: ca. 35 sec
Delphi-Quellcode:
Konvertierung von String zu Polygon: ca. 3:30 min
queryLayer := TADOQUERY.Create(nil);
// Get Polygons sqlString := 'select polygons from obj'; queryLayer.SQL.Add(sqlString); queryLayer.connection := MainConnection; queryLayer.Open; Meine Daten sind in einer SQL Datenbank abgelegt. Der Polygon-String ist folgendermaßen aufgebaut (polygon (pointlist (pt 5443635 4815174) (pt 5444761 4815174) (pt 5444761 4815049) ....
Delphi-Quellcode:
Zeichnen der Polygone: 3Secconst //Iterativ gehe ich über alle Character -> suche nach der ersten Zahl -> X und dann nach der zweiten Zahl -> Y PolyStr := queryLayer.FieldByName('polygon').AsString; while TCharacter.isDigit(Char(PolyStr[i])) do begin ch := PolyStr[i]; xValue[X] := ch; Inc(X); Inc(i); end; ... //selbes für Y MyPoly[index].X := StrToInt(String(xValue)); MyPoly[index].Y := StrToInt(String(yValue)); Hat jemand eine Idee, wie ich die Polygonverwaltung besser gestalten kann? Wie speichert ihr große Datenmengen effizient? Eignet sich SQL? vielen Dank Jacks |
AW: Verwalten und Speichern von Polygonen
Kannst du die Polygone nicht so in der DB ablegen, dass du dir die Konvertierung sparen kannst? Und warum dauert das Öffnen der DB solange?
|
AW: Verwalten und Speichern von Polygonen
|
AW: Verwalten und Speichern von Polygonen
Zitat:
|
AW: Verwalten und Speichern von Polygonen
|
AW: Verwalten und Speichern von Polygonen
Zitat:
Ich bin häufig auf den Begriff "Spatial Database" gestoßen. Läuft damit die Verwaltung der Objekte besser ab? ![]() |
AW: Verwalten und Speichern von Polygonen
Ist das Dein eigens Format, also verwaltest Du die Datenbank selber?
Dann schreibe doch die Polygone als Blob binär in die Datenbank. Spart die Umwandlung |
AW: Verwalten und Speichern von Polygonen
Ich würde erst mal
![]() Außerdem frage ich mich, ob du wirklich alle 150 000 Polygone auf einmal laden musst. Ist Lazy Loading keine Option? |
AW: Verwalten und Speichern von Polygonen
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:18 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz