AW: AW: [Mapbender-users] Probleme mit dem Maßstab
Fischer, Andreas
andreas.fischer at kreis-unna.de
Wed Nov 22 09:48:55 EST 2006
Hi Frank,
zu 2.) Du hast natürlich recht. Nur hatte ich den neuen Teil zwischen
vorhandene script-tags eingefügt (s.u.; Ergänzungen in fett).
Es ist m.E. notwendig, den JavaScript-Block zwischen den html-tags
einzufügen. Bei mir steht's im head. Etwa nach Zeile 56 (MB2.2.3).
Vielleicht ist Deine Variable immer leer, weil Dein JavaScript-Block eben
aus diesem Grund nicht ausgeführt wird
<?php
$gui_id = $_SESSION["mb_user_gui"];
$con = db_connect($DBSERVER,$OWNER,$PW);
db_select_db(DB,$con);
$sql = "SELECT e_width,e_height, e_target FROM gui_element WHERE e_id =
'overview' AND fkey_gui_id = '".$gui_id."'";
$res = db_query($sql);
$cnt = 0;
echo "<script type='text/javascript'>";
while($row = db_fetch_array($res)){
echo "var mod_overview_width = " . $row["e_width"].";";
echo "var mod_overview_height = " . $row["e_height"].";";
echo "var mod_overview_target = '" . $row["e_target"]."';";
$cnt++;
}
echo "var mod_overview_rank = ".$rank.";";
if($cnt > 1){ echo "alert('overview: ID not unique!');";}
//Ersetzung des Overview durch ein Image
if(isset($_REQUEST["un_image"])){
echo "var un_image = '" . $_REQUEST["un_image"] ."';";
}
// Ende
echo "</script>";
?>
zu 3.) Bei mir habe ich die Einfügung hinter Zeile 360 (MB2.2.3)
vorgenommen. Könnte sein, dass die Zeilenangabe bei Dir nicht ganz passt, da
ich mitunter schon davor etwas verändert habe. Unmittelbar davor steht aber
das folgende CodeFragment (Ergänzungen in fett):
if(mb_log){
var tmp = eval(mb_log + "('" + newMapURL + "','" + ts + "')");
}
if(proxy){
newMapURL = proxy + escape(newMapURL) + "&" + <?php echo "'".SID."'" ?>;
}
//Ersetzung des Overview durch ein Image, sofern an un_mapOV.php als
GetVariable übergeben
if(mb_mapObj[i].frameName=='overview' && document.overview.un_image){
newMapRequest += document.overview.un_image;
}else{
newMapRequest += newMapURL;
}
//Ende - else-Bedingung ist Standard
Ich hoffe, so klappt's jetzt.
Gruß
Andreas
Kreis Unna
Dezernat II - Projektteam GIS
(02303) 27-2507
andreas.fischer at kreis-unna.de
-----Ursprüngliche Nachricht-----
Von: Frank Glandorf [mailto:f.glandorf at gmx.de]
Gesendet: Mittwoch, 22. November 2006 15:23
An: users at mapbender.osgeo.org
Betreff: Re: AW: [Mapbender-users] Probleme mit dem Maßstab
So, habs mal ausprobiert:
zu 1.) mein src Eintrag sieht nun so aus:
../php/mod_mapOV.php?wms=0&overview_image=../daten/data/overview_image.png&s
essionID
zu 2.) hab die Datei mapOV.php bearbeitet die sieht so aus: (Die
"script-type"-Zeilen waren glaub ich notwendig)
session_start();
require_once("../../conf/mapbender.conf");
if(isset($_REQUEST["wms"])){
$rank = $_REQUEST["wms"];
}
else{
$rank = 0;
}
if(isset($_REQUEST["overview_image"])){
echo "<script type='text/javascript'>";
echo "var overview_image = '" . $_REQUEST["overview_image"] ."';";
echo "</script type='text/javascript'>";
}
?>
zu 3.) Könntest du mir vielleicht noch einmal schreiben wo genau das
eingefügt werden muss function setMapRequest(frameName) hab ich gefunden und
geht bei mir in Zeile 270 los. Ich denke mal, das vor die letzte der drei
schließenden Klammern (Zeile 353 oder?). Aber egal wo ich das einfüge, in
"document.overview.overview_image" ist nix drin.
MfG
Frank
Fischer, Andreas schrieb:
Hallo Frank,
ich habe das Modul 'overview' genau in diese Richtung etwas abgewandelt.
1. Im Aufruf (Datenfeld SRC) hänge ich den folgenden Paramter
&un_image=../kreisunna/img/un_intranetOverview.gif& an den Eintrag
../php/mod_mapOV.php?wms=0&sessionID an
2. Das Modul mapOV.php habe ich dahingehend ergänzt, dass eine Variable
un_intranet gesetzt wird, wenn der entsprechende Paramter übergeben wurde
if(isset($_REQUEST["un_image"])){
echo "var un_image = '" . $_REQUEST["un_image"] ."';";
}
3. Im Modul setMapRequest(frameName) der Datei map.php bewirken die
folgenden Zeilen, dass im Falle des Overviews und (!) der gesetzten Variable
un_image nicht ein WMS angesprochen, sondern einfach der Pfad zur Bilddatei
übergeben wird.
if(mb_mapObj[i].frameName=='overview' &&
document.overview.un_image){
newMapRequest += document.overview.un_image;
}else{
newMapRequest += newMapURL;
}
Vielleicht geht das alles auch schicker, aber es funktioniert und ist
insofern flexibel als zwischen Bilddatei und WMS-Aufruf bei Bedarf und je
nach GUI frei gewechselt werden kann.
Gruß
Andreas
Kreis Unna
Dezernat II - Projektteam GIS
(02303) 27-2507
andreas.fischer at kreis-unna.de <mailto:andreas.fischer at kreis-unna.de>
-----Ursprüngliche Nachricht-----
Von: Frank Glandorf [ mailto:f.glandorf at gmx.de <mailto:f.glandorf at gmx.de> ]
Gesendet: Dienstag, 21. November 2006 17:45
An: users at mapbender.osgeo.org <mailto:users at mapbender.osgeo.org>
Betreff: Re: [Mapbender-users] Probleme mit dem Maßstab
Danke erstmal für die schnelle Antwort,
das mit dem eingebetteten Maßstab hab ich hinbekommen. Die
Maßstabsleiste wird nun also angezeigt und im "scalsselect"-Modul wird
nun einfach statt bei 1:100 eben 1:xxxxxx eingetragen, das sollte
hinhauen. Zwar so nicht ganz korrekt aber egal, darauf kommt es bei der
Anwendung nicht an.
Leider hab ich nun aber auch in der Übersichtskarte eine Maßstabsleiste
und das sieht ziemlich bescheiden aus. Es wäre ja nicht das Problem das
"overview"-Modul einfach wegzulassen und stattdessen eine simple Grafik
einzubinden, aber dann hab ich ja auch nicht die Funktionen die das
"overview"Modul bereitstellt.
Daher meine Frage: Kann ich das Modul irgendwo überlisten? Zum Beispiel
in der Form, dass ich in der "mod_mapOV.php" oder "mod_box1.js" enfach
statt der vom Mapserver abgefragten Karte eine feste Tiff-Datei
verlinke? Hab mir die Dateien gerade mal angeschaut, bin aber nciht so
schnell darauf gekommen welchen Befehl ich ändern muss.
MfG
Frank
Uli Rothstein schrieb:
Hallo,
das clientseitig Maßstab-Modul kann bisher nur mit metrischen
Projektionssystemen umgehen. Für die Anzeige des Maßstabs in
Grad/Minuten besteht noch die Möglichkeit, den UMN serverseitig den
Maßstabsbalken in die Karte zu rendern.
Viele Grüße
Uli Rothstein
Frank Glandorf schrieb:
Hallo,
ich denke ich habe einen Anfängerfehler in meinem Mapbender-Projekt:
Wenn ich meine map-Datei in einer Oberfläche einbinde, wird
Gesamtdeutschland im Maßstab 1:60 angezeigt. Auch der Maßstab unten
in der Karte ist dementsprechend falsch, sprich Deutschland ist nur
ein paar Meter breit. Als Koordinatensystem benutze ich WGS84 sprich
EPSG 4326. Hier mal der Ausschnitt aus meiner Mapdatei:
# Start des Mapfiles
MAP
NAME "Deutschland"
IMAGETYPE PNG
EXTENT 5.5 47.0 15.2 55.5
UNITS DD
SIZE 480 480
STATUS ON
SHAPEPATH "data"
SYMBOLSET "symbols/symbols35.sym"
FONTSET "fonts/fonts.list"
CONFIG PROJ_LIB "C:/ProjektGIS/proj/nad/"
# Start des Web-Objektes
WEB
TEMPLATE "template.html"
IMAGEPATH "../tmp/"
IMAGEURL "../mapbender/tmp/"
MAXSCALE 1000000
MINSCALE 1
METADATA
"WMS_TITLE" "CarSIS-Deutschlandkarte"
"WMS_FEATURE_INFO_MIME_TYPE" "text/html"
"WMS_SRS" "epsg:4326"
"WMS_ONLINERESOURCE"
"http://localhost/cgi-bin/mapserv?map=c:/ProjektGIS/mapbender/http/daten/map
<http://localhost/cgi-bin/mapserv?map=c:/ProjektGIS/mapbender/http/daten/map
datei_deutschland.map&>
datei_deutschland.map&"
END
END
# Ende des Web-Objektes
# Start des Projektions-Objektes
PROJECTION
"init=epsg:4326" # Karten
sollen in WGS84 dargestellt werden
END
# Ende des Projektions-Objektes
# Start der Referenzkarte
REFERENCE
IMAGE "img/ref.png"
EXTENT 5.5 47.0 15.2 55.5
STATUS ON
COLOR -1 -1 -1
OUTLINECOLOR 255 0 0
SIZE 150 117 END
# Ende der Referenzkarte
# Start der Legendendefinition
LEGEND
STATUS ON
KEYSIZE 20 20
KEYSPACING 5 5
LABEL
TYPE TRUETYPE
FONT "ARIAL"
SIZE 8
COLOR 120 120 120
END # END OF LABEL
END
# Ende der Legendendefinition
# Start des Layer-Objektes des Deutschland-Tiff Bildes
LAYER
NAME 'Deutschland'
TYPE RASTER
DATA 'c:/ProjektGIS/mapbender/http/daten/data/deutschland_georef.tif'
STATUS ON
METADATA
"WMS_SRS" 'epsg:4326'
"WMS_EXTENT" '5.5 47.0 15.2 55.5'
"WMS_TITLE" 'Deutschland-Karte'
"WMS_FEATURE_INFO_MIME_TYPE" 'text/html'
END
END
END
Ich hoffe, jemand kann mir helfen.
MfG
Frank
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe at mapbender.osgeo.org
<mailto:users-unsubscribe at mapbender.osgeo.org>
For additional commands, e-mail: users-help at mapbender.osgeo.org
<mailto:users-help at mapbender.osgeo.org>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe at mapbender.osgeo.org
<mailto:users-unsubscribe at mapbender.osgeo.org>
For additional commands, e-mail: users-help at mapbender.osgeo.org
<mailto:users-help at mapbender.osgeo.org>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe at mapbender.osgeo.org
<mailto:users-unsubscribe at mapbender.osgeo.org>
For additional commands, e-mail: users-help at mapbender.osgeo.org
<mailto:users-help at mapbender.osgeo.org>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/mapbender_users/attachments/20061122/105fdb5d/attachment.html
More information about the Mapbender_users
mailing list