Zurück   NaviBoard GPS Forum > Karten und Software > QLandkarte GT / QMapShack
Hinweise

Antwort
 
Themen-Optionen Thema durchsuchen Ansicht
  #1  
Alt 25.09.2015, 18:11
KartenFreak KartenFreak ist offline
NaviBoard Mitglied
 
Registriert seit: 24.08.2007
Beiträge: 235
QMapShack: WMS durch die Hintertür

Hi,

da QMS leider (noch) kein WMS unterstützt, habe ich nach einem Workaround gesucht. Und gefunden, bzw. gebastelt mit JavaScript: Dieser funktioniert für alle WMS-Karten, die die Web-Mercator-Projektion unterstützen (EPSG-Codes 3857 oder 900913).

Hier als Beispiel die Topokarte von NRW:

Code:
<TMS>
<Layer idx="0">
<Title>NRW DTK Sammeldienst</Title>
<Script><![CDATA[(
function convert(z1,x1,y1)
{ function M(n){return 256*n*(156543.03392804062/(1<<z1))-20037508.342789244}
  y=(1<<z1)-1-y1;
  bbox=M(x1)+','+M(y)+','+M(x1+1)+','+M(y+1);
  return "http://www.wms.nrw.de/geobasis/wms_nw_dtk?LAYERS=nw_dtk_col&FORMAT=image/png&SRS=EPSG:3857&EXCEPTIONS=application/vnd.ogc.se_inimage&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&BBOX=" + bbox + "&WIDTH=256&HEIGHT=256";
}
)]]></Script>
</Layer>
<Copyright>Geobasis NRW 2015</Copyright>
</TMS>
Den Code einfach z.B. als nrw.tms im QMS-Kartenverzeichnis speichern und loslegen.

Viel Spaß
Helmut
__________________
Locus Pro 3.9.3 auf Samsung Galaxy S4 Active - CGpsL 7.7.0 - GM 14.2 (Garmin eTrex Vista HCx - TTQV PU 4.0.133 - MS 6.13.7)
Mit Zitat antworten
  #2  
Alt 25.09.2015, 21:19
kiozen kiozen ist offline
NaviBoard Mitglied
 
Registriert seit: 12.12.2008
Beiträge: 2.936
Mega cool

Darf ich das ins Wiki setzen?
Mit Zitat antworten
  #3  
Alt 27.09.2015, 12:59
kiozen kiozen ist offline
NaviBoard Mitglied
 
Registriert seit: 12.12.2008
Beiträge: 2.936
Manche Server benutzen noch die alte EPSG Nummer für die TMS Projektion. Die wäre: EPSG:900913
Mit Zitat antworten
  #4  
Alt 28.09.2015, 08:05
KartenFreak KartenFreak ist offline
NaviBoard Mitglied
 
Registriert seit: 24.08.2007
Beiträge: 235
Zitat:
Zitat von kiozen Beitrag anzeigen
Manche Server benutzen noch die alte EPSG Nummer für die TMS Projektion. Die wäre: EPSG:900913
Hallo Oliver,

ja, ausgerechnet bei dieser verbreiteten Projektion herrscht so viel Chaos:
http://gis.stackexchange.com/questio...rojection-code


Übrigens kann man wohl auch die meisten ArcGIS-Kartenquellen als TMS abbilden. Der bbox-Parameter ist identisch mit dem beim WMS.

Beispiel Brasilien 1:1Mio:
Code:
<TMS>
<Layer idx="0">
<Title>Brasilien 1:1.000.000</Title>
<Script><![CDATA[(
function convert(z1,x1,y1)
{ function M(n){return 256*n*(156543.03392804062/(1<<z1))-20037508.342789244}
  y=(1<<z1)-1-y1;
  bbox=M(x1)+','+M(y)+','+M(x1+1)+','+M(y+1);
  return "http://sigel.aneel.gov.br/arcgis/rest/services/CartasTopograficas/MapServer/export?dpi=96&transparent=true&format=png8&bbox=" + bbox + " &bboxSR=3857&imageSR=3857&size=256,256&layers=show:17&f=image";
}
)]]></Script>
</Layer>
<Copyright>IBGE</Copyright>
</TMS>
Info-Quelle dazu wäre:
http://sigel.aneel.gov.br/arcgis/res...icas/MapServer

ArcGIS von ESRI ist eins der führenden GIS-Systeme. Mit geschickter Suche findet man so noch sehr viele Online-Karten!

Natürlich kannst du das alles ins Wiki übernehmen. Evtl. kann ich dabei noch helfen.

