gpt4 book ai didi

c# - C#中使用GEO坐标绘制 map

转载 作者:行者123 更新时间:2023-11-30 18:43:35 24 4
gpt4 key购买 nike

他,

我想在 C# 中使用 LAT/LNG 坐标绘制国家 map 。我必须将纬度/经度转换为像素,最好的方法是什么?我可以绘制“ map ”,但它非常小而且不在窗口中央。

有人可以帮忙吗?我有这段代码:

    void draw(Graphics g, PointF[] points, Pen p)
{
Graphics gfx = g;
gfx.PageUnit = GraphicsUnit.Point;

GraphicsPath gpath = new GraphicsPath();
gpath.StartFigure();
gpath.AddLines(points);
gpath.CloseFigure();

Matrix m = new Matrix();
m.Scale(5, 5);

gfx.Transform = m;
gfx.DrawPath(p, gpath);
gfx.Dispose();
gpath.Dispose();

return;
}

最佳答案

您需要选择 map 投影(例如墨卡托投影、等积圆柱投影或 Mollweide 投影),然后转换地理纬度的坐标,LNG 以使用此投影。

这方面的标准开源库是 proj.4。我知道周围有 C# 包装器,但我个人已经将 OGR 与 ogrsharp 包装器一起使用。 OGR 在内部使用 proj.4,但当您想要使用特定坐标系(例如在 prj 文件中定义)时,也会添加许多使用的函数。

关于c# - C#中使用GEO坐标绘制 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4255883/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com