05db60ef by chiangbt

update 3.27

1 parent b5905b49
1 import utils.CalEnv;
1 import utils.Point; 2 import utils.Point;
2 import utils.TianDiTuTiledMapServiceType; 3 import utils.TianDiTuTiledMapServiceType;
3 4
......
...@@ -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,7 +144,6 @@ public class TiandituDownload { ...@@ -100,7 +144,6 @@ 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 下载级别
...@@ -110,8 +153,8 @@ public class TiandituDownload { ...@@ -110,8 +153,8 @@ public class TiandituDownload {
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,7 +222,6 @@ public class TiandituDownload { ...@@ -179,7 +222,6 @@ 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 下载最小级别
...@@ -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
......