convertir-geojson-topojson-csharp

GeoJSON se usa para representar características geográficas con características no espaciales. Mientras que TopoJSON es una extensión de GeoJSON que utiliza Topología. Puede convertir GeoJSON a TopoJSON y TopoJSON a GeoJSON según sus requisitos. Exploremos los siguientes casos de uso en detalle:

Interconversión de GeoJSON y TopoJSON: instalación de la API C# .NET

Aspose.GIS for .NET La API se puede utilizar para manipular o convertir datos geográficos. Puede configurar fácilmente la API descargando su archivo DLL desde la sección Descargas, o a través de la galería NuGet con el siguiente comando de instalación:

PM> Install-Package Aspose.GIS

Convierta GeoJSON a TopoJSON mediante programación usando C#

La conversión de archivos de GeoJSON a TopoJSON es útil porque codifica características geoespaciales y tiene un tamaño de archivo más pequeño. Es más pequeño en tamaño de archivo debido a la topología y la eliminación de la redundancia. Además, incluso cuando no hay una topología compartida, la codificación de precisión fija es mucho más eficiente que la codificación de punto flotante del formato de archivo GeoJSON. Puede convertir GeoJSON a TopoJSON con los siguientes pasos:

  1. Cargar archivo GeoJSON de entrada
  2. Convertir GeoJSON a TopoJSON

El siguiente fragmento de código muestra cómo convertir GeoJSON a TopoJSON mediante programación usando C#:

// Cargar archivo GeoJSON de entrada
string sampleGeoJsonPath = dataDir + "sample.geojson";
var outputFilePath = dataDir + "convertedSample_out.topojson";

// convertir GeoJSON a TopoJSON
VectorLayer.Convert(sampleGeoJsonPath, Drivers.GeoJson, outputFilePath, Drivers.TopoJson);

Convierta GeoJSON a TopoJSON con cuantificación usando C#

La conversión de GeoJSON a TopoJSON es popular debido a la eficiencia de precisión fija y al menor tamaño de archivo. Además, la cuantización reduce la precisión de las coordenadas. Como resultado, optimiza el tamaño del archivo al representar las coordenadas como números enteros. Entonces puede convertir GeoJSON a TopoJSON con cuantificación con los pasos a continuación:

  1. Inicializar ConversionOptions objeto de clase
  2. Especifique el número de cuantización
  3. O establezca la propiedad Transformar
  4. Convierta GeoJSON a TopoJSON con cuantificación

El siguiente código muestra cómo convertir GeoJSON a TopoJSON con cuantificación. Explica dos enfoques alternativos para la conversión:

// convertir GeoJSON a TopoJSON con cuantificación: transformar dobles en enteros para reducir el tamaño del archivo.

string SampleGeoJsonPath = dataDir + "sample.geojson";
var outputFilePath = dataDir + "convertedSampleWithQuantization_out.topojson";

// Inicializar objeto de clase ConversionOptions
var options = new ConversionOptions
{
    DestinationDriverOptions = new TopoJsonOptions
    {
        // Hay dos formas de establecer los parámetros de cuantización: con la propiedad Transformar o
        // con número de cuantización. Aquí especificamos el número de cuantización.
        // El número de cuantificación especifica el número de valores expresables por dimensión en un resultado
        // coordenadas
        QuantizationNumber = 100_000,

        // Alternativamente, se puede establecer la propiedad 'Transformar' (pero no simultáneamente con el número de cuantización).
        // Consulte la especificación TopoJSON para obtener más detalles sobre el objeto de transformación y la cuantificación.
        //
        // Transformar = new TopoJsonTransform(
        //     xTraducir: 0,
        //     yTraducir: 0,
        //     Escala x: 0.0001000010000100001,
        //     yEscala: 0.0001000010000100001),
    }
};

VectorLayer.Convert(SampleGeoJsonPath, Drivers.GeoJson, outputFilePath, Drivers.TopoJson, options);

Convierta TopoJSON a GeoJSON mediante programación en C#

Aspose.GIS for .NET API admite la conversión de archivos TopoJSON a GeoJSON. Entonces puede agregar esta función en sus aplicaciones .NET. Además, el archivo GeoJSON generalmente se prefiere en la manipulación de geometrías del lado del servidor que no requieren topologías. Puede seguir los siguientes pasos para la conversión de TopoJSON a GeoJSON:

  1. Cargar archivo TopoJSON de entrada
  2. Conversión de TopoJSON a GeoJSON

El siguiente código muestra cómo convertir TopoJSON a GeoJSON mediante programación usando C#:

// Cargar archivo TopoJSON de entrada
var sampleTopoJsonPath = dataDir + "sample.topojson";
var outputFilePath = dataDir + "convertedSample_out.geojson";

// Convertir archivo TopoJSON a GeoJSON
VectorLayer.Convert(sampleTopoJsonPath, Drivers.TopoJson, outputFilePath, Drivers.GeoJson);

Conclusión

En este artículo, ha aprendido las diferencias y la idoneidad de los formatos de archivo GeoJSON y TopoJSON. Además, ha explorado cómo convertirlos entre sí según sus requisitos. Aspose.GIS for .NET API puede realizar de manera eficiente y rápida la interconversión en sus aplicaciones. Además, puede obtener más información visitando la API Documentación. En caso de cualquier consulta o inquietud, no dude en escribirnos en los Foros de soporte gratuitos.

Ver también