AnalySection.java
5.77 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
package com.bsth.util.Geo;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.junit.Test;
import com.bsth.util.db.DBUtils_MS;
public class AnalySection {
public static void main(String[] args) {
String pt = "LINESTRING(121.427084 31.023463, 121.428111 31.0209, 121.428239 31.020581, 121.428282 31.020473, 121.428282 31.020473, 121.428428 31.020522, 121.43158 31.021588, 121.432536 31.021911, 121.432913 31.022039, 121.433123 31.02211, 121.433125 31.02211, 121.433162 31.022123, 121.434294 31.022493, 121.435396 31.022854, 121.435655 31.022939, 121.435665 31.022942, 121.435853 31.023003, 121.436642 31.023259, 121.437547 31.023553, 121.438305 31.023799, 121.438766 31.023948, 121.439166 31.024078, 121.439498 31.024185, 121.440023 31.024356, 121.440195 31.024412, 121.440553 31.024528, 121.440555 31.024529, 121.44287 31.025288, 121.44287 31.025288, 121.443571 31.023482, 121.443571 31.023481, 121.443741 31.023072, 121.443741 31.023071, 121.444873 31.020715, 121.444873 31.020715, 121.445904 31.018896, 121.445904 31.018896, 121.44595 31.018908, 121.448164 31.019475, 121.448169 31.019476, 121.448874 31.019683, 121.450747 31.020041, 121.452977 31.020467, 121.45356 31.020578, 121.453619 31.02059, 121.453624 31.020591, 121.458521 31.021501, 121.45859 31.021514, 121.458592 31.021514, 121.46086 31.021921, 121.460939 31.021935, 121.462975 31.0223, 121.464179 31.022516, 121.46471 31.022611, 121.466105 31.02298, 121.466738 31.023148, 121.466742 31.023149, 121.468916 31.023743, 121.470353 31.024135, 121.470353 31.024135, 121.470276 31.024269, 121.470208 31.024405, 121.470141 31.02456, 121.470114 31.024664, 121.470074 31.024776, 121.470024 31.024888, 121.46997 31.025012, 121.469912 31.025198, 121.469854 31.025434, 121.469804 31.025612, 121.46975 31.025809, 121.469499 31.026165, 121.469319 31.02642, 121.469018 31.026718, 121.468695 31.027043, 121.468542 31.027194, 121.468623 31.027403, 121.468744 31.027704, 121.468928 31.028157, 121.46913 31.028679, 121.469337 31.029197, 121.469467 31.029495, 121.469575 31.029801, 121.469683 31.03006, 121.469223 31.030134, 121.468539 31.030406, 121.467866 31.030848, 121.467374 31.031456, 121.466971 31.032342, 121.467139 31.032383, 121.467994 31.032594, 121.468055 31.032609, 121.468274 31.032663, 121.470605 31.033238, 121.470968 31.033327, 121.471741 31.033518, 121.471742 31.033518, 121.474855 31.034286, 121.475005 31.034323, 121.476549 31.034704, 121.476632 31.034725, 121.476632 31.034725, 121.47662 31.034806, 121.476218 31.037582, 121.476217 31.037587, 121.476177 31.037872, 121.476114 31.038324, 121.47591 31.039777, 121.47575 31.04091, 121.475525 31.042514, 121.475505 31.042654, 121.475491 31.042754, 121.475467 31.042925, 121.475405 31.043366, 121.475326 31.043928, 121.475135 31.04529, 121.475127 31.04535, 121.475113 31.04545, 121.475087 31.045632, 121.475086 31.045637, 121.475032 31.046043, 121.474851 31.047386, 121.474734 31.048258, 121.474734 31.048258, 121.474643 31.048231, 121.473857 31.048001, 121.473609 31.047928, 121.473145 31.047792, 121.472745 31.047675, 121.472411 31.047577, 121.47195 31.047442, 121.471853 31.047413, 121.471565 31.047333, 121.471589 31.047337, 121.471107 31.047196, 121.470985 31.047155, 121.47046 31.046997, 121.469858 31.046811, 121.469571 31.046718, 121.469256 31.046641, 121.468717 31.046471, 121.467855 31.046215, 121.467514 31.046115, 121.467338 31.046803, 121.467226 31.047198, 121.467145 31.047488, 121.467042 31.047832, 121.466966 31.048103, 121.466878 31.04838, 121.466878 31.04838, 121.465844 31.048174, 121.464972 31.048001, 121.46497 31.048001, 121.464618 31.04794, 121.464088 31.047848, 121.463501 31.047746, 121.463204 31.047694, 121.463144 31.047684, 121.462691 31.047605, 121.462691 31.047605, 121.46234 31.047532, 121.461527 31.047362, 121.461477 31.047352, 121.461265 31.047321, 121.460833 31.047258, 121.459616 31.047081, 121.459201 31.047021, 121.4592 31.047021, 121.457806 31.046907, 121.457717 31.047577, 121.457685 31.047818, 121.457635 31.048199, 121.457634 31.048209, 121.457605 31.048459, 121.457595 31.048549, 121.457624 31.050018, 121.457614 31.050178, 121.457598 31.050428, 121.457749 31.050423, 121.457897 31.050427, 121.458072 31.050415, 121.458194 31.050415, 121.458405 31.050415, 121.45853 31.050423, 121.458751 31.050415, 121.458818 31.050415, 121.458818 31.050419, 121.458831 31.050419)";
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
String sqlSelect = "SELECT ST_AsText(g.bdjw) as SHAPE , g.OGR_FID as id FROM gjld g";
String sqlIntersects = "SELECT ST_Contains(ST_Buffer(ST_GeomFromText(?),0.0005),ST_GeomFromText(?)) AS result";
List<Map<String, Object>> list = new ArrayList<>();
try {
conn = DBUtils_MS.getConnection();
ps = conn.prepareStatement(sqlSelect);
rs = ps.executeQuery();
while (rs.next()) {
Map<String, Object> map = new HashMap<String, Object>();
map.put("shape", rs.getString("SHAPE"));
map.put("id", rs.getInt("id"));
list.add(map);
}
ps = null;
rs = null;
for(int i =0;i<list.size();i++) {
ps = conn.prepareStatement(sqlIntersects);
ps.setString(1, pt);
ps.setString(2, list.get(i).get("shape").toString());
rs = ps.executeQuery();
while (rs.next()) {
if(rs.getInt("result")==1) {
System.out.println(list.get(i).get("id").toString() + "*********************相交");
}
/*System.out.println(rs.getInt("result"));*/
}
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}