2 Commits

Author SHA1 Message Date
  sasgis 6a6886a308 update zmp 19 years ago
  sasgis e77f7cbe51 update zmp 19 years ago
11 changed files with 104 additions and 86 deletions
Split View
  1. +2
    -0
      GetMaps.cmd
  2. +23
    -19
      Navionics/navionics.SonarChart.layer.zmp/GetUrlScript.txt
  3. +1
    -2
      Navionics/navionics.SonarChart.layer.zmp/params.txt
  4. +23
    -19
      Navionics/navionics.SonarChart.zmp/GetUrlScript.txt
  5. +1
    -2
      Navionics/navionics.SonarChart.zmp/params.txt
  6. +23
    -19
      Navionics/navionics.layer.zmp/GetUrlScript.txt
  7. +1
    -2
      Navionics/navionics.layer.zmp/params.txt
  8. +23
    -19
      Navionics/navionics.zmp/GetUrlScript.txt
  9. +1
    -2
      Navionics/navionics.zmp/params.txt
  10. +2
    -1
      Update.cmd
  11. +4
    -1
      readme.md

+ 2
- 0
GetMaps.cmd View File

@@ -0,0 +1,2 @@
curl -H "Authorization: token 8e3ad20e4972e58cb91cc7556fc938b45b078544" "https://codeberg.org/api/v1/repos/sasgis/maps/archive/master.zip" -o maps.zip

+ 23
- 19
Navionics/navionics.SonarChart.layer.zmp/GetUrlScript.txt View File

@@ -1,22 +1,19 @@
//******************************************************************************
// LAYERS parameter: config_a_b_c
// a = 1 for depth in meters, 2 for depth in feet, 3 for fathoms
// b = 1 for 1 m safety depth (beginning of blue coloring) (unit equal to that set by a)
// c = 0 for pristine Navionics charts, 1 for Sonar Charts
//
// TRANSPARENT parameter:
// FALSE for non-layer
// TRUE for layer
//
// transparent true/false
// ugc - garmin active captain
// layer - 0 Seachart, 1 Sonarchart
// du - unit 1 for depth in meters, 2 for depth in feet, 3 for fathoms
// sd - safe depth
// sa ?
//******************************************************************************
const
cReqParams = 'LAYERS=config_1_1_1&TRANSPARENT=TRUE&theme=0';
cReqParams = 'transparent=true&ugc=true&layer=1&du=1&sd=2&sa=false';
//******************************************************************************
const
cTTL = 24*60*60; // 24 hour
cTTL = 10*60; // 10 Minutes
function CheckTTL(const ATimeStamp: Integer): Boolean;
begin
@@ -25,7 +22,7 @@ end;
function GetNavToken: AnsiString;
var
VNavToken: AnsiString;
VNavTokensJson: AnsiString;
VTimeStamp: Integer;
VResponseCode: Cardinal;
VResponseHeader, VResponseData: AnsiString;
@@ -36,15 +33,15 @@ begin
Global.Lock;
try
if Global.Exists(0) and Global.Exists(1) then begin
VNavToken := Global.GetVar(0);
VNavTokensJson := Global.GetVar(0);
VTimeStamp := Global.GetVar(1);
if (VNavToken <> '') and (VTimeStamp <> 0) and CheckTTL(VTimeStamp) then begin
Result := VNavToken;
if (VNavTokensJson <> '') and (VTimeStamp <> 0) and CheckTTL(VTimeStamp) then begin
Result := VNavTokensJson;
end;
end;
if (Result = '') and Assigned(Downloader) then begin
VRequestUrl := 'https://tile1.navionics.com/tile/get_key/Navionics_webapi_04041/maps.garmin.com';
if (Result = '') and Assigned(Downloader) then begin
VRequestUrl := 'https://maps.garmin.com/marine/api/getNavionicsTokens';
VRequestHeader := 'Origin: https://maps.garmin.com' + #13#10 + 'Referer: https://maps.garmin.com/';
VResponseHeader := '';
VResponseData := '';
@@ -64,11 +61,18 @@ end;
//******************************************************************************
var
VBuf : AnsiString;
VNavToken: AnsiString;
VNavBearer: AnsiString;
begin
VNavToken := GetNavToken;
VBuf := GetNavToken;
VNavToken := RegExprGetMatchSubStr(VBuf, '"configuration_token":"(.*)"', 1);
VNavBearer := RegExprGetMatchSubStr(VBuf, '"access_token":"(.*)",', 1);
if VNavToken <> '' then begin
ResultURL := TemplateToUrl(GetURLBase) + '?' + cReqParams + '&' + 'navtoken=' + VNavToken;
ResultURL := TemplateToUrl(GetURLBase) + '?' + 'config=' + VNavToken + '&' + cReqParams;
RequestHead:= 'Referer: https://maps.garmin.com/' + #13#10 +
'Origin: https://maps.garmin.com' + #13#10 +
'Authorization: Bearer '+ VNavBearer;
end else begin
ResultURL := '';
end;


