Конвертировать 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();

Лучше всего попытаться создать шейп-файл

Боюсь, я не могу помочь вам с созданием шейп-файла, извините. Я не использовал их много.

Другие вопросы по тегам