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