在 Bing Maps WPF 控件上绘制多边形的 SQLGeography STUnion 和内环问题
Issue with SQLGeography STUnion & inner rings for drawing polygons on Bing Maps WPF control
我正在使用 Bing API 空间数据服务编写一个应用程序,以获取邮政编码列表并将它们合并到一个区域中。我大部分时间都在使用它,但它似乎与内环有问题。而不是 a) 认为内部区域太小而只是压扁它或 b) 正确绘制内环,它似乎想要连接它们,如下图示例:
那个内部多边形本应只是该区域中的一个 "hole",但它却试图连接它们。
我目前有2个相关方法。一个解密邮政编码的 API 响应,将其转换为 SqlGeography
和 STUnion()
s 任何其他环。和第二个父方法,它 STUnion
将第一个方法的结果发送到一个主 SqlGeography
对象,该对象在针对一个区域完成后包含所有邮政编码。
如果您需要更多信息,请告诉我。
我怀疑问题出在 WPF 地图控件中如何创建孔,因为默认情况下该控件中的多边形不支持孔。相反,在 WPF 控件中的多边形中创建孔的常见做法是绘制一条连接所有环的线。你会在外环上选择一个点,画一条线到第一个内环,画内环,然后画一条线回到外环。为此,环必须闭合并且线必须在自身上回溯。然后隐藏多边形的笔划,并使用多段线绘制轮廓。
从你的图片来看,一个内环似乎正在尝试执行上述操作以创建第二个内环,但不是回溯到第一个内环,而是回溯到外环。
我正在使用 Bing API 空间数据服务编写一个应用程序,以获取邮政编码列表并将它们合并到一个区域中。我大部分时间都在使用它,但它似乎与内环有问题。而不是 a) 认为内部区域太小而只是压扁它或 b) 正确绘制内环,它似乎想要连接它们,如下图示例:
那个内部多边形本应只是该区域中的一个 "hole",但它却试图连接它们。
我目前有2个相关方法。一个解密邮政编码的 API 响应,将其转换为 SqlGeography
和 STUnion()
s 任何其他环。和第二个父方法,它 STUnion
将第一个方法的结果发送到一个主 SqlGeography
对象,该对象在针对一个区域完成后包含所有邮政编码。
如果您需要更多信息,请告诉我。
我怀疑问题出在 WPF 地图控件中如何创建孔,因为默认情况下该控件中的多边形不支持孔。相反,在 WPF 控件中的多边形中创建孔的常见做法是绘制一条连接所有环的线。你会在外环上选择一个点,画一条线到第一个内环,画内环,然后画一条线回到外环。为此,环必须闭合并且线必须在自身上回溯。然后隐藏多边形的笔划,并使用多段线绘制轮廓。
从你的图片来看,一个内环似乎正在尝试执行上述操作以创建第二个内环,但不是回溯到第一个内环,而是回溯到外环。