| | |
| | | * 瓦片路径是否存在 |
| | | */ |
| | | private boolean isTilePathExist(PublishEntity pub) { |
| | | String tilePath = pathHelper.getConfig().getTilePath().replace("2d\\tiles", "") + File.separator + pub.getPath(); |
| | | String tilePath = pathHelper.getConfig().getTilePath().replace("2d\\tiles", "") + pub.getPath(); |
| | | |
| | | File f = new File(tilePath); |
| | | if (!f.exists() || !f.isDirectory()) { |
| | |
| | | private List<File> findTiles(DownloadTileEntity dt, PublishEntity pub) { |
| | | List<File> list = new ArrayList<>(); |
| | | for (int i = 0; i < StaticData.I23; i++) { |
| | | findTilesByZoom(dt, pub, i, list); |
| | | List<File> files = findTilesByZoom(dt, pub, i); |
| | | if (files.size() > 0) { |
| | | list.addAll(files); |
| | | } |
| | | } |
| | | |
| | | return list; |
| | |
| | | /** |
| | | * 根据层次查找瓦片 |
| | | */ |
| | | private void findTilesByZoom(DownloadTileEntity dt, PublishEntity pub, int zoom, List<File> list) { |
| | | private List<File> findTilesByZoom(DownloadTileEntity dt, PublishEntity pub, int zoom) { |
| | | List<File> list = new ArrayList<>(); |
| | | File f = new File(pub.getPath() + File.separator + zoom); |
| | | if (!f.exists() || !f.isDirectory()) { |
| | | return; |
| | | return list; |
| | | } |
| | | |
| | | int[] leftTop = deg2num(zoom, dt.getXmin(), dt.getYmax()); |
| | |
| | | |
| | | for (int x = leftTop[0]; x <= rightBottom[0]; x++) { |
| | | for (int y = leftTop[1]; y <= rightBottom[1]; y++) { |
| | | String pngPath = String.format("%s\\%d\\%d.png", pub.getPath(), x, y); |
| | | String pngPath = String.format("%s\\%d\\%d\\%d.png", pub.getPath(), zoom, x, y); |
| | | |
| | | File pngFile = new File(pngPath); |
| | | if (pngFile.exists()) { |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | return list; |
| | | } |
| | | |
| | | /** |