我正在将旧版CAD应用程序移植到.NET。它的图形要求不是很复杂,只要您不做任何花哨的事情,带有一些优化的GDI +都会具有良好的性能。但是,我还将支持Direct2D,因为它可以提供更好的体验和性能。
我的问题是旧应用程序支持墨卡托坐标,并且它们根本不适合浮点数,因此应用程序崩溃并且GDI +在极端转换转换时效果不佳。
我看到Direct2D也使用浮点数。
那么我应该为此实现自定义矩阵,以便将等转换为屏幕坐标吗?还有其他解决方案吗?
最佳答案
也许这个库可以帮助您进行移植:
https://github.com/NetTopologySuite/NetTopologySuite
它是JTS(Java拓扑套件)的一个端口,其中包含与几何/ GIS相关的功能。
GeoAPI.NET项目(NetTopologySuite的一部分)提供了基本的几何类,坐标系等。
看一下这个Coordinate
类,其中它们的字段X,Y和Z是双精度的:
https://github.com/NetTopologySuite/GeoAPI/blob/master/GeoAPI/Geometries/Coordinate.cs