Grüße
Helmut
__________________
Locus Pro 3.9.3 auf Samsung Galaxy S4 Active - CGpsL 7.7.0 - GM 14.2 (Garmin eTrex Vista HCx - TTQV PU 4.0.133 - MS 6.13.7)
Mit Zitat antworten
  #5  
Alt 28.09.2015, 08:18
kiozen kiozen ist offline
NaviBoard Mitglied
 
Registriert seit: 12.12.2008
Beiträge: 2.936
Hallo Helmut

Wenn Dir noch was Schickes dazu einfällt:

https://bitbucket.org/maproom/qmapsh...MapsTipsTricks

Eigentlich lustig, dass die Franzosen nicht schon längst auf die Idee gekommen sind. Die haben bisher als einzige ihren freien WMS IGN Karten Server vermisst und sich über den fehlenden WMS Support beklagt. Naja, jetzt hat sich wenigstens mal jemand dran gemacht das für WMTS zu erklären. Und mit deinem Trick sollte der freie WMS Server auch gehen.

Wie sieht das eigentlich aus: Ich habe Rückmeldungen bekommen, dass die Windows Version bei TMS und WMTS Karten nicht immer stabil läuft. Kommt das Problem öfters vor oder ist das nur ein verkorkster Computer?
Mit Zitat antworten
  #6  
Alt 29.09.2015, 11:00
KartenFreak KartenFreak ist offline
NaviBoard Mitglied
 
Registriert seit: 24.08.2007
Beiträge: 235
Zitat:
Zitat von kiozen Beitrag anzeigen
Wie sieht das eigentlich aus: Ich habe Rückmeldungen bekommen, dass die Windows Version bei TMS und WMTS Karten nicht immer stabil läuft. Kommt das Problem öfters vor oder ist das nur ein verkorkster Computer?
Ich werde das mal genauer beobachten. Ich glaube, ich habe da auch schon Abstürze erlebt. Ich melde mich.
__________________
Locus Pro 3.9.3 auf Samsung Galaxy S4 Active - CGpsL 7.7.0 - GM 14.2 (Garmin eTrex Vista HCx - TTQV PU 4.0.133 - MS 6.13.7)
Mit Zitat antworten
  #7  
Alt 16.03.2016, 17:55
limex limex ist offline
NaviBoard Mitglied
 
Registriert seit: 08.02.2016
Beiträge: 4
Brasilien ist kleinkariert

@KartenFreak: Ich bekomme die Tiles, aber alle haben ein Schachbrettmuster.
Hast du eine Idee woran es liegt?
Und: ja, der Kartenausschnitt war in Brasilien!
Mit Zitat antworten
  #8  
Alt 16.03.2016, 18:09
limex limex ist offline
NaviBoard Mitglied
 
Registriert seit: 08.02.2016
Beiträge: 4
Neuseeland Topo

Ich hab auch brav gespripted und was für Neuseeland bebastelt.
Hintergrund: Die Kiwis sind besonders schlau, die negativen Lat Koordinaten behandeln sie wie positive
Nicht mit mir
Ich habs auch ins Wiki gestellt. Hoffe es passt. War mein erster Wiki Eintrag überhaupt.

Code:
<TMS>
	<Title>NZTopo</Title>
	<MinZoomLevel>6</MinZoomLevel>
	<MaxZoomLevel>15</MaxZoomLevel>
	<Layer idx="0">
		<Title>NZTopo</Title>
		<Script><![CDATA[(
		function convert(z1,x1,y1)
		{	
			function lat2tile(lat,zoom) { return (Math.floor((1-Math.log(Math.tan(lat*Math.PI/180)+1/Math.cos(lat*Math.PI/180))/Math.PI)/2*Math.pow(2,zoom))); }
			function tile2lat(y,z) { var n=Math.PI-2*Math.PI*y/Math.pow(2,z); return (180/Math.PI*Math.atan(0.5*(Math.exp(n)-Math.exp(-n)))); }
			lat = tile2lat(y1,z1); neg_lat = -lat; y2 = lat2tile(neglat,z1);
			return "http://nz1.nztopomaps.com/" + z1 + "/" + x1 + "/" + y2 + ".png"; 
		}
		)]]></Script>
	</Layer>
</TMS>
Mit Zitat antworten
  #9  
Alt 16.03.2016, 19:12
kiozen kiozen ist offline
NaviBoard Mitglied
 
Registriert seit: 12.12.2008
Beiträge: 2.936
Passt super! Danke
Mit Zitat antworten
  #10  
Alt 16.03.2016, 21:04
KartenFreak KartenFreak ist offline
NaviBoard Mitglied
 
