2012-11-05 13 views
6

Tôi mới làm quen với điều này. Tôi không biết cách sử dụng SqlSpatialFunction MakeValid. Tôi có một DbGeometry mà là một đa giác. Đa giác này không hợp lệ và tôi muốn là làm cho nó hợp lệ.DbGeometry makevalid?

Có ai có thể giải thích cách sử dụng phương pháp MakeValid không?

MSDN

Cảm ơn bạn! : D

+2

Trong truy vấn bạn sẽ sử dụng 'SqlSpatialFunctions.MakeValid (dbGeometryValue)'. Nếu điều này không làm việc cho bạn cụ thể hơn những gì bạn muốn đạt được và hiển thị những gì bạn đã thử. – Pawel

+1

Xem câu hỏi này là câu trả lời cuối cùng có thể giúp bạn http://stackoverflow.com/questions/16640565/is-there-something-like-dbgeometry-makevalid-in-net-4-5/16757876#16757876 –

Trả lời

5

Tắt những gì Pawel nhận xét, Tất cả những gì tôi làm là kiểm tra xem nó có hợp lệ không thì hợp lệ nếu không.

DbGeometry myGeometry = DbGeometry.FromText("POLYGON ((10 10, 15 15, 5 15, 10 15, 10 10))"); 
if(!myGeometry.IsValid) 
{ 
    myGeometry = SqlSpatialFunctions.MakeValid(myGeometry); 
}