Создание геометрических фигур с помощью ГИС-библиотеки C#

Это руководство предназначено для разработчиков .NET, которым нужна помощь в программном рисовании геометрических фигур. Эти фигуры включают многоугольники, точки, линии, изогнутые линии и многое другое. Итак, давайте постараемся разработать решение, которое автоматизирует весь процесс рисования фигур. Поэтому для этой цели мы выберем Aspose.GIS for .NET, которая представляет собой мощную ГИС-библиотеку C#. Более того, он легкий и предлагает множество возможностей для программного манипулирования и создания различных типов фигур. Теперь мы перейдем к установке, а затем реализации способа создания геометрических фигур на C#.

Установка библиотеки C# GIS

Aspose.GIS for .NET предлагает надежную установку, загрузите файл DLL или вы можете выполнить следующую команду в NuGet Менеджере пакетов. Вот и все.

Установка библиотеки C# gis

Рисование кривых линий в .NET — пример кода

Следующие шаги и пример кода демонстрируют, как рисовать изогнутые линии в Shapefile.

  • Создайте слой и откройте его, чтобы добавить новые объекты, вызвав метод Create.
  • Вызовите метод ConstructFeature, чтобы создать новый объект.
  • Инициализируйте новый экземпляр класса MultiCurve.
  • Вызовите метод Add, чтобы добавить в коллекцию линейную строку, круговую строку и составную кривую.
  • Установите Геометрию объекта.
  • Вызовите метод Add, чтобы добавить объект на слой.
string path = "/CreateMultiCurve.shp";
// Создайте слой и откройте его, чтобы добавить новые объекты, вызвав метод Create. 
using (VectorLayer layer = VectorLayer.Create(path, Drivers.Shapefile))
{
    // Вызовите метод ConstructFeature, чтобы создать новый объект. 
    var feature = layer.ConstructFeature();
    // Инициализируйте новый экземпляр класса MultiCurve.       
    var multiCurve = new MultiCurve();
    // Вызовите метод Add, чтобы добавить в коллекцию линейную строку, круговую строку и составную кривую.     
    multiCurve.Add(Geometry.FromText("LineString (0 0, 1 0)"));
    multiCurve.Add(Geometry.FromText("CircularString (2 2, 3 3, 4 2)"));
    multiCurve.Add(Geometry.FromText("CompoundCurve ((0 1, 0 0), CircularString (0 0, 3 3, 6 0))"));
    // Установите геометрию объекта. 
    feature.Geometry = multiCurve;
    // Вызовите метод Add, чтобы добавить объект в слой. 
    layer.Add(feature);
}
рисование кривых линий в .NET

Аналогичным образом вы можете рисовать прямые линии, следуя примеру кода, указанному ниже:

  • Создайте экземпляр класса LineString.
  • Добавьте точки к концам линии, вызвав метод AddPoint.
 string path = "/CreateLine.shp";
using (VectorLayer layer = VectorLayer.Create(path, Drivers.Shapefile))
{
    // Создайте экземпляр класса LineString.     
    LineString line = new LineString();
    var feature = layer.ConstructFeature();
    // Добавьте точки к концам линии, вызвав метод AddPoint.
    line.AddPoint(78.65, -32.65);
    line.AddPoint(-98.65, 12.65);
    feature.Geometry = line;
    layer.Add(feature);
}
рисование линий в dotnet

Программное создание многоугольника — пример кода

Далее в этом разделе показано создание многоугольника на C# с использованием Aspose.GIS for .NET.

  • Создайте экземпляр объекта класса Polygon.
  • Создайте экземпляр класса LinearRing.
  • Добавьте точки в конец строк, вызвав метод AddPoint.
  • Установите внешнее кольцо, задав значение свойства ExteriorRing.
string path = "/CreatePolygons.shp";
using (VectorLayer layer = VectorLayer.Create(path, Drivers.Shapefile))
{
    // Создайте экземпляр объекта класса Polygon.
    Polygon polygon = new Polygon();
    // Создайте экземпляр класса LinearRing.
    LinearRing ring = new LinearRing();
    // Добавляет точки в конец линий.        
    ring.AddPoint(50.02, 36.22);
    ring.AddPoint(49.99, 36.26);
    ring.AddPoint(49.97, 36.23);
    ring.AddPoint(49.98, 36.17);
    ring.AddPoint(50.02, 36.22);
    // Установите внешнее кольцо, задав значение свойства ExteriorRing.
    polygon.ExteriorRing = ring;
    var feature = layer.ConstructFeature();
    feature.Geometry = polygon;
    layer.Add(feature);
}
Создать многоугольник программно

Создание геометрических точек — пример кода

Эта ГИС-библиотека C# предлагает методы для программного создания геометрических точек:

  • Создайте экземпляр класса MultiPoint и вызовите метод Add для создания точек.
string path = "/CreatePoints.shp";
using (VectorLayer layer = VectorLayer.Create(path, Drivers.Shapefile))
{
    // Создайте экземпляр класса MultiPoint и вызовите метод Add для создания точек. 
    MultiPoint multipoint = new MultiPoint();
    multipoint.Add(new Point(1, 2));
    multipoint.Add(new Point(3, 4));
    var feature = layer.ConstructFeature();
    feature.Geometry = multipoint;
    layer.Add(feature);
}
Генерация геометрических точек

Создание геометрических фигур на C# — получите бесплатную лицензию

Вы можете получить бесплатную временную лицензию, чтобы попробовать эту библиотеку ГИС C# без ограничений ознакомительной версии.

Подведение итогов

Вы узнали, как создавать геометрические фигуры на C# с помощью Aspose.GIS for .NET. Кроме того, мы реализовали такие функции, как создание многоугольников, линий, изогнутых линий и точек. Итак, это несколько положений, которые мы изучили. Существует огромное количество других интересных функций, предлагаемых этой ГИС-библиотекой C#. Мы рекомендуем вам посетить нашу документацию, ссылки на API и репозиторий GitHub для дальнейшего изучения.

Не стесняйтесь обращаться

Вы можете сообщить нам о своих вопросах или пожеланиях на нашем форуме.

Смотрите также