+ 1
- 2
Navionics/navionics.SonarChart.layer.zmp/params.txt View File

@@ -5,7 +5,7 @@ ParentSubMenu_ru=Водные карты
ParentSubMenu_uk=Водні карти
ParentSubMenu=Water maps
asLayer=1
DefURLBase=https://tile{s}.navionics.com/tile/{z}/{x}/{y}
DefURLBase=https://tile{s}.navionics.com/viewer/api/v1/tile/{z}/{x}/{y}
ServerNames=1,2,3,4,5
NameInCache=navionics_sonarchart_layer
Ext=.png
@@ -14,4 +14,3 @@ projection=1
sradiusa=6378137
sradiusb=6378137
IsUseDownloaderInScript=1
RequestHead=Referer: https://maps.garmin.com/

+ 23
- 19
Navionics/navionics.SonarChart.zmp/GetUrlScript.txt View File

@@ -1,22 +1,19 @@
//******************************************************************************
// LAYERS parameter: config_a_b_c
// a = 1 for depth in meters, 2 for depth in feet, 3 for fathoms
// b = 1 for 1 m safety depth (beginning of blue coloring) (unit equal to that set by a)
// c = 0 for pristine Navionics charts, 1 for Sonar Charts
//
// TRANSPARENT parameter:
// FALSE for non-layer
// TRUE for layer
//
// transparent true/false
// ugc - garmin active captain
// layer - 0 Seachart, 1 Sonarchart
// du - unit 1 for depth in meters, 2 for depth in feet, 3 for fathoms
// sd - safe depth
// sa ?
//******************************************************************************
const
cReqParams = 'LAYERS=config_1_1_1&TRANSPARENT=FALSE&theme=0';
cReqParams = 'transparent=false&ugc=true&layer=1&du=1&sd=2&sa=false';
//******************************************************************************
const
cTTL = 24*60*60; // 24 hour
cTTL = 10*60; // 10 Minutes
function CheckTTL(const ATimeStamp: Integer): Boolean;
begin
@@ -25,7 +22,7 @@ end;
function GetNavToken: AnsiString;
var
VNavToken: AnsiString;
VNavTokensJson: AnsiString;
VTimeStamp: Integer;
VResponseCode: Cardinal;
VResponseHeader, VResponseData: AnsiString;
@@ -36,15 +33,15 @@ begin
Global.Lock;
try
if Global.Exists(0) and Global.Exists(1) then begin
VNavToken := Global.GetVar(0);
VNavTokensJson := Global.GetVar(0);
VTimeStamp := Global.GetVar(1);
if (VNavToken <> '') and (VTimeStamp <> 0) and CheckTTL(VTimeStamp) then begin
Result := VNavToken;
if (VNavTokensJson <> '') and (VTimeStamp <> 0) and CheckTTL(VTimeStamp) then begin
Result := VNavTokensJson;
end;
end;
if (Result = '') and Assigned(Downloader) then begin
VRequestUrl := 'https://tile1.navionics.com/tile/get_key/Navionics_webapi_04041/maps.garmin.com';
if (Result = '') and Assigned(Downloader) then begin
VRequestUrl := 'https://maps.garmin.com/marine/api/getNavionicsTokens';
VRequestHeader := 'Origin: https://maps.garmin.com' + #13#10 + 'Referer: https://maps.garmin.com/';
VResponseHeader := '';
VResponseData := '';
@@ -64,11 +61,18 @@ end;
//******************************************************************************
var
VBuf : AnsiString;
VNavToken: AnsiString;
VNavBearer: AnsiString;
begin
VNavToken := GetNavToken;
VBuf := GetNavToken;
VNavToken := RegExprGetMatchSubStr(VBuf, '"configuration_token":"(.*)"', 1);
VNavBearer := RegExprGetMatchSubStr(VBuf, '"access_token":"(.*)",', 1);
if VNavToken <> '' then begin
ResultURL := TemplateToUrl(GetURLBase) + '?' + cReqParams + '&' + 'navtoken=' + VNavToken;
ResultURL := TemplateToUrl(GetURLBase) + '?' + 'config=' + VNavToken + '&' + cReqParams;
RequestHead:= 'Referer: https://maps.garmin.com/' + #13#10 +
'Origin: https://maps.garmin.com' + #13#10 +
'Authorization: Bearer '+ VNavBearer;
end else begin
ResultURL := '';
end;


