2012-11-05 7 views
6

Sono nuovo di questo. Non so come utilizzare la funzione SQlSpatialFunction MakeValid. Ho un DbGeometry che è un poligono. Questo poligono non è valido e voglio che sia renderlo valido.DbGeometry makevalid?

Qualcuno può spiegare come utilizzare il metodo MakeValid?

MSDN

Grazie! : D

+2

Nella query si utilizza 'SqlSpatialFunctions.MakeValid (dbGeometryValue)'. Se questo non funziona per te, sii più specifico di ciò che vuoi ottenere e mostra ciò che hai provato. – Pawel

+1

Vedere questa domanda l'ultima risposta può aiutare a http://stackoverflow.com/questions/16640565/is-there-something-like-dbgeometry-makevalid-in-net-4-5/16757876#16757876 –

risposta

5

Uscendo da ciò che Pawel ha commentato, tutto ciò che faccio è controllare se è valido, quindi renderlo valido se non lo è.

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