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