이 빠른 자습서에서는 다른 타사 도구를 설치하지 않고 C#에서 Shapefile을 만드는 방법을 설명합니다. Shapefile 드라이버를 사용하여 벡터 레이어를 만들 수 있지만 다른 유형의 벡터 레이어를 만드는 데 사용할 수 있는 다른 옵션이 많이 있습니다. SHP 파일로 저장된 벡터 레이어에 속성, 지오메트리 포인트 및 기능을 추가하여 C#에서 SHP 파일을 생성할 수 있습니다.
C#에서 새 Shapefile을 만드는 단계
- Nuget 패키지 관리자에서 Aspose.GIS for .NET를 추가하도록 개발 환경을 구성합니다.
- SHP 파일 이름과 해당 드라이버를 제공하여 VectorLayer class 개체를 사용하여 벡터 레이어 생성
- 새로 생성된 벡터 레이어의 Attributes 컬렉션에 다른 속성을 설정합니다.
- VectorLayer 객체의 ConstructFeature 함수를 사용하여 feature 생성
- Point 클래스 개체를 인스턴스화하고 새 기능의 Geometry 속성을 설정합니다.
- 이 기능을 벡터 레이어에 추가
이 단계에서는 응용 프로그램을 개발하는 데 필요한 구성 세부 정보, 필요한 클래스, 네임스페이스 및 메서드를 제공하여 *C#*에서 Shapefile을 만드는 방법을 살펴봅니다. 여기에서 C#에서 Shapefile을 생성하는 응용 프로그램을 개발하기 위한 단계별 접근 방식이 공유됩니다. 여기서 먼저 Shapefile 유형의 벡터 레이어가 생성된 다음 다른 속성이 여기에 추가됩니다. 마찬가지로 새로 생성된 벡터 모양에 대해서도 형상을 구성한 후 형상 위치 및 형상 값을 설정합니다.
C#에서 모양 파일을 만드는 코드
using System; | |
using Aspose.Gis; | |
namespace AsposeProjects | |
{ | |
class Program | |
{ | |
static void Main(string[] args) // Main function to create a Shapefile in C# | |
{ | |
// Initialize a license | |
Aspose.Gis.License lic = new Aspose.Gis.License(); | |
lic.SetLicense(@"Aspose.Total.lic"); | |
// Create a vector layer | |
using (VectorLayer vecLayer = VectorLayer.Create("sample.shp", Drivers.Shapefile)) | |
{ | |
// Set attributes | |
vecLayer.Attributes.Add(new FeatureAttribute("ProductName", AttributeDataType.String)); | |
vecLayer.Attributes.Add(new FeatureAttribute("City", AttributeDataType.String)); | |
vecLayer.Attributes.Add(new FeatureAttribute("Price", AttributeDataType.Integer)); | |
vecLayer.Attributes.Add(new FeatureAttribute("Expiry", AttributeDataType.DateTime)); | |
// Set features | |
Feature firstFeature = vecLayer.ConstructFeature(); | |
firstFeature.Geometry = new Aspose.Gis.Geometries.Point(34.02, 71.52); | |
firstFeature.SetValue("ProductName", "Butter"); | |
firstFeature.SetValue("City", "Peshawar"); | |
firstFeature.SetValue("Price", 300); | |
firstFeature.SetValue("Expiry", new DateTime(2022, 12,15)); | |
// Add feature to the layer | |
vecLayer.Add(firstFeature); | |
} | |
System.Console.WriteLine("Done"); | |
} | |
} | |
} |
이 코드는 Drivers.Shapefile 옵션을 사용하여 벡터 레이어를 생성하지만 GeoJson, Kml, Gpx, Gml, TopoJson 등과 같은 다른 옵션을 사용하여 다른 유형의 벡터 레이어를 생성할 수도 있습니다. 이 Vectorlayer 클래스에는 속성과 기능뿐 아니라 레이어를 다른 형식으로 변환할 수 있는 많은 변환 옵션이 포함되어 있습니다.
이 자습서에서는 *C#*에서 모양 파일을 만드는 방법을 배웠지만 SHP를 GPX 형식으로 변환하는 데 관심이 있는 경우 C#에서 SHP를 GPX로 변환하는 방법에 대한 문서를 참조하세요.