+ 1
- 2
Navionics/navionics.SonarChart.zmp/params.txt View File

@@ -4,7 +4,7 @@ name=Navionics SonarChart(TM)
ParentSubMenu_ru=Водные карты
ParentSubMenu_uk=Водні карти
ParentSubMenu=Water maps
DefURLBase=https://tile{s}.navionics.com/tile/{z}/{x}/{y}
DefURLBase=https://tile{s}.navionics.com/viewer/api/v1/tile/{z}/{x}/{y}
ServerNames=1,2,3,4,5
NameInCache=navionics_sonarchart
Ext=.png
@@ -13,4 +13,3 @@ projection=1
sradiusa=6378137
sradiusb=6378137
IsUseDownloaderInScript=1
RequestHead=Referer: https://maps.garmin.com/

+ 23
- 19
Navionics/navionics.layer.zmp/GetUrlScript.txt View File

@@ -1,22 +1,19 @@
//******************************************************************************
// LAYERS parameter: config_a_b_c
// a = 1 for depth in meters, 2 for depth in feet, 3 for fathoms
// b = 1 for 1 m safety depth (beginning of blue coloring) (unit equal to that set by a)
// c = 0 for pristine Navionics charts, 1 for Sonar Charts
//
// TRANSPARENT parameter:
// FALSE for non-layer
// TRUE for layer
//
// transparent true/false
// ugc - garmin active captain
// layer - 0 Seachart, 1 Sonarchart
// du - unit 1 for depth in meters, 2 for depth in feet, 3 for fathoms
// sd - safe depth
// sa ?
//******************************************************************************
const
cReqParams = 'LAYERS=config_1_1_0&TRANSPARENT=TRUE&theme=0';
cReqParams = 'transparent=true&ugc=true&layer=0&du=1&sd=2&sa=false';
//******************************************************************************
const
cTTL = 24*60*60; // 24 hour
cTTL = 10*60; // 10 Minutes
function CheckTTL(const ATimeStamp: Integer): Boolean;
begin
@@ -25,7 +22,7 @@ end;
function GetNavToken: AnsiString;
var
VNavToken: AnsiString;
VNavTokensJson: AnsiString;
VTimeStamp: Integer;
VResponseCode: Cardinal;
VResponseHeader, VResponseData: AnsiString;
@@ -36,15 +33,15 @@ begin
Global.Lock;
try
if Global.Exists(0) and Global.Exists(1) then begin
VNavToken := Global.GetVar(0);
VNavTokensJson := Global.GetVar(0);
VTimeStamp := Global.GetVar(1);
if (VNavToken <> '') and (VTimeStamp <> 0) and CheckTTL(VTimeStamp) then begin
Result := VNavToken;
if (VNavTokensJson <> '') and (VTimeStamp <> 0) and CheckTTL(VTimeStamp) then begin
Result := VNavTokensJson;
end;
end;
if (Result = '') and Assigned(Downloader) then begin
VRequestUrl := 'https://tile1.navionics.com/tile/get_key/Navionics_webapi_04041/maps.garmin.com';
if (Result = '') and Assigned(Downloader) then begin
VRequestUrl := 'https://maps.garmin.com/marine/api/getNavionicsTokens';
VRequestHeader := 'Origin: https://maps.garmin.com' + #13#10 + 'Referer: https://maps.garmin.com/';
VResponseHeader := '';
VResponseData := '';
@@ -64,11 +61,18 @@ end;
//******************************************************************************
var
VBuf : AnsiString;
VNavToken: AnsiString;
VNavBearer: AnsiString;
begin
VNavToken := GetNavToken;
VBuf := GetNavToken;
VNavToken := RegExprGetMatchSubStr(VBuf, '"configuration_token":"(.*)"', 1);
VNavBearer := RegExprGetMatchSubStr(VBuf, '"access_token":"(.*)",', 1);
if VNavToken <> '' then begin
ResultURL := TemplateToUrl(GetURLBase) + '?' + cReqParams + '&' + 'navtoken=' + VNavToken;
ResultURL := TemplateToUrl(GetURLBase) + '?' + 'config=' + VNavToken + '&' + cReqParams;
RequestHead:= 'Referer: https://maps.garmin.com/' + #13#10 +
'Origin: https://maps.garmin.com' + #13#10 +
'Authorization: Bearer '+ VNavBearer;
end else begin
ResultURL := '';
end;


