この記事では、環境をカスタマイズする手順を共有し、このアプリケーションを作成するために必要な手順を定義することにより、** C#**を使用してKMLをSHPに変換する方法について説明します。変換に必要なすべてのクラス、名前空間、およびメソッドを強調表示するコマンドのステップバイステップのセットを取得します。最後に、実行可能なサンプルコードを共有して、.NETまたはLinuxをサポートするMSWindowsおよび.NETCoreをサポートするmacOSで実行できるC#を使用してKMLをSHPに変換します。
C#を使用してKMLをSHPに変換する手順
- NuGetパッケージマネージャーからAspose.GIS for .NETをインストールするための開発環境を確立します
- タイプConversionOptionsの変数を宣言して、プロセスをカスタマイズします
- デスティネーションレイヤータイプが特定の空間参照系をサポートしているかどうかを確認します
- ConversionOptionsクラスオブジェクトで目的の空間参照系プロパティを設定します
- [VectorLayer](https://reference.aspose.com/gis/net/aspose.gis/vectorlayer/)。Convertメソッドを使用して、選択したオプションを使用してソースKMLをSHPに変換します
これらの明確な手順は、サンプルコードを実行するためにインストールされるリソースを導入することにより、C#を使用してKMLからシェープファイルへのコンバーターを作成するのに役立ちます。このプロセスは、カスタマイズを実行せずに完了することができますが、理解を深めるために、さまざまなパラメーターを設定するために使用できるConversionOptionsクラスが導入されています。最後のステップでは、必要なプロパティを持つオプションのパラメータとともに変換を実行する実際のメソッドを紹介します。
C#を使用してKMLをSHPに変更するコード
using Aspose.Gis; | |
using Aspose.Gis.SpatialReferencing; | |
namespace AsposeProjects | |
{ | |
class Program | |
{ | |
static void Main(string[] args) // Main function to Convert KML to SHP using C# | |
{ | |
// Load license | |
Aspose.Gis.License lic = new Aspose.Gis.License(); | |
lic.SetLicense(@"Aspose.Total.lic"); | |
// Create ConversionOptions if required | |
ConversionOptions options = new ConversionOptions(); | |
// This options assigns Wgs84 to the destination layer. | |
// Conversion may throw error If destination layer does not support the Wgs84 spatial reference. So need to check. | |
// | |
if (Drivers.Shapefile.SupportsSpatialReferenceSystem(SpatialReferenceSystem.Wgs72)) | |
options.DestinationSpatialReferenceSystem = SpatialReferenceSystem.Wgs72; | |
// Convert file format from KML to Shapefile. | |
VectorLayer.Convert("source.kml", Drivers.Kml, "destination.shp", Drivers.Shapefile, options); | |
System.Console.WriteLine("Done"); | |
} | |
} | |
} |
コードの最後の行は最初の4つのパラメーターでのみ使用できますが、特定の空間参照系を宛先レイヤーに割り当てる場合にのみ、ConversionOptionsクラスオブジェクトを使用できます。 ConversionOptionsクラスには、必要に応じて構成できるAttributeConverter、DestinationDriverOptions、DestinationSpatialReferenceSystem、SourceDriverOptionsなどの他のプロパティも含まれています。このサンプルコードは、そのまま使用できるC#を使用した完全なKMLからシェープファイルへのコンバーターを示しています。
ここでは、C#を使用して KMLからSHPへのコンバーターを作成する方法を学びましたが、シェープファイルをGeojsonに変換する場合は、C#でSHPをGeojsonに変換する方法の記事を参照してください。