SASGIS - SAS.Планета
View Issue Details
0002967SAS.Планета[All Projects] Багpublic18-02-2016 19:3019-02-2016 15:46
adandara 
zed 
normalminoralways
resolvedfixed 
Windows7Professional
151111 
160606160606 
0002967: Ошибка при попытке экспорта в тайловом формате OsmAnd+ Tiles
Вываливается исключение при попытке экспортировать выбранный регион в zip (либо tar) в формате OsmAnd+ Tiles.
В ночной сборке также воспроизводится. Патч для исправления прилагается.

diff -r 1ac1efce6883 Src/TileStorage/u_TileFileNameGeneratorsSimpleList.pas
--- a/Src/TileStorage/u_TileFileNameGeneratorsSimpleList.pas Tue Feb 16 19:19:38 2016 +0300
+++ b/Src/TileStorage/u_TileFileNameGeneratorsSimpleList.pas Thu Feb 18 19:45:48 2016 +0300
@@ -50,14 +50,16 @@
   u_TileFileNameGM1,
   u_TileFileNameGM2,
   u_TileFileNameGM3,
- u_TileFileNameMOBAC;
+ u_TileFileNameMOBAC,
+ u_TileFileNameTMS,
+ u_TileFileNameOsmAnd;
 
 { TTileFileNameGeneratorsSimpleList }
 
 constructor TTileFileNameGeneratorsSimpleList.Create;
 begin
   inherited Create;
- SetLength(FItems, 7);
+ SetLength(FItems, 9);
   FItems[0] := TTileFileNameGMV.Create;
   FItems[1] := TTileFileNameSAS.Create;
   FItems[2] := TTileFileNameES.Create;
@@ -65,6 +67,8 @@
   FItems[4] := TTileFileNameGM2.Create;
   FItems[5] := TTileFileNameGM3.Create;
   FItems[6] := TTileFileNameMOBAC.Create;
+ FItems[7] := TTileFileNameOsmAnd.Create;
+ FItems[8] := TTileFileNameTMS.Create;
 end;
 
 destructor TTileFileNameGeneratorsSimpleList.Destroy;
@@ -111,6 +115,14 @@
     begin
       Result := FItems[6];
     end;
+ c_File_Cache_Id_OsmAnd:
+ begin
+ Result := FItems[7];
+ end;
+ c_File_Cache_Id_TMS:
+ begin
+ Result := FItems[8];
+ end;
   else begin
     Assert(False);
     Result := nil;
osm, кэш, экспорт
related to 0000884resolved GunSmoker Экспорт для OsmAnd 
patch sas.patch (1,307) 18-02-2016 19:30
http://bugtracker.sasgis.org/file_download.php?file_id=2009&type=bug
Issue History
18-02-2016 19:30adandaraNew Issue
18-02-2016 19:30adandaraFile Added: sas.patch
18-02-2016 19:44zedNote Added: 0017016
18-02-2016 20:23zedSummaryEAccessViolation: Access violation at address 009537EC in module SASPlanet.exe. Read of address 00000000 => Ошибка при попытке экспорта в тайловом формате OsmAnd+ Tiles
18-02-2016 20:26zedRelationship addedrelated to 0000884
18-02-2016 20:26zedStatusnew => confirmed
18-02-2016 20:28zedTag Attached: osm
18-02-2016 20:28zedTag Attached: кэш
18-02-2016 20:28zedTag Attached: экспорт
18-02-2016 20:28zedNote Edited: 0017016bug_revision_view_page.php?bugnote_id=17016#r6853
19-02-2016 15:45zedNote Added: 0017019
19-02-2016 15:45zedStatusconfirmed => resolved
19-02-2016 15:45zedFixed in Version => 160606
19-02-2016 15:45zedResolutionopen => fixed
19-02-2016 15:45zedAssigned To => zed
19-02-2016 15:46zedTarget Version => 160606

Notes
(0017016)
zed   
18-02-2016 19:44   
(edited on: 18-02-2016 20:28)
О, спасибо за фикс. Но что-то не так или с патчем или с импортом через TortoiseHG:

patching file Src/TileStorage/u_TileFileNameGeneratorsSimpleList.pas
Hunk #1 FAILED at 49
Hunk #2 FAILED at 64
Hunk #3 FAILED at 110
3 out of 3 hunks FAILED -- saving rejects to file Src/TileStorage/u_TileFileNameGeneratorsSimpleList.pas.rej
прервано: patch failed to apply

Может вместо патча сделаете пул-реквест?

А ещё я заметил аналогичный баг и в u_TileFileNameParsersSimpleList.pas, там тоже не хватает TMS и OsmAnd кэшей.

(0017019)
zed   
19-02-2016 15:45   
Пофикшено: https://bitbucket.org/sas_team/sas.planet.src/commits/928892ad9e0379a54bca341e785b0276ddc4f50c