private void TestTrace() { SpatialTrace.Enable(); SpatialTrace.TraceText("Simple geometries"); SpatialTrace.Indent(); SqlGeometry points = Sample_Points(4326); SpatialTrace.TraceGeometry(points, "Points"); SqlGeometry poly = Sample_Polygon(4326); SpatialTrace.TraceGeometry(poly, "Polygon"); SqlGeography geog = Sample_PolygonGeography(); SpatialTrace.TraceGeometry(geog, "Polygon (geography)"); SpatialTrace.Unindent(); SpatialTrace.TraceText("Composite geometries"); SpatialTrace.Indent(); SpatialTrace.TraceGeometry(poly.STUnion(points), "poly.STUnion(points)"); SpatialTrace.TraceGeometry(poly.STUnion(points).STConvexHull(), "poly.STUnion(points).STConvexHull()"); SpatialTrace.Unindent(); SpatialTrace.Disable(); }
private void TestCommunes() { List <SqlGeometry> geom = new List <SqlGeometry>(); SpatialTrace.Enable(); SpatialTrace.TraceText("Open DB connection"); SpatialTrace.Indent(); using (SqlConnection con = new SqlConnection(@"Data Source=.;Initial Catalog=SampleSpatialData;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False")) { con.Open(); using (SqlCommand com = new SqlCommand("SELECT geom, INSEE_COM + ' ' + NOM_COM FROM dbo.COMMUNE --WHERE geom2154.STNumInteriorRing() > 0", con)) { int i = 0; using (SqlDataReader reader = com.ExecuteReader()) { SpatialTrace.TraceText("Reading results DB\t\t connection"); SpatialTrace.Indent(); while (reader.Read()) { i++; // workaround https://msdn.microsoft.com/fr-fr/library/ms143179(v=sql.120).aspx // In version 11.0 only SqlGeometry curGeom = SqlGeometry.Deserialize(reader.GetSqlBytes(0)); //// In version 10.0 or 11.0 //curGeom = new SqlGeometry(); //curGeom.Read(new BinaryReader(reader.GetSqlBytes(0).Stream)); geom.Add(curGeom); SpatialTrace.SetFillColor(GetRandomColor()); SpatialTrace.SetLineColor(GetRandomColor()); SpatialTrace.SetLineWidth(GetRandomStrokeWidth()); SpatialTrace.TraceGeometry(curGeom, reader[1].ToString()); } SpatialTrace.Unindent(); } } } SpatialTrace.Unindent(); ((ISpatialViewer)viewer).SetGeometry(SqlGeomStyledFactory.Create(geom, null, null, null, "Sample")); }
private void VisuCercleCirconscritAuTriangle(double[] v_pointA, double[] v_pointB, double[] v_pointC, string p_message) { List <double[]> v_pointsTriangle; v_pointsTriangle = new List <double[]>(); v_pointsTriangle.Add(v_pointA); v_pointsTriangle.Add(v_pointB); v_pointsTriangle.Add(v_pointC); // SpatialTrace.Enable(); SpatialTrace.TraceText(p_message); Color param_couleurContour = Color.FromArgb(125, 125, 125); SpatialTrace.SetLineColor(param_couleurContour); Color p_couleurCourante; int p_taillePoint; IGeometry v_pointGeom; double[] v_pointCentre; double v_rayon; v_pointCentre = FServicesApplicatifs.createCalculServicesLow_testDivers().GetCoordonneesCercleCirconscritAuTriangle(v_pointsTriangle); v_rayon = Math.Sqrt(Math.Pow((v_pointA[0] - v_pointCentre[0]), 2) + Math.Pow((v_pointA[1] - v_pointCentre[1]), 2)); //Cercle p_couleurCourante = Color.FromArgb(50, 50, 50); v_pointGeom = FLabServices.createUtilitaires().ConstructPoint(v_pointCentre[0], v_pointCentre[1], 2154).Buffer(v_rayon); SpatialTrace.TraceGeometry(v_pointGeom, "Cercle", "Cercle"); //Points du triangle p_taillePoint = 5; p_couleurCourante = Color.FromArgb(255, 0, 0); SpatialTrace.SetFillColor(p_couleurCourante); v_pointGeom = FLabServices.createUtilitaires().ConstructPoint(v_pointA[0], v_pointA[1], 2154).Buffer(p_taillePoint); SpatialTrace.TraceGeometry(v_pointGeom, "Pt A", "Pt A"); v_pointGeom = FLabServices.createUtilitaires().ConstructPoint(v_pointB[0], v_pointB[1], 2154).Buffer(p_taillePoint); SpatialTrace.TraceGeometry(v_pointGeom, "Pt B", "Pt B"); v_pointGeom = FLabServices.createUtilitaires().ConstructPoint(v_pointC[0], v_pointC[1], 2154).Buffer(p_taillePoint); SpatialTrace.TraceGeometry(v_pointGeom, "Pt C", "Pt C"); //Cercle p_taillePoint = 8; p_couleurCourante = Color.FromArgb(0, 255, 0); SpatialTrace.SetFillColor(p_couleurCourante); v_pointGeom = FLabServices.createUtilitaires().ConstructPoint(v_pointCentre[0], v_pointCentre[1], 2154).Buffer(p_taillePoint); SpatialTrace.TraceGeometry(v_pointGeom, "Centre", "Centre"); SpatialTrace.Disable(); // }