Конвертировать XAML в форматы ShapeFile или SqlGeometry
У меня есть некоторые диаграммы на основе 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 ответ
Первое, что нужно сделать, это извлечь точки пути. Тогда вам нужно произвести свою форму.
ПОЛУЧЕНИЕ ТОЧЕК: в этом ответе описывается изменение формы, но вы видите, как получить точки по пути.
СТРОИТЕЛЬНАЯ ФОРМА:
Не могу использовать SqlGeometry с Silverlight:
Я думаю, что часть ответа в том, что вы не можете перейти к SqlGeometry непосредственно в серебряном свете. В вашем примере используется Microsoft.SqlServer.Types, который не был создан для среды выполнения Silverlight. Если бы вы собирались в службу, это не было бы проблемой, служба могла бы использовать полную платформу.NET, и вы можете использовать точки пути для построения хорошо известной текстовой строки, а затем перейти непосредственно к sqlGeometry, используя
SqlGeometry newGeom = SqlGeometry.STGeomFromText(wktstring, srid).MakeValid();
Лучше всего попытаться создать шейп-файл
Боюсь, я не могу помочь вам с созданием шейп-файла, извините. Я не использовал их много.