StreamWriter CreateTileStreamWriter(GridTraversal grid, int ix, int iy) {
     var splitName = grid.SplitTileNameOnDirectories(ix, iy);
     string fname = TileDirectory;
     for (int i = splitName.Count - 1; i >= 0; i--) {
         fname = System.IO.Path.Combine(fname, splitName[i]);
         if (i > 0) {
             if (!Directory.Exists(fname))
                 Directory.CreateDirectory(fname);
         }
     }
     return new StreamWriter(fname + ".list");
 }
 internal string CreateTileFileName(int ix, int iy, GridTraversal grid) {
     var splitName = grid.SplitTileNameOnDirectories(ix, iy);
     string fname = TileDirectory;
     for (int i = splitName.Count - 1; i >= 0; i--)
         fname=System.IO.Path.Combine(fname, splitName[i]);
     return fname + ".png";
 }