Java κΈ°λ° GIS μμ€ν
μμ Map Matching κΈ°λ₯μ κ°νΈνκ² νμ±νν μ μλλ‘ μ€κ³λ 컀μ€ν
μ΄λ
Έν
μ΄μ
λͺ¨λμ
λλ€.
Spring κΈ°λ° μ ν리μΌμ΄μ
μμ @EnableMatching
μ΄λ
Έν
μ΄μ
μ μ¬μ©νμ¬ λλ‘ λ§ν¬ λλ μ μ κΈ°λ°μ λ§€μΉ κΈ°λ₯μ μμ½κ² μ μ©ν μ μμ΅λλ€.
import matching.annotation.EnableMatching;
@EnableMatching(type = "Link") // λλ "Vertex"
@SpringBootApplication
public class MyApp {
public static void main(String[] args) {
SpringApplication.run(MyApp.class, args);
}
}
type
μμ±"Link"
: λλ‘ λ§ν¬ κΈ°λ° λ§€μΉ (ν
μ΄λΈ: LINK_GEOM
)"Vertex"
: μ μ κΈ°λ° λ§€μΉ (ν
μ΄λΈ: VERTEX_GEOM
)μ£Όμ: λμλ¬Έμλ₯Ό ꡬλΆνμ§ μμΌλ©°, μλͺ»λ κ° μ λ ₯ μ λ°νμ μ€λ₯ λ°μ κ°λ₯
import matching.data.GeoLink;
import matching.data.GeoVertex;
import matching.service.MATCHING;
public class Test {
public void sample(double x , double y){
GeoLink link = MATCHING.link(x,y);
GeoVertex vertex = MATCHING.vertex(x,y);
}
}
link
, vertex
μ°¨μ΄"link"
: λ§ν¬ νμ±νμ μ¬μ©κ°λ₯"vertex"
: λ²νμ€ νμ±νμ μ¬μ©κ°λ₯μ΄ λͺ¨λμ λ€μκ³Ό κ°μ ν μ΄λΈμ΄ λ°μ΄ν°λ² μ΄μ€μ μ‘΄μ¬ν΄μΌ μ μ μλν©λλ€.
컬λΌλͺ | νμ | μ€λͺ |
---|---|---|
link_id | VARCHAR |
λλ‘ λ§ν¬ ID |
geom | BLOB (WKB) |
μ§μ€λ©νΈλ¦¬ λ°μ΄ν° (WKB) |
컬λΌλͺ | νμ | μ€λͺ |
---|---|---|
link_id | VARCHAR |
λλ‘ λ§ν¬ ID |
vertex_index | INT |
μ μ μμ μΈλ±μ€ |
angle | DOUBLE |
μ μ κ°λ μ 보 (λ°©ν₯μ±) |
geom | BLOB (WKB) |
μ μ μ WKB νμ μ§μ€λ©νΈλ¦¬ |
@EnableMatching
μ΄λ
Έν
μ΄μ
μ μ μΈνλ©΄ λ΄λΆμ μΌλ‘ λ€μμ΄ μλ ꡬμ±λ©λλ€:
MatchingConfiguration
μ ν΅ν Bean ꡬμ±DataLoad
λ₯Ό ν΅ν ν
μ΄λΈ λ‘λ λ° μΈλ©λͺ¨λ¦¬ ꡬ쑰νMapMatching
ν΄λμ€κ° μ£Όμ
λμ΄ λ§€μΉ μ²λ¦¬EnableMatchingRegistrar
κ° @Import
λ₯Ό ν΅ν΄ λμμ λ±λ‘ν©λλ€.μ΄ μμ€λ μΈλΆμ 곡κ°λμ§ μμ κ°μΈ νλ‘μ νΈμ λλ€. λ¬΄λ¨ μ¬μ© λ° λ°°ν¬λ₯Ό κΈν©λλ€.