我正在使用Visual Studio 2013。作为一个简单的例子,我想为50个水井(点)的集合生成GeoJSON。现有数据的结构如下所示:
class WaterWell
{
public int WaterWellId { get; set; }
public int Diameter { get; set; }
public int Depth { get; set; }
public string Lat { get; set; }
public string Lng { get; set; }
}我通常会使用这样的水井集合:
var myWaterWells = new List<WaterWell>();
// blah, blah因为我将在Google Maps中显示GeoJSON,所以它必须符合http://geojson.org标准。
我已经将GeoJSON.Net包从Nuget安装到Visual Studio。然而,令人惊讶的是,经过大量的谷歌搜索,我在任何地方都找不到任何GeoJSON.Net C#示例。所以,我的问题是:如何在C#中使用GeoJSON.Net将我收集的50口水井序列化为GeoJSON?
发布于 2016-12-26 20:19:45
我也有同样的问题,这个来自"GeoJSON.Net.Tests“项目的函数。您可以调试并查看actualJson。
我提到的两行代码与json文件有关。
public void Can_Serialize_Point_Feature()
{
var geometry = new Point(new GeographicPosition(1, 2));
//var expectedJson = GetExpectedJson();
var actualJson = JsonConvert.SerializeObject(new Net.Feature.Feature(geometry));
//JsonAssert.AreEqual(expectedJson, actualJson);
}您需要根据Lat和Lng属性创建点对象
这是我为您编写的示例代码:
class Program
{
static void Main(string[] args)
{
var points = new List<Point>
{
new Point(new GeographicPosition(52.370725881211314, 4.889259338378906)),
new Point(new GeographicPosition(52.3711451105601, 4.895267486572266)),
new Point(new GeographicPosition(52.36931095278263, 4.892091751098633)),
new Point(new GeographicPosition(52.370725881211314, 4.889259338378906))
};
var multiPoint = new MultiPoint(points);
var actualJson = JsonConvert.SerializeObject(new Feature(multiPoint, null));
}
}https://stackoverflow.com/questions/38639806
复制相似问题