Jak korzystać z bezpłatnych bibliotek do przekształcania danych przestrzennych?
Na przykład chcę zmienić rzutowanie pliku Shapefile w kodzie mojej aplikacji internetowej C #. Jak mogę to zrobić?
Jak korzystać z bezpłatnych bibliotek do przekształcania danych przestrzennych?
Na przykład chcę zmienić rzutowanie pliku Shapefile w kodzie mojej aplikacji internetowej C #. Jak mogę to zrobić?
Odpowiedzi:
Możesz wypróbować bibliotekę DotSpatial.Projections .
Witryna zawiera przykład „Konwersja z geograficznego układu współrzędnych na rzutowany układ współrzędnych” :
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.");
}
}
}
Inną alternatywą jest http://projnet.codeplex.com/
Istnieje również GDAL / OGR: http://trac.osgeo.org/gdal/wiki/GdalOgrInCsharp Strona wygląda na dość starą, nie jestem pewien, czy powiązania są aktualne.