Files
CM95/docs/外部参考.md
2026-09-20 17:40:34 +08:00

28 lines
1.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 外部参考
本项目独立实现 CM93 importer;为保证 S-52 / CM93 对照审计可在不同机器复现,仓库内另行保存一份只读 OpenCPN GPL 上游源码快照,作为外部参考资料,不与 CM95 自有实现混合。
固定参考快照:`docs/外部参考/OpenCPN源码基线_f7211b4e/`,上游 commit 为 `f7211b4e1874c453e37a7f190aa191c55a25c32e`,目录内保留原始版权声明、GPL 许可证和 SHA-256 校验清单。
用于核对行为和 MySQL 兼容性的公开参考:
- OpenCPN CM93 implementation:
https://github.com/OpenCPN/OpenCPN/blob/master/gui/src/cm93.cpp
- MySQL 5.7 Spatial Data Types:
https://dev.mysql.com/doc/refman/5.7/en/spatial-type-overview.html
- MySQL 5.7 Geometry Class:
https://dev.mysql.com/doc/refman/5.7/en/gis-class-geometry.html
- MySQL 5.7 Spatial Index:
https://dev.mysql.com/doc/refman/5.7/en/creating-spatial-indexes.html
注意:MySQL 5.7 Geometry 坐标本身为 double precision,但对实际 SRID 的地理计算能力不能按 MySQL 8 的行为假设。
## v0.2.0 互操作说明
CM93 binary 行为用于互操作核对的核心公开实现是 OpenCPN `cm93.cpp` 的 decode/header/table/feature/attribute/Transform 逻辑。
本工程采用独立 Python 数据模型、数据库模型和实现结构。CM93 substitution mapping 属于解码互操作所需的固定映射;如未来公开分发或商业分发本工具,应自行进行许可证/数据授权审查。