Registriert seit: 24.08.2007
Beiträge: 235
Zitat:
Zitat von limex Beitrag anzeigen
@KartenFreak: Ich bekomme die Tiles, aber alle haben ein Schachbrettmuster.
Hast du eine Idee woran es liegt?
Und: ja, der Kartenausschnitt war in Brasilien!
Auf der Website gibt's das gleiche Phänomen:
http://sigel.aneel.gov.br/sigel.html

Keine Ahnung, warum. Wollen die uns ärgern?

Edit: Habe stattdessen ein Beispiel aus Italien ins Wiki gestellt.
__________________
Locus Pro 3.9.3 auf Samsung Galaxy S4 Active - CGpsL 7.7.0 - GM 14.2 (Garmin eTrex Vista HCx - TTQV PU 4.0.133 - MS 6.13.7)

Geändert von KartenFreak (17.03.2016 um 15:27 Uhr)
Mit Zitat antworten
  #11  
Alt 17.03.2016, 14:23
KartenFreak KartenFreak ist offline
NaviBoard Mitglied
 
Registriert seit: 24.08.2007
Beiträge: 235
Zitat:
Zitat von limex Beitrag anzeigen
Ich hab auch brav gespripted und was für Neuseeland bebastelt.
Hintergrund: Die Kiwis sind besonders schlau, die negativen Lat Koordinaten behandeln sie wie positive
Nicht mit mir
Ich habs auch ins Wiki gestellt. Hoffe es passt. War mein erster Wiki Eintrag überhaupt.

Code:
<TMS>
    <Title>NZTopo</Title>
    <MinZoomLevel>6</MinZoomLevel>
    <MaxZoomLevel>15</MaxZoomLevel>
    <Layer idx="0">
        <Title>NZTopo</Title>
        <Script><![CDATA[(
        function convert(z1,x1,y1)
        {    
            function lat2tile(lat,zoom) { return (Math.floor((1-Math.log(Math.tan(lat*Math.PI/180)+1/Math.cos(lat*Math.PI/180))/Math.PI)/2*Math.pow(2,zoom))); }
            function tile2lat(y,z) { var n=Math.PI-2*Math.PI*y/Math.pow(2,z); return (180/Math.PI*Math.atan(0.5*(Math.exp(n)-Math.exp(-n)))); }
            lat = tile2lat(y1,z1); neg_lat = -lat; y2 = lat2tile(neglat,z1);
            return "http://nz1.nztopomaps.com/" + z1 + "/" + x1 + "/" + y2 + ".png"; 
        }
        )]]></Script>
    </Layer>
</TMS>
Hallo limex,

das kannst du aber auch einfacher haben:
Code:
function convert(z1,x1,y1)
 {  return "http://nz1.nztopomaps.com/" + z1 + "/" + x1 + "/" + ((1<<z1) - y1 - 1) + ".png";
 }
Wobei 1<<z1 das Gleiche ist wie Math.pow(2,z1).


Was die Neuseeländer benutzen, entspricht der Indexierung vom OSGEO TMS:
http://www.maptiler.org/google-maps-...ds-projection/

Man muss also genau aufpassen, was jeweils mit TMS gemeint ist.
__________________
Locus Pro 3.9.3 auf Samsung Galaxy S4 Active - CGpsL 7.7.0 - GM 14.2 (Garmin eTrex Vista HCx - TTQV PU 4.0.133 - MS 6.13.7)

Geändert von KartenFreak (17.03.2016 um 15:32 Uhr)
Mit Zitat antworten
  #12  
Alt 19.03.2016, 17:06
limex limex ist offline
NaviBoard Mitglied
 
Registriert seit: 08.02.2016
Beiträge: 4
@KartenFreak:
Jawolllllll! Jetzt verstehe ich auch den Hack! Danke dir. Wiki Eintrag wird geändert mit Referenz auf dich.
Ich liebe dieses Forum!! Hier wird man echt schlauer.
Mit Zitat antworten
Antwort

Stichworte
qmapshack, qms, wms

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
QMapShack kiozen QLandkarte GT / QMapShack 363 08.03.2017 21:34
QMapShack V 1.3.1 kiozen QLandkarte GT / QMapShack 1 19.09.2015 08:23
QMapShack untd Proxy Sabine SW QLandkarte GT / QMapShack 1 06.09.2015 16:32
QMapShack und Routen kiozen QLandkarte GT / QMapShack 4 15.07.2015 19:40
Anfänger blickt nicht durch Kartensätze durch..... leseratte68 zûmo 660, 220 4 15.05.2011 13:40


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:31 Uhr.


Powered by vBulletin® Version 3.8.11 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Template-Modifikationen durch TMS