The support forum is temporarily read-only. For urgent requests, please email contact[at]psyberia.net

[resolved] mapy.cz

It's all about maps...
Post Reply
MacMurphy

[resolved] mapy.cz

Post by MacMurphy »

Hi,

Would it be possible to include into offer of maps http://www.mapy.cz, mainly touristic/cycling part?

Thanks.

MM
Online
Psyberia-Support
Site Admin
Posts: 6407
Joined: Wed Apr 14, 2010 9:41 pm

Re: mapy.cz

Post by Psyberia-Support »

Hi,
I've just looked at these maps, which are very nice! Unfortunately they do not use a standard projection and tiling scheme, so without any more information I won't be able to add them in the application. At least the used projection would be a nice clue, but everything in the website is in Czech and I don't understand it...
If you have any info please let me know.
Best regards
Do you like AlpineQuest ? Leave a small comment on Google Play !
damiano.falcioni

Re: mapy.cz

Post by damiano.falcioni »

Hi,
I resume this old post as the mapy.cz maps (especially the touristic) are really good in my opinion.
The mapy.cz format is (touristic map): mapserver.mapy.cz/turist-en/%z-%x-%y

As a sample, the following mapy.cz tile correspond to the following openstreetmap tile:
- mapserver.mapy.cz/turist-en/16-35739-22707
- a.tile.openstreetmap.org/16/35739/22707.png

Best regards,
Damiano
damiano.falcioni
Posts: 8
Joined: Tue Jan 31, 2023 2:51 pm

Re: mapy.cz

Post by damiano.falcioni »

I'm trying to create the AQX for mapy, from their public APIs sample (https://api.mapy.cz/view?page=simple).
Till now this is the current status:

Code: Select all

