SASGIS - Доработка карты (ZMP)
View Issue Details
0002982Доработка карты (ZMP)Доработка файла картыpublic10-03-2016 10:3713-07-2016 08:45
nerzax 
zed 
normalmajoralways
resolvedfixed 
Windows7Home Basic
0002982: Водные карты Navionics, вместо карт грузится "Unauthorized"
то же что было ранее в 2013 году
No tags attached.
has duplicate 0002994closed zed Unauthorized all Maps 
Issue History
10-03-2016 10:37nerzaxNew Issue
10-03-2016 11:29zedNote Added: 0017052
10-03-2016 14:17nerzaxNote Added: 0017053
11-03-2016 18:01zedNote Added: 0017054
13-03-2016 05:56nerzaxNote Added: 0017064
21-03-2016 17:52zedRelationship addedhas duplicate 0002994
23-03-2016 20:35phaet0nNote Added: 0017101
27-04-2016 11:56GhostNote Added: 0017185
27-04-2016 13:04zedNote Added: 0017186
27-04-2016 13:04zedStatusnew => resolved
27-04-2016 13:04zedResolutionopen => fixed
27-04-2016 13:04zedAssigned To => zed

Notes
(0017052)
zed   
10-03-2016 11:29   
И как проблема решилась в том 2013 году?
(0017053)
nerzax   
10-03-2016 14:17   
было внесено исправление в zmp, там сменился ключ авторизации при запросе тайлов или что то в этом роде. Полагаю что и в этот раз то же самое, самому некогда копаться, так как не моя область знаний.
(0017054)
zed   
11-03-2016 18:01   
У них там сменился API. Теперь и URL выглядит по другому и ключ авторизации используется. На форуме выложили рабочие zmp: http://www.sasgis.org/forum/viewtopic.php?f=2&t=168&start=940#p42190

C учётом того, что ключ может меняться, в zmp, по хорошему, надо бы сделать запрос этого ключа и его подстановку. Ключ получается вот таким запросом:

_https://backend.navionics.io/tile/get_key/Navionics_internalpurpose_00001/webapiv2.navionics.com?_=%timestamp%
(0017064)
nerzax   
13-03-2016 05:56   
Спасибо
(0017101)
phaet0n   
23-03-2016 20:35   
Я несколько раз с разных машин попробовал ключ поотслеживать и нашел что он постоянный. Пока что.
ибо этот ключ TmF2aW9uaWNzX2ludGVybmFscHVycG9zZV8wMDAwMSt3ZWJhcGl2Mi5uYXZpb25pY3MuY29t

это ничто иное как зашифрованная в base64 строка "Navionics_internalpurpose_00001+webapiv2.navionics.com"

судя по тому что у них в апи есть метод get_key то в будущем могут и прикрыть общий доступ к картам. Так что по хорошему надо бы кеш сделать)
(0017185)
Ghost   
27-04-2016 11:56   
День добрый!
Использую версию SASPlanet 151111.9233
файл GetUrlScript.txt выглядит так
var
  I: Integer;
  VEncoded: string;
  VBox: string;
begin
  VBox := RoundEx(GetLMetr ,10) + ',' + RoundEx(GetBMetr, 10) + ',' + RoundEx(GetRMetr, 10) + ',' + RoundEx(GetTMetr, 10);
  // prepare params
  VEncoded :=
    'LAYERS=config_1_1_1_0' + '&' +
    'TRANSPARENT=TRUE' + '&' +
    'SERVICE=WMS' + '&' +
    'VERSION=1.1.1' + '&' +
    'REQUEST=GetMap' + '&' +
    'FORMAT=image%2Fpng' + '&' +
    'SRS=EPSG%3A6859' + '&' +
    'BBOX=' + VBox + '&' +
    'WIDTH=256' + '&' +
    'HEIGHT=256';
  
  // crypt
  for I := 1 to Length(VEncoded) do
  VEncoded[I] := Chr(Ord(VEncoded[I]) xor 42);
  
  // Base64 encode
  VEncoded := Base64Encode(VEncoded);
  
  //replase "+" with "%2b" charset
  VEncoded := RegExprReplaceMatchSubStr(VEncoded, '\+', '\%2b');
  
  ResultURL:=GetURLBase + VEncoded + '&NAVKEY=NAVIONICS11WEBAPI111&TEST=' + VBox + '&ZOOM=' + IntToStr(GetZ) + '&v=1&SRC=http://www.navionics.com';
  
  ResultURL:=GetURLBase+inttostr(GetZ-1)+'/'+inttostr(GetX)+'/'+inttostr(GetY)+'?LAYERS=config_1_10.00_0&TRANSPARENT=FALSE&UGC=FALSE&navtoken=TmF2aW9uaWNzX2ludGVybmFscHVycG9zZV8wMDAwMSt3ZWJhcGl2Mi5uYXZpb25pY3MuY29t';
end.

Но так и пишет "Unauthorized".
Подскажите, пожалуйста, вариант решения?
(0017186)
zed   
27-04-2016 13:04   
Неделю назад пришёл пул-реквест с исправлениями карт навионикса: Update Navionics marine charts to new map projection and new download url

    Currently the navionics maps are broken. This fixes the following two issues:

        Navionics has changed its map projection from elliptical to spherical.
        The previous download URL is no longer active. A new download URL is provided.

Теперь, всё что вам нужно сделать - обновить карты из плюсового репозитория: https://bitbucket.org/sas_team/sas.plus.maps/get/tip.zip

Но учтите, из-за того, что на сервере Навионикса произошли такие глобальные изменения, вы не сможете использовать старый кэш с новыми zmp. Придётся всё качать заново.