| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY wird von NVIDIA zum Händler des Jahres gewählt – zum dritten Mal in Folge, eine Pressemitteilung
|
Autor
|
Thema: Spatial Index erstellen (2478 mal gelesen)
|
LarsB Mitglied
Beiträge: 448 Registriert: 13.05.2003 Windows 7 Prof. 64-Bit Tarox-Workstation mit Xeon 8 Core CPU mit 3.60 GHz 24 GB RAM NVIDIA Quadro 4000 AutoCAD Map 2019 MapEdit AutoCAD 2019
|
erstellt am: 27. Aug. 2013 08:11 <-- editieren / zitieren --> Unities abgeben:
Hallo Forum, ich habe aus einigen Tabellen eine/n View erstellt. Die Daten des Views werden aus anderen Datenbanken über einen Databaselink geholt. Das funktioniert auch gut. In diesem View gibt es auch eine Geometrie. Ich kann den View auch in Map3D laden und er wird angezeigt. Im MapGuide-Studio gelingt mir das aber nicht. Dort kommt eine Fehlermeldung und ein Spatial Index wird verlangt. Wie erstellt man diesen und kann/darf ich diesen einfach erstellen? Gruß Lars [Diese Nachricht wurde von LarsB am 30. Jun. 2015 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Stelli1 Moderator Verm.-Ing.
Beiträge: 1526 Registriert: 17.08.2005 AutoCAD Map aktuell, Designsuite VS6, VS.net
|
erstellt am: 03. Sep. 2013 10:41 <-- editieren / zitieren --> Unities abgeben: Nur für LarsB
|
LarsB Mitglied
Beiträge: 448 Registriert: 13.05.2003 Windows 7 Prof. 64-Bit Tarox-Workstation mit Xeon 8 Core CPU mit 3.60 GHz 24 GB RAM NVIDIA Quadro 4000 AutoCAD Map 2019 MapEdit AutoCAD 2019
|
erstellt am: 03. Sep. 2013 14:06 <-- editieren / zitieren --> Unities abgeben:
Hallo Wilfried und Danke für deine Antwort. Ich habe aus meiner Ansicht eine Objektklasse erstellen lassen. Meinst du das mit Featureklasse? Dennoch bleibt der Fehler. Ich bekomme diesen Fehler aber nur, wenn ich in der Vorschau im Studio etwas markieren will. Sonst werden meine Flächen halt nur einfach nicht gezeigt. Den ganzen Fehler hänge ich mal hier an. Danke und Gruß Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Stelli1 Moderator Verm.-Ing.
Beiträge: 1526 Registriert: 17.08.2005 AutoCAD Map aktuell, Designsuite VS6, VS.net
|
erstellt am: 05. Sep. 2013 17:23 <-- editieren / zitieren --> Unities abgeben: Nur für LarsB
Hallo Lars, das ist wohl auch nicht so einfach. Das führt weit unter die Motorhaube. Teste doch mal folgendes SQL:
Code: define Tabelle='GA_V_PIPE'; select table_name from user_sdo_geom_metadata where table_name='&&Tabelle' ; select INDEX_NAME,TABLE_OWNER,TABLE_NAME,TABLE_TYPE,STATUS,ITYP_OWNER,ITYP_NAME,PARAMETERS from user_indexes where table_name ='&&Tabelle' and ITYP_NAME='SPATIAL_INDEX';
Wahrscheinlich bringt der erste Select ein Ergebnis und der zweite nicht. Man müsste da zuerst den View neu mit einem Primary Key definieren. Wenn es sonst nicht stört würde ich es erst mal lassen. Es ist dann eine Menge Aufwand. Wilfried Stelberg ------------------ Warum lisp'eln wenn's auch anders geht. www.ib-stelberg.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
LarsB Mitglied
Beiträge: 448 Registriert: 13.05.2003 Windows 7 Prof. 64-Bit Tarox-Workstation mit Xeon 8 Core CPU mit 3.60 GHz 24 GB RAM NVIDIA Quadro 4000 AutoCAD Map 2019 MapEdit AutoCAD 2019
|
erstellt am: 06. Sep. 2013 11:21 <-- editieren / zitieren --> Unities abgeben:
Hallo Wilfried, vielen Dank für die Mühe. Die SQL-Anweisungen bringen beide kein Ergebnis. Liegt vielleicht aber auch daran, das ich 3 Benutzer habe. Benutzer3 holt sich per Databaselink über select (VIEW) die Infos aus Benutzer2(ALKIS) und Benutzer1(Bauverwaltungssoftware) und verbindet die Flächen (ALKIS) mit den Infos der (Bauverwaltungssoftware). Ich habe deine Anweisung jetzt in Benutzer3 ausgeführt. Wenn es zu aufwendig ist, dann brauchst du natürlich nicht weiter überlegen. Ich Danke dir schon für die Ansätze und Ideen. Gruß Lars Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Stelli1 Moderator Verm.-Ing.
Beiträge: 1526 Registriert: 17.08.2005 AutoCAD Map aktuell, Designsuite VS6, VS.net
|
erstellt am: 06. Sep. 2013 14:43 <-- editieren / zitieren --> Unities abgeben: Nur für LarsB
Hallo Lars, du musst das in dem Benutzer ausführen in dem dein View ist bzw. auf den du in Mapguide darauf zugreifst. Du kannst ja mal in den Eigenschaften der Featuresource des Layers nachschauen. Wilfried Stelberg ------------------ Warum lisp'eln wenn's auch anders geht. www.ib-stelberg.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
LarsB Mitglied
Beiträge: 448 Registriert: 13.05.2003 Windows 7 Prof. 64-Bit Tarox-Workstation mit Xeon 8 Core CPU mit 3.60 GHz 24 GB RAM NVIDIA Quadro 4000 AutoCAD Map 2019 MapEdit AutoCAD 2019
|
erstellt am: 10. Sep. 2013 08:23 <-- editieren / zitieren --> Unities abgeben:
Hallo Wilfried, ich habe die Abfrage in dem Benutzer gemacht. Keine Ergebnisse. Ich wunder mich eigentlich, dass das ganze nicht funktioniert. Ich habe so etwas vor einiger Zeit mit den Gebäuden schon einmal gemacht. Nur hab ich dort alles in dem Benutzer gemacht, in dem die Gebäudedaten (ALKIS) eh schon waren. Komisch finde ich das schon. Zumal Map 3D die Geometrie zeichnet. Mapguide scheint hier empfindlicher zu sein. Gruß Lars Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Mistfink Mitglied GISler
Beiträge: 217 Registriert: 08.06.2006 Map 3D / 2013 AIMS 2013 Win 7, 64bit
|
erstellt am: 10. Sep. 2013 15:54 <-- editieren / zitieren --> Unities abgeben: Nur für LarsB
Hallo Lars, ich kenne mich da leider auch nicht im Detail aus, aber hier einige Infos: a) Meldung in MapGuide and keine in Map Die Meldung aus MapGuide entsteht höchstwahrscheinlich, weil MapGuide bei (fast jeder?) Abfrage immer eine BoundingBox an Oracle mitgibt. Die Karte soll ja nur für einen bestimmten Ausschnitt erstellt werden. Um diese Abfrage verarbeiten zu können benötigt Oracle den Spatial-Index. Dieser fehlt. Beim Bildaufbau in Map dagegen werden die Daten oft vollständig geladen - ohne Angabe eine "BoundingBox". Nur wenn man beim Bildaufbau einen Ausschnitt wählt (bzw. beim Hinzufügen der Featureklasse) sollte die gleiche Meldung erscheinen wir bei MapGuide. b) Index für View? Soweit ich weiss, kann man einen View nicht indizieren. Findet Oracle ein Index für die darunterliegende Tabelle, dann kann der Index der Tabelle verwendet werden. c) DB Links Welche Besonderheiten bezüglich Indices gelten, wenn man über DB-Links auf Daten zugreift ist auch noch eine weitere Frage. Wie wäre es mit der folgenden Variante: Benutzer3 - legt zwei MaterializedViews an (einen für ALKIS, einen für BauVW-SW), jeweils mit Indices. Darauf aufbauend erstellst Du dann den View für die Anzeige im GIS. Nachteil - durch die Mat.Views sind die Daten ggf. nicht ganz aktuell (je nachdem wie oft Du die MV aktualisieren lässt). Viel Glück, Robert
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
LarsB Mitglied
Beiträge: 448 Registriert: 13.05.2003 Windows 7 Prof. 64-Bit Tarox-Workstation mit Xeon 8 Core CPU mit 3.60 GHz 24 GB RAM NVIDIA Quadro 4000 AutoCAD Map 2019 MapEdit AutoCAD 2019
|
erstellt am: 11. Sep. 2013 14:42 <-- editieren / zitieren --> Unities abgeben:
Hallo Robert, mit MV habe ich noch nicht gearbeitet. Da muss ich mich erst einmal schlau machen. Da wir die Daten bei Änderung im Grunde "sofort" aktuell haben wollten, haben wir das ganze ja über einen View gemacht, der direkt die Datenbanken abfragt. Die Idee klingt soweit aber gut. Gruß Lars Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MatthiasE Mitglied Bauinformatiker
Beiträge: 58 Registriert: 27.08.2004 BS: Win10-64Bit Software :Map2017/18/+RasterDesign,AIMS 2015,Oracle12c SE1, MapGuide OP Ver.3.x Hardware : WorkStation - Intel 6Core 2.3GHz
|
erstellt am: 19. Sep. 2013 16:32 <-- editieren / zitieren --> Unities abgeben: Nur für LarsB
Hallo Lars, habe ein ähnliches Problem, Robert hat die richtige Begründung genannt. AIMS/Mapguide kann nur „richtige“ Spatial-Objekte anzeigen keine Views. Der Index ist zwingend erforderlich. Die Lösung über dir MV ist eine Alternative. Diese MV haben aber bei größeren Datenmengen Zugriffsprobleme. Die Beste Lösung ist eine reine Featureklasse. Ob AIMS/Mapguide MV anzeigen kann habe ich noch nicht getestet. MG6.5 konnte es, aber mit Einschränkungen. Als Anhang die Definition eines MV, aber ohne SDO_GEOM. Die Koordinaten müsstest DU als SD_GEOM abändern. Und dann einen Spatial-Index erzeugen. ------------------ Viele Grüße Matthias Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Mistfink Mitglied GISler
Beiträge: 217 Registriert: 08.06.2006 Map 3D / 2013 AIMS 2013 Win 7, 64bit
|
erstellt am: 24. Sep. 2013 08:49 <-- editieren / zitieren --> Unities abgeben: Nur für LarsB
Hallo, wegen "Spatial Index" und DB-Link - ich stosse gerade auf das gleiche Problem und musste doch nochmal weiter recherchieren. Ich habe leider nur folgenden Diskussionsbeitrag gefunden: https://forums.oracle.com/thread/377036 Antworten sind im zweiten Beitrag. Es geht also wohl nicht. Gruss, Robert Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
LarsB Mitglied
Beiträge: 448 Registriert: 13.05.2003 Windows 7 Prof. 64-Bit Tarox-Workstation mit Xeon 8 Core CPU mit 3.60 GHz 24 GB RAM NVIDIA Quadro 4000 AutoCAD Map 2019 MapEdit AutoCAD 2019
|
erstellt am: 24. Okt. 2013 12:17 <-- editieren / zitieren --> Unities abgeben:
Ich habe mal wieder weiter an diesem Problem gefummelt. Zur Erinnerung: > Benutzer3 holt sich per Databaselink über select (VIEW) die Infos aus Benutzer2(ALKIS) und Benutzer1(Bauverwaltungssoftware) > und verbindet die Flächen (ALKIS) mit den Infos der (Bauverwaltungssoftware). Es war mir nicht Möglich, die endgültige View im Benutzer3 zu erstellen. Eine Anzeige der Flächen wurde mir dann in MapGuide verweigert. Ich habe die letzte View, die die Flächen mit den Daten aus der Bauverwaltungssoftware(Benutzer1) verbindet nun direkt in dem ALKIS-Benutzer(Benutzer2) angelegt. Hier werden mir nun die Flächen auch in MapGuide angezeigt. Liegt sicher daran, dass der Spatialindex in dem Benutzer2(ALKIS) schon vorhanden ist. Schön ist es nicht aber zumindest geht es. Ich wollte die View dort nicht erstellen, da der ALKIS-Benutzer momentan bei jeder Aktualisierung der ALKIS-Daten komplett neu erstellt wird. Ich muss dann also auch immer alle Views usw. erneuern. Vielleicht stellt sich irgendwann mal raus, wie das in einem anderen Benutzer zu machen ist. Gruß Lars Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Stelli1 Moderator Verm.-Ing.
Beiträge: 1526 Registriert: 17.08.2005 AutoCAD Map aktuell, Designsuite VS6, VS.net
|
erstellt am: 02. Nov. 2013 12:12 <-- editieren / zitieren --> Unities abgeben: Nur für LarsB
Zitat: Original erstellt von LarsB: ... Benutzer3 holt sich per Databaselink über select (VIEW)...
Es handelt sich wohl nicht um einen Databaselink sondern um Views/Synonyme über mehrere Benutzer innerhalb einer Datenbank. Bei einem Databaselink werden Daten aus andren Datenbanken wie Access, SQL Server, Oracle oder auch anderen Datenbanken eingebunden. Wichtig für die Erstellung des Spatialindexes ist es das der View einen eindeutigen Index (wie z.B. FID) hat. Werden Tabellen verbunden kann die FID gegeben falls doppelt vorkommen. Es geht aber auch in einer View einen eigenen eindeutigen Index zu generieren. Wilfried Stelberg ------------------ Warum lisp'eln wenn's auch anders geht. www.ib-stelberg.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
LarsB Mitglied
Beiträge: 448 Registriert: 13.05.2003 Windows 7 Prof. 64-Bit Tarox-Workstation mit Xeon 8 Core CPU mit 3.60 GHz 24 GB RAM NVIDIA Quadro 4000 AutoCAD Map 2019 MapEdit AutoCAD 2019
|
erstellt am: 14. Apr. 2015 15:28 <-- editieren / zitieren --> Unities abgeben:
ACHTUNG! Sie antworten auf einen Beitrag der älter als 1 Jahr ist! Hallo! Ich wollte mal nachfragen, ob es inzwischen eine andere Idee oder Lösungen gibt. Problem: Geometrie über VIEW von einem Benutzer zum anderen holen. Map zeigt es an, MapGuide / Map-Server aber nicht. Ich habe es inzwischen über einen Materialized View mit Index versucht. Leider ohne Erfolg. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
LarsB Mitglied
Beiträge: 448 Registriert: 13.05.2003 Windows 7 Prof. 64-Bit Tarox-Workstation mit Xeon 8 Core CPU mit 3.60 GHz 24 GB RAM NVIDIA Quadro 4000 AutoCAD Map 2019 MapEdit AutoCAD 2019
|
erstellt am: 30. Jun. 2015 14:39 <-- editieren / zitieren --> Unities abgeben:
|