跳到主要内容
版本:v0.7.1

ℹ️ 关于

信息

“我找不到我梦想中的跑车,所以我自己造了一辆。” —— 费迪南德·保时捷

GeoChemistry Nexus 是我计划进行超长期维护的第一个项目——我打算至少在未来五年内持续更新它。

有趣的是,它最初被命名为 Geo-Thermometer。起初,我只是想开发一个与地质温度计相关的基础程序,以便于计算和绘图。然而,随着项目的进展,特别是在绘图模块完成后,我突然意识到可以实现一个更宏大的目标。因此,该项目在概念和功能上都得到了扩展,从 Geo-Thermometer 演变为 GeoChemistry Nexus。

为什么需要 GeoChemistry Nexus

在地球化学与岩石学研究中,成图计算往往分散在不同工具里:数据整理靠表格软件,底图绘制靠通用矢量工具,温压计计算又要另开脚本或老旧程序。流程割裂、格式不统一、复现成本高,是不少研究者日常面对的摩擦。

另一方面,许多常用的判别图解、温压计及相关计算工具 长期缺乏持续更新——新发表的算法与经典模型的修订难以及时纳入,研究者往往只能沿用停滞多年的旧版本。更现实的问题是:当科研工作者 自行开发 新的算法或图解后,往往 缺少便捷、开放的推送渠道,成果停留在论文附录、个人脚本或小范围分享中,难以在同领域快速普及与复用。

plot_home_ui

此外,我在研究中也看到了一些不够严谨的做法——例如,有人在绘制地质图底图时使用 CorelDRAW 粗略勾勒形状。虽然视觉上差别不大,但从科学研究的角度来看,这种做法违背了严谨的科学精神。

所以我通过:为什么不自己开发一个工具呢?

一个可以整合大量地质和地球化学图表模板,支持各种地质温度计/压力计计算,并扩展到地球化学计算和当前流行的机器学习功能的工具。如果没有现成的模板,它提供可视化绘图工具以便于创建和分享。辅以现代化的界面设计和多语言支持,它允许研究人员在一个软件内完成大部分科学绘图和计算的基础工作。

GeoChemistry Nexus 希望把这条链路收拢到一处——从样品数据导入、预处理与校正,到判别图解绘制、地温计计算与 CIPW 标准矿物计算,再到 PNG / SVG 等格式导出,尽量在同一套界面里完成;同时通过 云端模板生态社区协作机制,让图解与算法能够持续迭代、快速触达更多研究者。

最初的开发想法

巧合的是,我熟悉 C# 和 Python 等编程语言,并且掌握桌面软件开发开发技术。因此,在 2024 年 12 月,我开始开发 Demo。在最初的技术选型阶段,我认真考虑过:什么语言和架构最能实现这一目标?

我的第一个想法是 Python——它可以让我快速原型化,这对开发者来说是个好消息。然而,从用户的角度来看,它有致命的缺陷:首先,执行效率低(虽然数据量小时影响不大,但仍有性能差距);其次,它带来了巨大的安装包。我曾经用 Python 重构了一个最初用 WPF 编写的简单程序。即使打包在一个全新的虚拟环境中,成品也有数百 MB,而 .NET 打包的程序只有十几 MB——差距巨大。强迫用户为简单的功能忍受数百 MB 甚至 GB 的安装和复杂的配置并不是最佳选择

然后我考虑了 Web 开发。优点显而易见——无需安装,即开即用。但问题在于:一方面,我对 Web 技术的掌握不够全面;另一方面,服务器的长期高昂成本超出了我个人的维护能力。因此,我最终将重心转回了客户端开发。

plot_home_ui

客户端开发有许多技术方案,但与基于 C++ 的 QT 相比,我更熟悉 .NET。结合 .NET 的高执行效率和 Windows 的普及性,我最终选择 .NET 作为主要开发平台。最初,我也考虑使用 Avalonia 来实现对 Windows、Linux 和 MacOS 的跨平台支持,但在开发过程中,我发现一些项目依赖项与 Avalonia 不兼容,导致迁移成本非常高。以我个人的力量,很难在早期阶段重构这些模块。因此,至少在现阶段,我的工作仍然集中在 Windows 平台上,跨平台版本可能会在未来的某一天实现。

联系我

如果你对软件开发感兴趣并愿意与我合作,或者希望提供建议和反馈、图表模板、算法支持,甚至进行商业合作,请随时通过 maxwelllei@qq.com 联系我。

如果你在使用软件时发现任何不足或问题,请随时提供反馈。由于软件功能日益增加且复杂,测试很难覆盖所有情况,可能会有遗漏或不准确之处。我将尽力修正和优化,为你提供更稳定可靠的用户体验。

plot_home_ui