[Mapserver-DE] Objekte selektieren und markieren

J Wagner jj.wag at gmx.de
Mon Mar 13 13:36:56 CET 2006


Hallo Sebastian,
ich hab mir sowas schon gedacht...
habe mit mapscript schon ein paar kleine Anwendungen gebaut und werde mich 
mal näher damit beschäftigen.
Besten Dank für den Tipp
Jochen

----- Original Message ----- 
From: "Sebastian Albrecht" <albrecht at fielax.de>
To: "J Wagner" <jj.wag at gmx.de>
Cc: <Mapserver-DE at freegis.org>
Sent: Monday, March 13, 2006 1:12 PM
Subject: Re: [Mapserver-DE] Objekte selektieren und markieren


Hallo Jochen,

ich bin mir nicht sicher, was du unter einem "einfachen HTML-Client"
verstehst. Wenn du damit eine Anwendung meinst, die nur das
MapServer-CGI benutzt, dann wirst du deine gewünschte Funktionalität
IMHO nicht erreichen. Mit dem CGI hast du keine Möglichkeit die zuvor
ausgewählten Objekte zwischenzuspeichern.

Mit dem Einsatz von MapScript wäre es dagegen möglich, da du bspw. bei
PHP/MapScript mit Sessions arbeiten kannst.


> 1. Wie kann ich es erreichen das alle nacheinander abgefragten Objekte 
> auch
> markiert bleiben?

Wenn jedes Objekt über ein eindeutiges Attribut (z. B. OID) angesprochen
werden kann, dann kannst du das Attribut von jedem neu selektierten
Objekt an ein Array in der Session dranhängen. Anschließend erzeugst du
aus diesem Array einen EXPRESSION-String a la
"(OID = 3) OR (OID = 5) OR (OID = 17)"
und erreichst mit queryByAttribute, dass diese Objekte markiert werden.

Alternativ kannst du in deiner Map-Datei ein gesondertes CLASS-Objekt
anlegen, das bspw. rot ist und diesem den EXPRESSION-String zuweisen.
Dann erzeugst du eine normale Karte, in der die entsprechenden Objekte
rot eingefärbt sind, ohne eine Abfrage durchführen zu müssen. Ich bin
mir nicht sicher, welche der Lösungen performanter ist oder ob sie
gleichschnell sind.

> 2. Wäre es auch möglich Objekte durch Klick zu markieren und nach einem
> weiteren Klick auf dasselbe Objekt die Markierung wieder aufzuheben?

Wenn du deine Objekte bzw. deren Attributwerte (3, 5, 17) in einem Array
in der Session vorhälst, kannst du sie daraus auch wieder entfernen.


Falls du von MapScript noch gar nichts gehört hast, aber in einer der
angebotenen Programmiersprachen PHP, Perl, Java, C#, ... heim bist,
empfehle ich dir auf jeden Fall den Einstieg, da man wesentlich
flexiblere Anwendungen gestalten kann.

Falls du MapScript bereits kennst, hilft dir obiges vielleicht deine
Einkaufsanwendung umzusetzen...


Viele Grüße

Sebastian


-- 
----------------------------------------------------------------
FIELAX Gesellschaft fuer wissenschaftliche Datenverarbeitung mbH
Schifferstr. 10-14, 27568 Bremerhaven, GERMANY

Sebastian Albrecht

Phone:    +49 (0)471 30015-16
Fax:      +49 (0)471 30015-22
EMail:    albrecht at fielax.de
----------------------------------------------------------------

_______________________________________________
Mapserver-DE mailing list
Mapserver-DE at freegis.org
https://freegis.org/mailman/listinfo/mapserver-de




This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)