Zvládnutí překrytí geometrie pomocí Aspose.GIS pro .NET
Úvod
oblasti geografických informačních systémů (GIS) jsou operace překrytí zásadní pro prostorovou analýzu. Umožňují porovnávání a kombinování různých souborů prostorových dat za účelem získání cenných poznatků. Aspose.GIS for .NET poskytuje robustní funkce pro efektivní provádění geometrických překryvů. V tomto tutoriálu se ponoříme do různých překryvných operací, jako je Intersection, Union, Difference a Symmetric Difference pomocí Aspose.GIS pro .NET.
Předpoklady
Než se ponoříte do výukového programu, ujistěte se, že máte následující předpoklady:
1. Vývojové prostředí .NET
Ujistěte se, že máte na svém počítači nastavené vývojové prostředí .NET. .NET SDK si můžete stáhnout a nainstalovat z webu .NET.
2. Aspose.GIS pro knihovnu .NET
Stáhněte a nainstalujte knihovnu Aspose.GIS for .NET z webová stránka .
Importovat jmenné prostory
Než budete moci začít používat Aspose.GIS pro .NET, musíte do svého projektu importovat potřebné jmenné prostory.
using Aspose.Gis.Geometries;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
Krok 1: Vytvořte polygonové objekty
Nejprve definujeme dva polygonové objekty reprezentující prostorové oblasti.
var polygon1 = new Polygon();
polygon1.ExteriorRing = new LinearRing(new[]
{
new Point(0, 0),
new Point(0, 2),
new Point(2, 2),
new Point(2, 0),
new Point(0, 0),
});
var polygon2 = new Polygon();
polygon2.ExteriorRing = new LinearRing(new[]
{
new Point(1, 1),
new Point(1, 3),
new Point(3, 3),
new Point(3, 1),
new Point(1, 1),
});
Krok 2: Proveďte operaci křižovatky
Dále najdeme průsečík dvou polygonů.
var intersection = polygon1.Intersection(polygon2);
Console.WriteLine("Intersection type is {0}", intersection.GeometryType); // Polygon
Krok 3: Tisk průsečíků
Vytiskneme body polygonu průsečíku.
PrintRing(((IPolygon)intersection).ExteriorRing);
Krok 4: Proveďte Union Operation
Nyní najdeme spojení dvou polygonů.
var union = polygon1.Union(polygon2);
Console.WriteLine("Union type is {0}", union.GeometryType); // Polygon
Krok 5: Vytiskněte unijní body
Vytiskněte body sjednocovacího mnohoúhelníku.
PrintRing(((IPolygon)union).ExteriorRing);
Krok 6: Proveďte rozdílovou operaci
Dále najdeme rozdíl mezi těmito dvěma polygony.
var difference = polygon1.Difference(polygon2);
Console.WriteLine("Difference type is {0}", difference.GeometryType); // Polygon
Krok 7: Vytiskněte rozdílové body
Vytiskněte body rozdílového mnohoúhelníku.
PrintRing(((IPolygon)difference).ExteriorRing);
Krok 8: Proveďte operaci symetrického rozdílu
Nakonec najdeme symetrický rozdíl mezi těmito dvěma polygony.
var symDifference = polygon1.SymDifference(polygon2);
Console.WriteLine("Symmetric Difference type is {0}", symDifference.GeometryType); // Multipolygon
Krok 9: Tisk symetrických rozdílových polygonů
Vytiskněte body každého mnohoúhelníku v symetrickém rozdílu.
var multiPolygon = (IMultiPolygon)symDifference;
Console.WriteLine("Polygons count is {0}", multiPolygon.Count); // 2
PrintRing(((IPolygon)multiPolygon[0]).ExteriorRing);
PrintRing(((IPolygon)multiPolygon[1]).ExteriorRing);
Závěr
Zvládnutí překryvů geometrie je v prostorové analýze zásadní a Aspose.GIS pro .NET poskytuje komplexní sadu nástrojů pro efektivní provádění těchto operací. Podle tohoto tutoriálu jste se naučili, jak používat Aspose.GIS pro .NET k provádění operací průniku, sjednocení, rozdílu a symetrického rozdílu na geometrických tvarech.
FAQ
Otázka: Mohu použít Aspose.GIS pro .NET ve svých komerčních projektech?
Ano, Aspose.GIS for .NET lze použít v komerčních i nekomerčních projektech.
Otázka: Je k dispozici zkušební verze pro Aspose.GIS pro .NET?
Ano, můžete si stáhnout bezplatnou zkušební verzi z tady .
Otázka: Jak mohu získat podporu pro Aspose.GIS pro .NET?
Podporu můžete získat na fóru komunity Aspose.GIS tady .
Otázka: Jsou k dispozici nějaké dočasné licence pro Aspose.GIS pro .NET?
Ano, dočasné licence jsou k dispozici pro účely testování a hodnocení. Můžete je získat z tady .
Otázka: Mohu koupit Aspose.GIS pro .NET přímo?
Ano, Aspose.GIS pro .NET si můžete zakoupit z webu tady .