| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY präsentiert die neue NVIDIA RTX A400 und die A1000 Grafikkarte, eine Pressemitteilung
|
Autor
|
Thema: Darstellung zeitlich abhängiger Daten... (1764 mal gelesen)
|
tiefbauamt stadt greven Mitglied Dipl. Ing. Straßenbau
Beiträge: 20 Registriert: 08.04.2003 AutoCAD MAP 2006
|
erstellt am: 05. Aug. 2005 10:46 <-- editieren / zitieren --> Unities abgeben:
moin, folgendes Problem: Ich möchte in einer Karte Objekte darstellen, die abhängig von einem Datum farbig dargestellt werden sollen. Z.B: Liegt das Datum des verknüpften Datensatzes (Access DB) beim öffnen der Zeichnung in der Vergangenheit soll das Objekt rot sein. Liegt es in der Zukunft solls grün dargestellt werden. Hat da jemand eine Idee? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MAPGUIDE Mitglied Application Engineer
Beiträge: 64 Registriert: 23.08.2004 Autodesk Map Autodesk MapGuide Autodesk Land Desktop Autodesk Raster Design Autodesk Envison
|
erstellt am: 09. Aug. 2005 08:45 <-- editieren / zitieren --> Unities abgeben: Nur für tiefbauamt stadt greven
|
cosgeo Mitglied Vermessungsingenieur
Beiträge: 591 Registriert: 16.12.2004
|
erstellt am: 09. Aug. 2005 11:53 <-- editieren / zitieren --> Unities abgeben: Nur für tiefbauamt stadt greven
..da kann ich MAPGUIDE nur beipflichten: In ACCESS eine Abfrage definieren mit einem Feld "Neu-Alt". Feldwert wenn(date()-Datum < 0 ;"Neu";"Alt"), wobei Datum Deine Datumsspalte ist. Dann sollte es in Map mit einer SQL Abfrage nach Neu / Alt eigentlich kein Problem mehr sein.. ------------------ Wer aufräumt - ist nur zu faul zum suchen :-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tiefbauamt stadt greven Mitglied Dipl. Ing. Straßenbau
Beiträge: 20 Registriert: 08.04.2003 AutoCAD MAP 2006
|
erstellt am: 09. Aug. 2005 14:20 <-- editieren / zitieren --> Unities abgeben:
moin, und danke für die Antworten. Habe den Weg mit der Abfrage gewählt. Das ist leider nicht ganz optimal, denn ich muss ja die SQL Abfrage jedesmal neu schreiben. Außerdem werden dann nur die Objekte angezeigt. Ich beschreib mal das Anforderungsprofil genauer: Es geht darum, auf der Katasterkarte der Stadt Straßensperren aufgrund von Baumaßnahmen etc. darzustellen. Dargestellt werden 3 einfache Symbole, je nach Typ der Sperrung (Voll- Halb- Gehweg-). Die Sperrung wird beantragt und genehmigt. Der Status ist also abhängig vom aktuellen Datum: Genehmigt, Aktuell, Abgelaufen. Das sollte beim öffnen der Karte schon zu sehen sein. GGfls. soll diese Darstellung im Intranet oder auch im Internet zur Verfügung gestellt werden. Interessant ist diese Sache für Rettungsdienst, Polizei, Buslinienbetreiber etc... Gibt es vielleicht ein kleines, preiswertes GIS Tool was mir weiter helfen könnte? [Diese Nachricht wurde von tiefbauamt stadt greven am 09. Aug. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Huebner Ehrenmitglied V.I.P. h.c. Verm.- Ing., ATC-Trainer
Beiträge: 9803 Registriert: 01.12.2003 AutoCAD 2021, Civil 3D, MAP 3D, MDT, RD, Infraworks Inventor 2021, Win10Pro
|
erstellt am: 10. Aug. 2005 10:03 <-- editieren / zitieren --> Unities abgeben: Nur für tiefbauamt stadt greven
Das sollte sich auch mit AutoCAD Map pur erledigen lassen. Ich konnte nicht erkennen, ob es sich bei den Straßendaten um eine zugeordnete Zeichnung handelt, oder um die aktuelle Zeichnung. Deshalb hier ein Beispiel unter Verwendung der Darstellungsverwaltung von MAP 2006: Objekte (hier 3 Kreise), die mit einer Datenbanktabelle verknüpft sind und der verknüfpte Datenssatz ein Feld DATUM enthält. Der Datensatz mit dem Tagesdatum wird rot eingefärbt, die anderen Kreise werden gelb schraffiert. Die Karte "Neue Karte 1" enthält einen Textstil und einen Schraffurstil. Beim Schraffurstil ist unter Farbe der Ausdruck (IF (= &DATUM@verknüpfung !*CDATE*) 1 2) angegeben. der globale Lisp-Variable *CDATE* muss beim Öffnen des Dokuments gesetzt werden. Das erledigt die Lisp-Funktion Timestamp:
Code:
(DEFUN TIMESTAMP (/ date) (SETQ date (RTOS (GETVAR "CDATE") 2 0)) ; "2005-08-09 00:00:00" ; (Datumsformat aus Datentabellen) (SETQ *CDATE* (STRCAT (SUBSTR date 1 4) "-" (SUBSTR date 5 2) "-" (SUBSTR date 7 2) " 00:00:00")) )
Der gleiche Ausdruck kann natürlich auch bei eine Abfrage über ADEQUERY bei der Eigenschaftsänderung angegeben werden. ------------------ Mit freundlichem Gruß Udo Hübner Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tiefbauamt stadt greven Mitglied Dipl. Ing. Straßenbau
Beiträge: 20 Registriert: 08.04.2003 AutoCAD MAP 2006
|
erstellt am: 11. Aug. 2005 12:47 <-- editieren / zitieren --> Unities abgeben:
moinsen! Und danke für die Hilfe. Wenn ich die (IF (= &DATUM@verknüpfung !*CDATE*) 1 2) im Feld "Farbe:" eintrage bekomme ich die Fehlermeldung "Kein gültiger Farbname oder -wert" Bin folgendermaßen vorgegangen: Zeichnung geöffnet, DB zugeordnet, Daten mit den schraffierten Kreisen verknüpft, AutoLISP Datei geladen und in die Startgruppe aufgenommen. Leider habe ich keine Ahnung von AutoLISP und weiß nicht, ob die Routine überhaupt ausgeführt wird... Bitte um weitere Unterstützung. Danke im Voraus. Werner Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Huebner Ehrenmitglied V.I.P. h.c. Verm.- Ing., ATC-Trainer
Beiträge: 9803 Registriert: 01.12.2003 AutoCAD 2021, Civil 3D, MAP 3D, MDT, RD, Infraworks Inventor 2021, Win10Pro
|
erstellt am: 11. Aug. 2005 14:04 <-- editieren / zitieren --> Unities abgeben: Nur für tiefbauamt stadt greven
Die Lisp-Routine (timestamp) - Laden mit (LOAD "TIMESTAMP") und ausführen über (timestamp) an der Befehlszeile, setzt eine globale LISP-Varialbe namens *CDATE*. Ob der Aufruf erfolgreich war, kann man an der Befehlszeile testen, indem man !*CDATE* eintippt. Es sollte (zumindest heute) "2005-08-11 00:00:00" zurückgegeben werden, kommt stattdessen nil, dann einfach noch einmal (timestamp) eingeben. Ansonsten sollte alles so aussehen wie auf dem Screenshot.
------------------ Mit freundlichem Gruß Udo Hübner Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tiefbauamt stadt greven Mitglied Dipl. Ing. Straßenbau
Beiträge: 20 Registriert: 08.04.2003 AutoCAD MAP 2006
|
erstellt am: 11. Aug. 2005 16:59 <-- editieren / zitieren --> Unities abgeben:
ES GEHT ES GEHT ES GEHT !!! Habe das mit den Elementen und dem Darstellungsfenster bisher nie benötigt und sträflich missachtet... Aber ich hätte trotzdem noch zwei Fragen: 1. Wie kann ich den Befehl (timestamp) beim öffnen der dwg Datei automatisch ausführen lassen? 2. Die Schraffuren werden bei mir erst angelegt, wenn ich in der Darstellungsverwaltung bei Extras auf "Karte aktualsieren" klicke. Läßt sich das in der Form automatisieren, dass das nach dem Verknüpfen des Objekts mit dem Datensatz passiert? *EDIT* und 3. Wie bekomme ich das überhaupt hin, dass in meiner Karte in der Darstellungsverwaltung dieses Filtersymbol mit "Atuelle Zeichnung-Element" auftaucht, wo ich dann einen Schraffurstil festlegen kann? Nochmals vielen Dank Werner [Diese Nachricht wurde von tiefbauamt stadt greven am 11. Aug. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Huebner Ehrenmitglied V.I.P. h.c. Verm.- Ing., ATC-Trainer
Beiträge: 9803 Registriert: 01.12.2003 AutoCAD 2021, Civil 3D, MAP 3D, MDT, RD, Infraworks Inventor 2021, Win10Pro
|
erstellt am: 12. Aug. 2005 00:28 <-- editieren / zitieren --> Unities abgeben: Nur für tiefbauamt stadt greven
>> ES GEHT ES GEHT ES GEHT !!! Na prima. >>Habe das mit den Elementen und dem Darstellungsfenster bisher nie >>benötigt und sträflich missachtet... Es ist ja auch noch relativ neu - früher musste man zugeordnete Dateien abfragen, nun kann man auch verschiedene Darstellungen in der aktuellen Karte definieren. >>Aber ich hätte trotzdem noch zwei Fragen: >>1. Wie kann ich den Befehl (timestamp) beim öffnen der dwg Datei >>automatisch ausführen lassen? Einfach timestamp.lsp mit einem texteditor öffnen und (timestamp) ganz an das ende der Datei anfügen, dann wird der Befehl beim Laden automatisch einmal ausgeführt. >>2. Die Schraffuren werden bei mir erst angelegt, wenn ich in der >>Darstellungsverwaltung bei Extras auf "Karte aktualsieren" klicke. >>Läßt sich das in der Form automatisieren, dass das nach dem >>Verknüpfen des Objekts mit dem Datensatz passiert?
Weiss nicht >>und 3. Wie bekomme ich das überhaupt hin, dass in meiner Karte in >>der Darstellungsverwaltung dieses Filtersymbol mit "Atuelle >>Zeichnung-Element" auftaucht, wo ich dann einen Schraffurstil >>festlegen kann? In der Darstellungsverwaltungspalette RMK Neu->Layer oder REM Neu->Abfrage->Aktuelle Zeichnung->Alles (o. ä.) ------------------ Mit freundlichem Gruß Udo Hübner Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tiefbauamt stadt greven Mitglied Dipl. Ing. Straßenbau
Beiträge: 20 Registriert: 08.04.2003 AutoCAD MAP 2006
|
erstellt am: 15. Aug. 2005 08:29 <-- editieren / zitieren --> Unities abgeben:
moin moin, bekomme die Sache so allmählich in den Griff. Leider bleibt noch ein Problem: Die verknüpften Objekte sind Blöcke. Die werden blöderweise mit der Abfrage nicht mitschraffiert... Gibt es da eine Möglichkeit? Gruß Werner
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Huebner Ehrenmitglied V.I.P. h.c. Verm.- Ing., ATC-Trainer
Beiträge: 9803 Registriert: 01.12.2003 AutoCAD 2021, Civil 3D, MAP 3D, MDT, RD, Infraworks Inventor 2021, Win10Pro
|
erstellt am: 15. Aug. 2005 10:42 <-- editieren / zitieren --> Unities abgeben: Nur für tiefbauamt stadt greven
Möglichkeiten gibt es viele. Ohne einen Beispieldatensatz wird das jetzt aber alles Raterei. Blöcke werden nicht schraffiert - das ist so. Entweder färbt man die Blöcke ledgiglich ein, indem man die Blockinhalte vorher auf vonblock setzt und der Blockreferenz verschiedene Farben zuordnet, oder man legt den Block mit Farbfläche auf unterschiedliche Layer usw. Evt. fragt man auch einfach nur die in frge kommenden Blöcke ab. ------------------ Mit freundlichem Gruß Udo Hübner Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tiefbauamt stadt greven Mitglied Dipl. Ing. Straßenbau
Beiträge: 20 Registriert: 08.04.2003 AutoCAD MAP 2006
|
erstellt am: 15. Aug. 2005 11:51 <-- editieren / zitieren --> Unities abgeben:
So... das war jetzt etwas kompliziert, da ich selber leider keine Rechte für den Upload habe. Ich hoffe es hat geklappt. Ich habe für verschiedene Arten von Sperrungen folgende Blöcke angelegt: Voll, Halb, Gehweg Diese sind mit Access-Datensätzen verknüpft. Mit der Farbe im Schraffurstil: (IF (< &Ende@Verknüpfung !*CDATE*) 1 (IF (> &Beginn@Verknüpfung !*CDATE*) 2 3)) Werden die verknüpften Objekte jeweils eingefärbt. Nur leider werden keine Blöcke eingefärbt... [Diese Nachricht wurde von tiefbauamt stadt greven am 15. Aug. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |