πŸ“ MapMatching λͺ¨λ“ˆ

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 속성

주의: λŒ€μ†Œλ¬Έμžλ₯Ό κ΅¬λΆ„ν•˜μ§€ μ•ŠμœΌλ©°, 잘λͺ»λœ κ°’ μž…λ ₯ μ‹œ λŸ°νƒ€μž„ 였λ₯˜ λ°œμƒ κ°€λŠ₯


πŸ”§ μ‚¬μš© 방법

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_GEOM

컬럼λͺ… νƒ€μž… μ„€λͺ…
link_id VARCHAR λ„λ‘œ 링크 ID
geom BLOB (WKB) μ§€μ˜€λ©”νŠΈλ¦¬ 데이터 (WKB)

VERTEX_GEOM

컬럼λͺ… νƒ€μž… μ„€λͺ…
link_id VARCHAR λ„λ‘œ 링크 ID
vertex_index INT 정점 μˆœμ„œ 인덱슀
angle DOUBLE 정점 각도 정보 (λ°©ν–₯μ„±)
geom BLOB (WKB) μ •μ μ˜ WKB ν˜•μ‹ μ§€μ˜€λ©”νŠΈλ¦¬

βœ… μž‘λ™ 방식 μš”μ•½


πŸ›  ν•„μš” ν™˜κ²½


✨ κΈ°μ—¬μž μ „μš©

이 μ†ŒμŠ€λŠ” 외뢀에 κ³΅κ°œλ˜μ§€ μ•Šμ€ 개인 ν”„λ‘œμ νŠΈμž…λ‹ˆλ‹€. 무단 μ‚¬μš© 및 배포λ₯Ό κΈˆν•©λ‹ˆλ‹€.