<?xml version="1.0" encoding="utf-8" ?>
<aqx version="11">
  <name>Mapy.cz</name>
  <description>© Seznam.cz, a.s.</description>
  <param name="apiKey">virtual-0fcd17d444befc9b4fa678d506bafc5b</param>  
  <source id="MAPYCZ" type="topo">
    <name>Touristic</name>
    <data-source><![CDATA[https://mapy.cz/]]></data-source>
		<copyright>© Seznam.cz, a.s.</copyright>
    <zoom-levels z="1-17">
      <expression set="date0" type="long">unixtime()</expression>
      <expression set="date1" type="long">data0 - toLong(format("%tS",data0)) - (toLong(format("%tM",data0))*60) - (toLong(format("%%tH",data0))*60*60) + 1</expression>
      <expression set="date">toString(date1)</expression>      
      <expression set="sdk">format("%c", 'm'^'s')</expression>
      <expression set="sdk">sdk + format("%c", 'a'^'d')</expression>
      <expression set="sdk">sdk + format("%c", 'p'^'k')</expression>
      <expression set="sdk">sdk + format("%c", 'y'^'s')</expression>
      <expression set="sdk">sdk + format("%c", 'a'^'d')</expression>
      <expression set="sdk">sdk + format("%c", 'p'^'k')</expression>
      <expression set="sdk">sdk + format("%c", 'i'^'s')</expression>
      <expression set="sdk">sdk + format("%c", ','^'d')</expression>
      <expression set="sdk">sdk + format("%c", 'A'^'k')</expression>
      <expression set="sdk">sdk + format("%c", 'r'^'s')</expression>
      <expression set="sdk">sdk + format("%c", 'm'^'d')</expression>
      <expression set="sdk">sdk + format("%c", 's'^'k')</expression>
      <expression set="sdk">sdk + format("%c", 't'^'s')</expression>
      <expression set="sdk">sdk + format("%c", 'r'^'d')</expression>
      <expression set="sdk">sdk + format("%c", 'o'^'k')</expression>
      <expression set="sdk">sdk + format("%c", 'n'^'s')</expression>
      <expression set="sdk">sdk + format("%c", 'g'^'d')</expression>
      <expression set="sdk">sdk + format("%c", ','^'k')</expression>
      <expression set="sdk">sdk + format("%c", charAt(date, 0)^'s')</expression>
      <expression set="sdk">sdk + format("%c", charAt(date, 1)^'d')</expression>
      <expression set="sdk">sdk + format("%c", charAt(date, 2)^'k')</expression>
      <expression set="sdk">sdk + format("%c", charAt(date, 3)^'s')</expression>
      <expression set="sdk">sdk + format("%c", charAt(date, 4)^'d')</expression>
      <expression set="sdk">sdk + format("%c", charAt(date, 5)^'k')</expression>
      <expression set="sdk">sdk + format("%c", charAt(date, 6)^'s')</expression>
      <expression set="sdk">sdk + format("%c", charAt(date, 7)^'d')</expression>
      <expression set="sdk">sdk + format("%c", charAt(date, 8)^'k')</expression>
      <expression set="sdk">sdk + format("%c", charAt(date, 9)^'s')</expression>
      
      <expression set="sdk">base64(sdk)</expression>
      <tiles-size>256</tiles-size>
      <referer><![CDATA[https://fiddle.jshell.net/]]></referer>
      <server><![CDATA[https://api.mapy.cz/v1/maptiles/outdoor/256/{$z}/{$x}/{$y}?sdk={$sdk}&apikey={$param:apiKey}]]></server>
    </zoom-levels>
  </source>
</aqx>
The sdk url param is generated by this JS function that I tried to translate in AQX expressions:

Code: Select all

function() {
  var SDK_api="mapyapi";
  var SDK_version="Armstrong";
  var SDK_key="sdk";
  var date = new Date;
  date.setHours(0);
  date.setMinutes(0);
  date.setSeconds(1);
  date.setMilliseconds(0);
  var data = [SDK_api, SDK_version, date / 1e3 >>> 0].join(",");
  var xor_hodnota = [];
  for (var i = 0, max = data.length, keyMax = SDK_key.length, ptr = 0; i < max; i++) {
      var znakDat = data[i].charCodeAt(0);
      var znakKlice = SDK_key[ptr].charCodeAt(0);
      xor_hodnota.push(String.fromCharCode(znakDat ^ znakKlice));
      ptr++;
      if (ptr == keyMax) {
          ptr = 0
      }
  }
  return btoa(xor_hodnota.join(""));
};
I know that the base64 function will be added in future beta, but I'm trying to figure out if something else may be missing.
As a sample, to replace the JS ^ bitwise XOR operator can I use the AQX ^ operator like in Java ?
Also, in the server url the sdk param have to be urlencoded (js encodeURIComponent function). Could this create problems?
Thanks,
Damiano
Online
Psyberia-Support
Site Admin
Posts: 6407
Joined: Wed Apr 14, 2010 9:41 pm

Re: mapy.cz

Post by Psyberia-Support »

Hi again,
The new beta version is now available and is called 2.3.4.r8118.
Functions "b64_enc()" and "b64_dec()" are now available.
Unfortunately there is no bitwise operation available. The "^" operator is actually the "power" function.
I can also try to add this, but you'll have to wait... again...
Do you like AlpineQuest ? Leave a small comment on Google Play !
damiano.falcioni
Posts: 8
Joined: Tue Jan 31, 2023 2:51 pm

Re: mapy.cz

Post by damiano.falcioni »

Sorry, it was my fault to do not have checked this previously.
Let me know if you manage to add this operator in future betas.
Thanks for all the effort,
Damiano
Online
Psyberia-Support
Site Admin
Posts: 6407
Joined: Wed Apr 14, 2010 9:41 pm

Re: mapy.cz

Post by Psyberia-Support »

Hi again,
I'll add those function in the next beta.
By the way, the mapy.cz maps are already available in the app under the name "Czech Topo Maps".
Do you like AlpineQuest ? Leave a small comment on Google Play !
damiano.falcioni
Posts: 8
Joined: Tue Jan 31, 2023 2:51 pm

Re: mapy.cz

Post by damiano.falcioni »

Many thanks!
This was funny actually.. I started this AQX from the official APIs as the endpoint I posted on the 31/01/2023, mapserver.mapy.cz (that I realized now, is the one used in the "Czech Topo Maps") started to gave me 401 unauthorized access when accessed in incognito mode or without cookies set by en.mapy.cz , but now is not the case anymore...really strange...but good to know that was already there and working :)
Thanks again for the effort.
Damiano
Online
Psyberia-Support
Site Admin
Posts: 6407
Joined: Wed Apr 14, 2010 9:41 pm

Re: mapy.cz

Post by Psyberia-Support »

Ok great if it's working now.
Do you like AlpineQuest ? Leave a small comment on Google Play !
martin

Re: [resolved] mapy.cz

Post by martin »

Hi,

I am not sure if I am missing something, but I do not see 'Czech Tooo Maps' among community maps.

I am using AlpineQuest Off-Road Explorer 2.3.5b
and I can only see 'Czech Republic Freemap.sk Topo'
and 'Czech Republic OpenTopoMap.ru' options in the list of available Community maps.
Am I looking at a wrong place?
Thanks for any advice.

Martin
Online
Psyberia-Support
Site Admin
Posts: 6407
Joined: Wed Apr 14, 2010 9:41 pm

Re: [resolved] mapy.cz

Post by Psyberia-Support »

Unfortunately they have been removed 6 months ago following a request from mapy.
Do you like AlpineQuest ? Leave a small comment on Google Play !
Post Reply