Làm thế nào để đánh giá lại dữ liệu không gian bằng các thư viện miễn phí?


13

Làm cách nào tôi có thể sử dụng các thư viện miễn phí để chuyển đổi dữ liệu không gian?

Ví dụ: tôi muốn thay đổi hình chiếu của một Shapefile trong mã của ứng dụng web C # của tôi. Làm thế nào để làm điều đó?


Chuyển đổi sang CW vì đây thực sự là một "danh sách câu hỏi X".
whuber

2
bây giờ hơi muộn vì ngựa CW đã ra khỏi cổng rồi, nhưng nếu người trả lời chú ý nhiều hơn đến "làm thế nào để tôi làm điều đó?" một phần của Q nó sẽ không chỉ là một "danh sách X".
matt wilkie

Hãy cố gắng biến câu hỏi này thành một câu hỏi hay với những câu trả lời hay.
underdark

Câu trả lời:


10

Bạn có thể thử thư viện DotSpatial.Projections .

Trang web liệt kê một ví dụ "Chuyển đổi từ Hệ thống tọa độ địa lý sang Hệ thống tọa độ dự kiến" :

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using DotSpatial.Projections;

namespace WindowsFormsApplication1
{
  public partial class Form1 : Form
  {
    public Form1()
    {
        InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        //Sets up a array to contain the x and y coordinates
        double[] xy = new double[2];
        xy[0] = 0;
        xy[1] = 0;
        //An array for the z coordinate
        double[] z = new double[1];
        z[0] = 1;
        //Defines the starting coordiante system
        ProjectionInfo pStart = KnownCoordinateSystems.Geographic.World.WGS1984;
        //Defines the ending coordiante system
        ProjectionInfo pEnd = KnownCoordinateSystems.Projected.NorthAmerica.USAContiguousLambertConformalConic;
        //Calls the reproject function that will transform the input location to the output locaiton
        Reproject.ReprojectPoints(xy, z, pStart, pEnd, 0, 1);
        Interaction.MsgBox("The points have been reporjected.");
    }
  }
}



2

Tôi hơi ngạc nhiên khi không ai nhắc đến proj.4 và shapelib. Mặc dù cả hai đều là dự án C, các ràng buộc C # đã được thực hiện (hoặc bạn chỉ có thể p / gọi chúng).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.