Quindi, quando parliamo di alcune API GIS, il rendering di file di mappe avanzati sembra essere la prima cosa che viene in mente. La buona notizia è che la nuova versione Aspose.GIS for .NET 19.4 contiene questa funzionalità. Non si tratta solo di questa versione poiché ci sono anche molti altri aggiornamenti. Dovresti esaminare le note di rilascio per ottenere un elenco completo di ciò che è nuovo e corretto. Vediamo cosa ci ispira in questa versione.

Mappa di base di Redner con C#

Sembra che tu stia aspettando da molto tempo per eseguire il rendering delle mappe utilizzando Aspose.GIS e il gioco è fatto, l’attesa è finita poiché questa funzione è fornita nell’ultima API per il rendering di Shapefile, FileGDB, GeoJSON, KML o altri formati di file supportati in SVG. Abbiamo fatto uno sforzo particolare per mantenere questo processo semplice, cioè renderizzare le mappe usando pochissime righe di codice per motivi di semplicità e risultati rapidi senza impostare un numero elevato di proprietà. Dai un’occhiata a quanto è semplice eseguire il rendering di una mappa usando C#.

// Per esempi completi e file di dati, visitare https://github.com/aspose-gis/Aspose.GIS-for-.NET
using (var map = new Map(800, 400))
{
    map.Add(VectorLayer.Open(dataDir + "land.shp", Drivers.Shapefile));
    map.Render(dataDir + "land_out.svg", Renderers.Svg);
}

Scopri quanto è facile semplicemente impostando la risoluzione dell’immagine risultante, selezionando il driver in base al tipo di file di input e basta. La mappa è pronta per il rendering come SVG.

Ecco l’output del programma:

Potresti essere preoccupato per l’aspetto e sentirti come se fosse solo un progetto in bianco e nero. È questa la nuova funzionalità attesa da tempo? No! questo è solo l’output più semplice per mostrare la funzionalità. Puoi personalizzare il rendering e gli stili delle funzionalità per ottenere l’aspetto desiderato. Ecco un codice di esempio avanzato che mostra più funzionalità in questa nuova versione.

// Per esempi completi e file di dati, visitare https://github.com/aspose-gis/Aspose.GIS-for-.NET
using (var map = new Map(800, 476))
{
    var baseMapSymbolizer = new SimpleFill { FillColor = Color.Salmon, StrokeWidth = 0.75 };
    map.Add(VectorLayer.Open(dataDir + "basemap.shp", Drivers.Shapefile), baseMapSymbolizer);

    var citiesSymbolizer = new SimpleMarker() { FillColor = Color.LightBlue };
    citiesSymbolizer.FeatureBasedConfiguration = (feature, symbolizer) =>
    {
        var population = feature.GetValue<int>("population");
        symbolizer.Size = 10 * population / 1000;
        if (population < 2500)
        {
            symbolizer.FillColor = Color.GreenYellow;
        }
    };
    map.Add(VectorLayer.Open(dataDir + "points.geojson", Drivers.GeoJson), citiesSymbolizer);

    map.Render(dataDir + "cities_out.svg", Renderers.Svg);
}

Vediamo come gli stili cambieranno l’output usando il codice di esempio sopra:

Oh! grande. Ora puoi iniziare a lavorare con questa funzione usando le tue mappe di esempio. È?

Per comprendere i dettagli del codice, visita questo articolo nella sezione documentazione.

Conversione datum a causa di WKT SRS incompleto

Aspose.GIS ha introdotto una nuova funzionalità di conversione tra datum quando la definizione SRS WKT non è completa. Per la trasformazione tra SRS geografici, sono necessari i parametri TOWGS84. Se sono presenti nella definizione WKT, Aspose.GIS può trasformarsi tra qualsiasi SRS geografico. Se non sono presenti, Aspose.GIS tenta di rilevare i parametri TOWGS84 in base al nome SRS. Se questo fallisce, Aspose.GIS prova a trovare SRS con gli stessi parametri e nome di datum simile, al fine di prendere i parametri TOWGS84 da un SRS simile.

Altri aggiornamenti

Le gradazioni successive vengono eseguite per rendere la libreria più intuitiva e priva di errori.

  • Alcuni contenuti extra alla fine del documento sono stati segnalati durante la sovrascrittura di un file esistente. Questo problema non c’è più.
  • Si sono verificati alcuni problemi durante la specifica dei percorsi nella stessa cartella dell’eseguibile, tuttavia questo problema è stato risolto ora.
  • Ci sono stati casi in cui sono stati generati messaggi di errore fuorvianti per un file mancante. Era come “Fine imprevista del file” che non indicava il problema reale. Questo messaggio è stato corretto ora.
  • C’era un costruttore non necessario nella classe del driver GPX che ora è stato rimosso per evitare qualsiasi confusione.

Spero che tu abbia un’idea chiara di questa nuova versione. Divertiti a usare questa ultima versione e condividi i tuoi pensieri per migliorarla sul nostro forum di supporto.

Risorse API