+ 1
- 2
Navionics/navionics.layer.zmp/params.txt View File

@@ -5,7 +5,7 @@ ParentSubMenu_uk=Водні карти
ParentSubMenu=Water maps
name=Navionics Marine Charts
asLayer=1
DefURLBase=https://tile{s}.navionics.com/tile/{z}/{x}/{y}
DefURLBase=https://tile{s}.navionics.com/viewer/api/v1/tile/{z}/{x}/{y}
ServerNames=1,2,3,4,5
NameInCache=navionics_layer
Ext=.png
@@ -14,4 +14,3 @@ projection=1
sradiusa=6378137
sradiusb=6378137
IsUseDownloaderInScript=1
RequestHead=Referer: https://maps.garmin.com/

+ 23
- 19
Navionics/navionics.zmp/GetUrlScript.txt View File

@@ -1,22 +1,19 @@
//******************************************************************************
// LAYERS parameter: config_a_b_c
// a = 1 for depth in meters, 2 for depth in feet, 3 for fathoms
// b = 1 for 1 m safety depth (beginning of blue coloring) (unit equal to that set by a)
// c = 0 for pristine Navionics charts, 1 for Sonar Charts
//
// TRANSPARENT parameter:
// FALSE for non-layer
// TRUE for layer
//
// transparent true/false
// ugc - garmin active captain
// layer - 0 Seachart, 1 Sonarchart
// du - unit 1 for depth in meters, 2 for depth in feet, 3 for fathoms
// sd - safe depth
// sa ?
//******************************************************************************
const
cReqParams = 'LAYERS=config_1_1_0&TRANSPARENT=FALSE&theme=0';
cReqParams = 'transparent=false&ugc=true&layer=0&du=1&sd=2&sa=false';
//******************************************************************************
const
cTTL = 24*60*60; // 24 hour
cTTL = 10*60; // 10 Minutes
function CheckTTL(const ATimeStamp: Integer): Boolean;
begin
@@ -25,7 +22,7 @@ end;
function GetNavToken: AnsiString;
var
VNavToken: AnsiString;
VNavTokensJson: AnsiString;
VTimeStamp: Integer;
VResponseCode: Cardinal;
VResponseHeader, VResponseData: AnsiString;
@@ -36,15 +33,15 @@ begin
Global.Lock;
try
if Global.Exists(0) and Global.Exists(1) then begin
VNavToken := Global.GetVar(0);
VNavTokensJson := Global.GetVar(0);
VTimeStamp := Global.GetVar(1);
if (VNavToken <> '') and (VTimeStamp <> 0) and CheckTTL(VTimeStamp) then begin
Result := VNavToken;
if (VNavTokensJson <> '') and (VTimeStamp <> 0) and CheckTTL(VTimeStamp) then begin
Result := VNavTokensJson;
end;
end;
if (Result = '') and Assigned(Downloader) then begin
VRequestUrl := 'https://tile1.navionics.com/tile/get_key/Navionics_webapi_04041/maps.garmin.com';
if (Result = '') and Assigned(Downloader) then begin
VRequestUrl := 'https://maps.garmin.com/marine/api/getNavionicsTokens';
VRequestHeader := 'Origin: https://maps.garmin.com' + #13#10 + 'Referer: https://maps.garmin.com/';
VResponseHeader := '';
VResponseData := '';
@@ -64,11 +61,18 @@ end;
//******************************************************************************
var
VBuf : AnsiString;
VNavToken: AnsiString;
VNavBearer: AnsiString;
begin
VNavToken := GetNavToken;
VBuf := GetNavToken;
VNavToken := RegExprGetMatchSubStr(VBuf, '"configuration_token":"(.*)"', 1);
VNavBearer := RegExprGetMatchSubStr(VBuf, '"access_token":"(.*)",', 1);
if VNavToken <> '' then begin
ResultURL := TemplateToUrl(GetURLBase) + '?' + cReqParams + '&' + 'navtoken=' + VNavToken;
ResultURL := TemplateToUrl(GetURLBase) + '?' + 'config=' + VNavToken + '&' + cReqParams;
RequestHead:= 'Referer: https://maps.garmin.com/' + #13#10 +
'Origin: https://maps.garmin.com' + #13#10 +
'Authorization: Bearer '+ VNavBearer;
end else begin
ResultURL := '';
end;


