取最长线 GPS 轨迹作中心线,把每点投影得(沿路里程 s,带符号横偏 d), 网格 X=s/Y=d/Z=深度,把弯路拉直消假鳍;横向范围用带符号 d 的[1%,99%]分位 (鲁棒于离群桩线、不浪费空白半侧);重叠按到 cell 中心的距离加权(w=1/(1+d^2)) 代替等权均值。保留 PCA 版供对照(curvilinear 默认 false)。 GpsTrack 新增 projectToCenterline/resampleAndSmooth(纯函数,含直/弯线单测); GeoVolumeBuilder 新增 distanceWeight 纯函数。 真实数据(明星路 20 线,cellXY 0.5):曲线版 4487x45x82 填充 68.8%, PCA 版 4474x52x82 填充 62.2% —— ny 更小(拉直)、填充更密、假鳍明显减少。 |
||
|---|---|---|
| .. | ||
| algo | ||
| geo | ||
| model | ||
| CMakeLists.txt | ||
| README.md | ||
README.md
core — 纯业务层
铁律:绝不 #include 任何 Qt / VTK 头(含 IInterpolator,返回 core::ScalarVolume)。可独立单元测试。
子目录(设计 §3):
model/— 领域模型:Project, GsObject, TmObject, DsObject, Anomaly, ColorScale, Grid, ScatterField, ScalarVolumegeo/— LocalFrame(原点 + Z 基准 + 轴向)、CrsTransform(PROJ 封装,多 CRS)algo/— IInterpolator 接口 + IdwInterpolator(返回 core 中立的 ScalarVolume)