3

彼、

LAT/LNG 座標を使用して C# で Countrymap を描画したいと考えています。緯度/経度をピクセルに変換する必要があります。どの方法が最適ですか? 「マップ」を描画できますが、非常に小さく、ウィンドウの中央にはありません。

誰か助けてくれませんか?私はこのコードを持っています:

    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;
    }
4

1 に答える 1

0

地図投影法 (メルカトル、円筒正積、モルワイデなど) を選択し、地理緯度、LNG から座標を変換してこの投影法を使用する必要があります。

このための標準のオープン ソース ライブラリは proj.4 です。C# ラッパーがあることは理解していますが、個人的には ogrsharp ラッパーで OGR を使用しました。OGR は内部で proj.4 を使用しますが、特定の座標系 (prj ファイルで定義されたものなど) を操作する場合に使用される多くの関数も追加します。

于 2010-11-23T12:27:28.097 に答える