update 3.27
Showing
3 changed files
with
64 additions
and
20 deletions
This diff is collapsed.
Click to expand it.
| ... | @@ -20,7 +20,7 @@ public class TiandituDownload { | ... | @@ -20,7 +20,7 @@ public class TiandituDownload { |
| 20 | int[] level = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20}; | 20 | int[] level = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20}; |
| 21 | 21 | ||
| 22 | // 分辨率 | 22 | // 分辨率 |
| 23 | double[] res = { | 23 | double[] res4490 = { |
| 24 | 1.40625, | 24 | 1.40625, |
| 25 | 0.703125, | 25 | 0.703125, |
| 26 | 0.3515625, | 26 | 0.3515625, |
| ... | @@ -44,7 +44,7 @@ public class TiandituDownload { | ... | @@ -44,7 +44,7 @@ public class TiandituDownload { |
| 44 | 1.34110450744629E-06 | 44 | 1.34110450744629E-06 |
| 45 | }; | 45 | }; |
| 46 | // 比例尺 | 46 | // 比例尺 |
| 47 | double[] scale = { | 47 | double[] scale4490 = { |
| 48 | 400000000, | 48 | 400000000, |
| 49 | 295497598.5708346, | 49 | 295497598.5708346, |
| 50 | 147748799.285417, | 50 | 147748799.285417, |
| ... | @@ -67,6 +67,47 @@ public class TiandituDownload { | ... | @@ -67,6 +67,47 @@ public class TiandituDownload { |
| 67 | 1127.2338812669175, | 67 | 1127.2338812669175, |
| 68 | 563.61694063345875 | 68 | 563.61694063345875 |
| 69 | }; | 69 | }; |
| 70 | |||
| 71 | double[] scale3857 = { | ||
| 72 | 295829355.45, | ||
| 73 | 147914677.73, | ||
| 74 | 73957338.86, | ||
| 75 | 36978669.43, | ||
| 76 | 18489334.72, | ||
| 77 | 9244667.36, | ||
| 78 | 4622333.68, | ||
| 79 | 2311166.84, | ||
| 80 | 1155583.42, | ||
| 81 | 577791.71, | ||
| 82 | 288895.85, | ||
| 83 | 144447.93, | ||
| 84 | 72223.96, | ||
| 85 | 36111.98, | ||
| 86 | 18055.99, | ||
| 87 | 9028, | ||
| 88 | 4514, | ||
| 89 | 2257}; | ||
| 90 | |||
| 91 | double[] res3857 = { | ||
| 92 | 0.70391441567318025, | ||
| 93 | 0.35195720784848739, | ||
| 94 | 0.1759786039123464, | ||
| 95 | 0.087989301956173202, | ||
| 96 | 0.043994650989983904, | ||
| 97 | 0.021997325494991952, | ||
| 98 | 0.010998662747495976, | ||
| 99 | 0.005499331373747988, | ||
| 100 | 0.002749665686873994, | ||
| 101 | 0.001374832843436997, | ||
| 102 | 0.00068741640982119352, | ||
| 103 | 0.00034370821680790179, | ||
| 104 | 0.00017185409650664589, | ||
| 105 | 8.5927048253322947e-005, | ||
| 106 | 4.2963524126661473e-005, | ||
| 107 | 2.1481773960635764e-005, | ||
| 108 | 1.0740886980317882e-005, | ||
| 109 | 5.3704434901589409e-006}; | ||
| 110 | |||
| 70 | // 最小级别 | 111 | // 最小级别 |
| 71 | int minLevel = 1; | 112 | int minLevel = 1; |
| 72 | 113 | ||
| ... | @@ -80,19 +121,22 @@ public class TiandituDownload { | ... | @@ -80,19 +121,22 @@ public class TiandituDownload { |
| 80 | Connection conn = null; | 121 | Connection conn = null; |
| 81 | Statement stmt = null; | 122 | Statement stmt = null; |
| 82 | 123 | ||
| 124 | public TiandituDownload() { | ||
| 125 | |||
| 126 | } | ||
| 127 | |||
| 83 | public TiandituDownload(String dbpath) { | 128 | public TiandituDownload(String dbpath) { |
| 84 | this.dbpath = dbpath; | 129 | this.dbpath = dbpath; |
| 85 | } | 130 | } |
| 86 | 131 | ||
| 87 | /** | 132 | /** |
| 88 | * | ||
| 89 | * @param originPoint 坐标点 | 133 | * @param originPoint 坐标点 |
| 90 | * @param level 级别 | 134 | * @param level 级别 |
| 91 | * @return 改点在该级别所属的地图瓦片行列号 | 135 | * @return 改点在该级别所属的地图瓦片行列号(4490) |
| 92 | */ | 136 | */ |
| 93 | private CalEnv calculateEnv(Point originPoint, int level) { | 137 | private CalEnv calculateEnv4490(Point originPoint, int level) { |
| 94 | int startX = (int) Math.floor((originPoint.getLng() + 180) / (256 * res[level])); | 138 | int startX = (int) Math.floor((originPoint.getLng() + 180) / (256 * res4490[level])); |
| 95 | int startY = (int) Math.floor((90 - originPoint.getLat()) / (256 * res[level])); | 139 | int startY = (int) Math.floor((90 - originPoint.getLat()) / (256 * res4490[level])); |
| 96 | if (startX < 0) startX = 0; | 140 | if (startX < 0) startX = 0; |
| 97 | if (startY < 0) startY = 0; | 141 | if (startY < 0) startY = 0; |
| 98 | 142 | ||
| ... | @@ -100,18 +144,17 @@ public class TiandituDownload { | ... | @@ -100,18 +144,17 @@ public class TiandituDownload { |
| 100 | } | 144 | } |
| 101 | 145 | ||
| 102 | /** | 146 | /** |
| 103 | * | ||
| 104 | * @param minPoint 下载范围左下角坐标 | 147 | * @param minPoint 下载范围左下角坐标 |
| 105 | * @param maxPoint 下载范围右上角坐标 | 148 | * @param maxPoint 下载范围右上角坐标 |
| 106 | * @param level 下载级别 | 149 | * @param level 下载级别 |
| 107 | * @param type 下载数据类型 | 150 | * @param type 下载数据类型 |
| 108 | * @param merge 数据与其注记是否融合 | 151 | * @param merge 数据与其注记是否融合 |
| 109 | */ | 152 | */ |
| 110 | private void downloadSingLevelTiles(Point minPoint, Point maxPoint, int level, TianDiTuTiledMapServiceType type, boolean merge) { | 153 | private void downloadSingLevelTiles(Point minPoint, Point maxPoint, int level, TianDiTuTiledMapServiceType type, boolean merge) { |
| 111 | 154 | ||
| 112 | try { | 155 | try { |
| 113 | CalEnv startEnv = calculateEnv(minPoint, level); | 156 | CalEnv startEnv = calculateEnv4490(minPoint, level); |
| 114 | CalEnv stopEnv = calculateEnv(maxPoint, level); | 157 | CalEnv stopEnv = calculateEnv4490(maxPoint, level); |
| 115 | 158 | ||
| 116 | PreparedStatement preparedStatement; | 159 | PreparedStatement preparedStatement; |
| 117 | ResultSet rs; | 160 | ResultSet rs; |
| ... | @@ -179,13 +222,12 @@ public class TiandituDownload { | ... | @@ -179,13 +222,12 @@ public class TiandituDownload { |
| 179 | } | 222 | } |
| 180 | 223 | ||
| 181 | /** | 224 | /** |
| 182 | * | ||
| 183 | * @param minPoint 下载范围左下角坐标 | 225 | * @param minPoint 下载范围左下角坐标 |
| 184 | * @param maxPoint 下载范围右上角坐标 | 226 | * @param maxPoint 下载范围右上角坐标 |
| 185 | * @param minLevel 下载最小级别 | 227 | * @param minLevel 下载最小级别 |
| 186 | * @param maxLevel 下载最大级别 | 228 | * @param maxLevel 下载最大级别 |
| 187 | * @param type 下载数据类型 | 229 | * @param type 下载数据类型 |
| 188 | * @param merge 数据与其注记是否融合 | 230 | * @param merge 数据与其注记是否融合 |
| 189 | * @throws SQLException | 231 | * @throws SQLException |
| 190 | */ | 232 | */ |
| 191 | public void Download(Point minPoint, Point maxPoint, int minLevel, int maxLevel, TianDiTuTiledMapServiceType type, boolean merge) throws SQLException { | 233 | public void Download(Point minPoint, Point maxPoint, int minLevel, int maxLevel, TianDiTuTiledMapServiceType type, boolean merge) throws SQLException { |
| ... | @@ -216,6 +258,7 @@ public class TiandituDownload { | ... | @@ -216,6 +258,7 @@ public class TiandituDownload { |
| 216 | 258 | ||
| 217 | /** | 259 | /** |
| 218 | * 下载网络数据 | 260 | * 下载网络数据 |
| 261 | * | ||
| 219 | * @param url | 262 | * @param url |
| 220 | * @return 图片数据流 | 263 | * @return 图片数据流 |
| 221 | * @throws Exception | 264 | * @throws Exception | ... | ... |
-
Please register or sign in to post a comment