在Silverlight ESRI Map中显示ShapeFiles

时间:2010-12-08 22:11:54

标签: c# silverlight-4.0 esri shapefile

这是我的情况,

我有一个ESRI Map Silverlight应用程序,需要显示给我的客户端的ShapeFiles。

我发现的唯一可以让您执行此操作的第三方库是ESRI Silverlight API Contrib。他们给出的示例是使用“打开文件”对话框来选择形状文件并将它们加载到要显示的FileInfo类中。 (参见网站首页的例子)。

但是我遇到的问题是,由于它是一个Silverlight应用程序,任何实例化FileInfo对象实例的尝试都会导致应用程序崩溃。

所以我的问题是,有没有办法在Silverlight中加载/显示我本地保存到应用程序的形状文件?

如果您需要我提供更多信息,请告诉我。

提前致谢!

代码:

FileInfo runwayShp = new FileInfo("Layers\\Runway.shp"); //This line breaks, says file access is denied.
FileInfo runwayDbf = new FileInfo("Layers\\Runway.dbf");
ShapeFile shapeFileReader = new ShapeFile();
if (runwayShp != null && runwayDbf != null)
{
    shapeFileReader.Read(runwayShp, runwayDbf);
}
GraphicsLayer graphicsLayer = MyMap.Layers["ShapeLayer"] as GraphicsLayer;
foreach (ShapeFileRecord record in shapeFileReader.Records)
{

    Graphic graphic = record.ToGraphic();
    if (graphic != null)
        graphicsLayer.Graphics.Add(graphic);
    }
}

1 个答案:

答案 0 :(得分:0)

我有一个正在做同样事情的Silveright应用程序,但我正在做的是将shapefile作为blob上传到后端的SQL数据库,然后从那里抓取它。

对于您要执行的操作,您应该查看this codeplex project。我认为它会帮助你。

相关问题