Opanowanie nakładek geometrycznych za pomocą Aspose.GIS dla .NET

Wstęp

dziedzinie systemów informacji geograficznej (GIS) operacje nakładania mają fundamentalne znaczenie dla analizy przestrzennej. Umożliwiają porównywanie i łączenie różnych zbiorów danych przestrzennych w celu uzyskania cennych spostrzeżeń. Aspose.GIS dla .NET zapewnia solidną funkcjonalność do wydajnego wykonywania nakładek geometrycznych. W tym samouczku zajmiemy się różnymi operacjami nakładek, takimi jak przecięcie, suma, różnica i różnica symetryczna, przy użyciu Aspose.GIS dla .NET.

Warunki wstępne

Przed przystąpieniem do samouczka upewnij się, że spełniasz następujące wymagania wstępne:

1. Środowisko programistyczne .NET

Upewnij się, że na komputerze jest skonfigurowane środowisko programistyczne .NET. Zestaw SDK platformy .NET można pobrać i zainstalować z witryny internetowej platformy .NET.

2. Biblioteka Aspose.GIS dla .NET

Pobierz i zainstaluj bibliotekę Aspose.GIS dla .NET zstrona internetowa.

Importuj przestrzenie nazw

Zanim zaczniesz używać Aspose.GIS dla .NET, musisz zaimportować niezbędne przestrzenie nazw do swojego projektu.

using Aspose.Gis.Geometries;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

Krok 1: Utwórz obiekty wielokątne

Najpierw zdefiniujemy dwa obiekty wielokątne reprezentujące obszary przestrzenne.

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: Wykonaj operację przecięcia

Następnie znajdźmy przecięcie dwóch wielokątów.

var intersection = polygon1.Intersection(polygon2);
Console.WriteLine("Intersection type is {0}", intersection.GeometryType); // Wielokąt

Krok 3: Wydrukuj punkty przecięcia

Wydrukujemy punkty wielokąta przecięcia.

PrintRing(((IPolygon)intersection).ExteriorRing);

Krok 4: Wykonaj operację Unii

Teraz znajdźmy sumę dwóch wielokątów.

var union = polygon1.Union(polygon2);
Console.WriteLine("Union type is {0}", union.GeometryType); // Wielokąt

Krok 5: Wydrukuj punkty Union

Wydrukuj punkty wielokąta sumy.

PrintRing(((IPolygon)union).ExteriorRing);

Krok 6: Wykonaj operację różnicową

Następnie znajdźmy różnicę między dwoma wielokątami.

var difference = polygon1.Difference(polygon2);
Console.WriteLine("Difference type is {0}", difference.GeometryType); // Wielokąt

Krok 7: Wydrukuj punkty różnicowe

Wydrukuj punkty wielokąta różnicowego.

PrintRing(((IPolygon)difference).ExteriorRing);

Krok 8: Wykonaj operację różnicy symetrycznej

Na koniec znajdźmy różnicę symetryczną między dwoma wielokątami.

var symDifference = polygon1.SymDifference(polygon2);
Console.WriteLine("Symmetric Difference type is {0}", symDifference.GeometryType); // Multiwielokąt

Krok 9: Wydrukuj wielokąty różnic symetrycznych

Wydrukuj punkty każdego wielokąta w różnicy symetrycznej.

var multiPolygon = (IMultiPolygon)symDifference;
Console.WriteLine("Polygons count is {0}", multiPolygon.Count); // 2
PrintRing(((IPolygon)multiPolygon[0]).ExteriorRing);
PrintRing(((IPolygon)multiPolygon[1]).ExteriorRing);

Wniosek

Opanowanie nakładek geometrycznych ma kluczowe znaczenie w analizie przestrzennej, a Aspose.GIS dla .NET zapewnia kompleksowy zestaw narzędzi do wydajnego wykonywania tych operacji. Wykonując ten samouczek, nauczyłeś się wykorzystywać Aspose.GIS dla .NET do wykonywania operacji przecięcia, sumy, różnicy i różnicy symetrycznej na kształtach geometrycznych.

Często zadawane pytania

P: Czy mogę używać Aspose.GIS dla .NET w moich projektach komercyjnych?

Tak, Aspose.GIS dla .NET może być używany zarówno w projektach komercyjnych, jak i niekomercyjnych.

P: Czy dostępna jest wersja próbna Aspose.GIS dla .NET?

Tak, możesz pobrać bezpłatną wersję próbną ze stronyTutaj.

P: Jak mogę uzyskać wsparcie dla Aspose.GIS dla .NET?

Możesz uzyskać pomoc na forum społeczności Aspose.GISTutaj.

P: Czy dostępne są jakieś tymczasowe licencje dla Aspose.GIS dla .NET?

Tak, dostępne są licencje tymczasowe do celów testowania i oceny. Można je uzyskać odTutaj.

P: Czy mogę kupić Aspose.GIS bezpośrednio dla .NET?

Tak, możesz kupić Aspose.GIS dla .NET na stronie internetowejTutaj.