将XAML转换为ShapeFile或SqlGeometry格式

时间:2011-07-25 11:32:20

标签: silverlight xaml canvas shapefile sqlgeography

我有一些基于XAML的图表,其中包含嵌入在Canvas对象中的路径,例如

<Canvas x:Name="c1" Width="55.2533" Height="18.2933" Canvas.Left="194.606" Canvas.Top="194.131">
<Path x:Name="Path_5" Width="8.02666" Height="13.44" Canvas.Left="0" Canvas.Top="0.559998" Stretch="Fill" Fill="#FF000000" Data="......etc"/>
</Canvas>

有没有办法/工具将XAML转换为ShapeFile或SqlGeometry数据?我需要转换,因为我想在第三方地图控件中显示图形,该控件仅绑定到ShapeFiles或SqlGeometry数据。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

要做的第一件事就是提取路径点。然后你需要产生你的形状。

得分: 这个stackoverflow answer描述了改变形状,但你看到了如何从路径中获取点。

建筑形状:

不能在Silverlight中使用SqlGeometry:

我认为部分答案是你不能直接在Silverlight中去SqlGeometry。您的示例使用的是Microsoft.SqlServer.Types,它不是为silverlight运行时构建的。如果你要去服务那就没问题了,服务可以使用完整的.NET框架,你可以使用路径点来构建一个众所周知的文本字符串,然后使用

SqlGeometry newGeom = SqlGeometry.STGeomFromText(wktstring,srid).MakeValid();

最好的方法是尝试创建shapefile

对于创建shapefile,我恐怕无法帮助你,抱歉。没有太多使用它们。