Это руководство предназначено для разработчиков .NET, которым нужна помощь в программном рисовании геометрических фигур. Эти фигуры включают многоугольники, точки, линии, изогнутые линии и многое другое. Итак, давайте постараемся разработать решение, которое автоматизирует весь процесс рисования фигур. Поэтому для этой цели мы выберем Aspose.GIS for .NET, которая представляет собой мощную ГИС-библиотеку C#. Более того, он легкий и предлагает множество возможностей для программного манипулирования и создания различных типов фигур. Теперь мы перейдем к установке, а затем реализации способа создания геометрических фигур на C#.
- Установка библиотеки C# GIS
- Рисование кривых линий в .NET — пример кода
- Программное создание многоугольника — пример кода
- Создание геометрических точек — пример кода
Установка библиотеки C# GIS
Aspose.GIS for .NET предлагает надежную установку, загрузите файл DLL или вы можете выполнить следующую команду в NuGet Менеджере пакетов. Вот и все.
Рисование кривых линий в .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);
}
Аналогичным образом вы можете рисовать прямые линии, следуя примеру кода, указанному ниже:
- Создайте экземпляр класса 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);
}
Программное создание многоугольника — пример кода
Далее в этом разделе показано создание многоугольника на 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 для дальнейшего изучения.
Не стесняйтесь обращаться
Вы можете сообщить нам о своих вопросах или пожеланиях на нашем форуме.