保存KML文件,我得到System out of memory exception

时间:2015-08-25 12:25:51

标签: c#

我正在尝试导出kml文件。由于某种原因,我不断得到系统内存异常。请在下面找到我的代码

        SharpKml.Dom.Kml root = new SharpKml.Dom.Kml();
        root.Feature = doc;

        SharpKml.Engine.KmlFile kmlFile = SharpKml.Engine.KmlFile.Create(root, true);
        try
        {
            using (var stream = File.OpenWrite(kmlFileName))
                kmlFile.Save(stream);
        }
        catch 
        { 
          throw;
        }

它在KmlFile.Save(流)上爆炸。请帮忙

1 个答案:

答案 0 :(得分:1)

下一个代码对我来说很好

try
{
        LineString lineString = new LineString()
        {
            AltitudeMode = AltitudeMode.Absolute,
            Tessellate = true,
            Coordinates = new CoordinateCollection()
        };


        Vector prevCoordinates = new Vector(45.883144378662109, 13.902674674987793, -71.5);
        lineString.Coordinates.Add(prevCoordinates);

        Placemark placemark = new Placemark()
        {
            Name = "Coordinate log",
            Geometry = lineString
        };
        placemark.AddStyle(new Style()
        {
            Line = new LineStyle()
            {
                ColorMode = ColorMode.Normal,
                Width = 3,
                Color = new Color32(255, 255, 0, 0),
                OuterWidth = 1,
                OuterColor = new Color32(150, 255, 255, 255),
            },
        });

        KmlFile kml = KmlFile.Create(placemark, false);
        using (var stream = System.IO.File.OpenWrite(telemFileName + ".kml"))
        {
            kml.Save(stream);
        }
}
catch (IOException)
{
    //file in use
}
catch (Exception ex)
{
    logger.Error("Exception: " + ex);
}