- SURFACE_CONFIRM_DEFAULT_FILTER csf → ptd · B04 DEFAULT_FILTER csf → ptd(확정본 있으면 확정 필터가 먼저 = 분류 LAS 는 classification 그대로)
- Engine_Ground resolve_auto_source_filters 설명 글 csf → ptd
- 낡은 시험 고침 — test_640_lidar_default · test_637_lidar 의 자동 필터 · 지워지는 모델 이름 csf → ptd(요구 559 사용자 확정)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- 새 B04_PreProcess_Engine_Filter_PTD.py — 0.5 m 칸 최저 후보 · 시작 간격(기본 10 m) 칸 최저 씨앗 · 자료 가장자리 1/4 간격 씨앗 · 삼각형마다 문턱(장면 셋 평지 3°·0.3 m / 완경사 6°·0.5 m / 급경사 10°·0.7 m · 기본 급경사) 안 가장 가까운 후보를 더함 · 굵게 → 가늘게 다짐(후보가 모두 면 위로 뜬 칸에 반 간격 씨앗 · 2.5 m 까지) · 외딴 가시 · 잡점 꼭짓점 걷음 · 마지막 판정 = 면 아래 최대 거리 · 면 위 0.2 m · numpy · scipy 만 · 4,900 만 점 덩이 처리
- 삼각형 찾기 · 무게 직접 셈 — scipy find_simplex · transform 이 이 PC 에서 BLAS 스레드 다툼으로 수십 배 느림
- 필터 목록 ptd 한 줄(Engine_Ground · SURFACE_MODEL_SOURCE_FILTERS · 표본기 SurfaceFilter · B04 드롭다운) · SURFACE_AUTO_FALLBACK_FILTER = ptd(요구 559) · 설정 SURFACE_PTD_SCENE · SURFACE_PTD_SEED_SPACING_M
- 용화(분류 숨김) 업체 분류 대비 맞음 · 놓침 · 잘못 넣음 = CSF 55.1 · 44.9 · 12.2 → PTD 88.6 · 11.4 · 12.0 % · 급경사 놓침 60.9 → 19.3 % · 180 초 · +1.2 GB
- 새 지킴 시험 test_642_ptd_filter(합성 비탈 + 나무 · 급경사 놓침 상한)
- 낡은 시험 고침 test_b04_ground_filters — 분류 없을 때 자동 필터가 csf → ptd(요구 559 사용자 확정)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- 확정 기본 표현 implicit · 평활 False · WF1 자동 짓기에 확정 표현 더함(SURFACE_AUTO_METHODS 는 dtm 그대로)
- 「분류 있음」 자동 고름 = 비율 0.2 % + 10 m 칸 덮임 50 % · 덮임 저장본(classification_coverage.json · 점군 안 풂)
- 분류 LAS 의 implicit 는 기본 필터에만 지음(csf 두 번 안 지음)
- B04 화면 확정 없을 때 기본 표현 implicit
- 지킴 시험 test_640_lidar_default
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
csf 처리 결과를 눈으로 검증할 수 있어야 한다(사용자 지시). 지면분류가 있는 LAS는
classification 하나만 만들고 끝내면 csf가 제대로 도는지 확인할 방법이 없다.
resolve_auto_source_filters 가 이제 목록을 돌려준다 — 첫 항목이 기본 확정값이다.
분류 있음: ['classification', 'csf'] 기본 확정 classification
분류 없음: ['csf'] 기본 확정 csf
서피스 생성 로직은 두 경우가 같다. 갈리는 것은 기본 확정값 지정뿐이다.
실측: cloud_merged.las(미분류) -> ['csf'], 용화.las(class 2 2.33%) ->
['classification', 'csf'].
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
지면 필터를 고쳐 지면점이 9~26배 늘자, 필터 전체 x 표현 전체를 미리 만드는
자동 전처리가 감당 못 할 만큼 길어졌다(용화 기준 15~20 모델). 산출물 대부분은
아무도 열어 보지 않는다.
- 자동 전처리는 기본 필터 1종 x SURFACE_AUTO_METHODS(dtm) 만 만든다. 스무딩
유무 두 벌은 기존대로 같이 나온다.
- 기본 필터는 고정값이 아니라 입력 LAS를 보고 정한다 — 지면분류(class 2)가
있으면 classification, 없으면 csf. csf는 분류 없는 LAS를 필터링하기 위한
수단이므로 그때만 쓴다.
- 관리자가 B04 드롭다운을 바꾸면 그 조합이 이미 저장돼 있는지 보고, 없으면
모달로 물은 뒤 그 조합만 계산해 영구 저장한다. 취소하면 드롭다운을 되돌린다.
이미 있으면 묻지 않고 저장된 데이터를 그대로 쓴다.
- config_signature에서 source_filters·precompute를 뺀다. 이 둘은 "무엇을
만들지"를 고르는 값이라 서명에 넣으면 조합을 바꿀 때마다 manifest가 통째로
폐기돼 이전에 만들어 둔 조합이 사라진다.
- analyzeSurface가 API_ANALYSIS_TIMEOUT_MS를 쓴다 — 기본 30초로는 조합 하나를
만드는 동안 abort 된다.
detect_extra_filters()는 resolve_auto_source_filters()로 대체했다. 필터를
말없이 덧붙이는 대신, 자동 경로의 기본값을 정하는 판정으로 쓴다.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>