+ 1
- 2
Navionics/navionics.zmp/params.txt View File

@@ -4,7 +4,7 @@ name=Navionics Marine Charts
ParentSubMenu_ru=Водные карты
ParentSubMenu_uk=Водні карти
ParentSubMenu=Water maps
DefURLBase=https://tile{s}.navionics.com/tile/{z}/{x}/{y}
DefURLBase=https://tile{s}.navionics.com/viewer/api/v1/tile/{z}/{x}/{y}
ServerNames=1,2,3,4,5
NameInCache=navionics
Ext=.png
@@ -13,4 +13,3 @@ projection=1
sradiusa=6378137
sradiusb=6378137
IsUseDownloaderInScript=1
RequestHead=Referer: https://maps.garmin.com/

+ 2
- 1
Update.cmd View File

@@ -9,7 +9,8 @@ if not "%1"=="run" (
)
set maps_dir=sas.maps
set maps_url="http://parasite.kicks-ass.org:3000/sasgis/maps.git"
rem set maps_url="http://parasite.kicks-ass.org:3000/sasgis/maps.git"
set maps_url="https://8e3ad20e4972e58cb91cc7556fc938b45b078544@codeberg.org/sasgis/maps.git"
git version


+ 4
- 1
readme.md View File

@@ -12,7 +12,10 @@
**Ручной способ:**
1. Удалить старую папку с картами `%SASPlanet%/Maps/sas.maps/`
2. Скачать zip архив с новыми картами по этой ссылке: [master.zip](http://parasite.kicks-ass.org:3000/sasgis/maps/archive/master.zip)
2. Скачать архив с новыми картами:
- запустить `GetMaps.cmd` (для Windows 10 и выше, с предустановленным curl)
- [sas.maps.7z](https://disk.yandex.ru/d/bFkhuA_HeOwtlg) *(пароль: sasgis)*
- [master.zip](http://parasite.kicks-ass.org:3000/sasgis/maps/archive/master.zip)
3. Распаковать архив в папку `%SASPlanet%/Maps/`
4. Внутри папки `%SASPlanet%/Maps/` переимановть папку `maps` в `sas.maps`


Loading…
Cancel
Save