jugstalt / gview-gis

gView GIS - Userfriendly open source GI framework
Apache License 2.0
10 stars 4 forks source link

New Branches #26

Closed charga closed 2 months ago

charga commented 7 months ago

Recently found this new branches: gview6 and gview6-STJ, both are NET8, but what are the differences? which one can I review? Also continue to maintain master (gview5, NET 4.7)

Regards

Carlos

jugstalt commented 7 months ago

Hi Carlos, i will change from gView 5 to gView 6 soon. Thats why i also changed the name of the repository form gview5 to a version independent name "gview-gis".

The difference between the gview6 and gview6-STJ is, that i use System.Text.Json (STJ) an not Newtonsoft.Json. But now i just merged the changes back to the gview6 branch. gview6-STJ will deleted soon.

The main focus on the new release will be the UI for the gView Carto and gView Explorer UI. I will not use Windows Formas anymore. Its than all Blazor and running also in the web.

The main branch is here is still gview5 The gview5 branch is an will be the latest (and last) gview5 The gview6 branch is the current gview6 version.

I must do all the documentation stuff first, then the gview6 branch will merged to master.

Hope thats ok for you,

Regards

Jürgen

PS And yes everything will be .NET 8

charga commented 6 months ago

Thanks in advance. I understand the idea. meanwhile, in this brank I found this situation, trying to load an ArcGIS Feature Service, notice that the Extent object doesn't have a number, instead has NaN as string. So an error was generated. I'd made a custom JsonConverter to manage this returning Double.NaN but i'm not sure it's the best solution.

jugstalt commented 6 months ago

Hm, i dont know. Can you describe me in more detail, what you ar trying to do?

charga commented 6 months ago

OK, step by step: Execute gView.Web Explorer Web Services Esri Geoservices My Own AGS services http://MYOWN/arcgis/rest/services/PETIGASCARIBEPRUEBA/PETIGASCARIBE/MapServer/layers?f=json& Returns in many layers: "extent":{"xmin":"NaN","ymin":"NaN","xmax":"NaN","ymax":"NaN","spatialReference":{"wkid":3116,"latestWkid":3116}} And return a message like 'The JSON value could not be converted to System.Double Means that cannot convert the string NaN to double. I made a custom JsonConvert to avoid that. JsonExtent It's a good solution?

jugstalt commented 6 months ago

Hi Carlos,

You already using gView6, nice :) With Version and branch you are testing. Form now on the current branch is gview6. Forget all other branches...

Numbers with NaN seems not work with System.Text.Json in advance.

I extended the JsonSerializerOptions with this:


static public class JsonSerializerOptionsExtensions
{
    static public JsonSerializerOptions AddServerDefaults(this JsonSerializerOptions options)
    {
        if (options.Converters != null)
        {
            options.Converters.Add(new Array2DConverter());
            options.Converters.Add(new DBNullConverter());
        }

        options.ReferenceHandler = ReferenceHandler.IgnoreCycles;

        // Allow "NaN" with numbers
        options.NumberHandling = JsonNumberHandling.AllowNamedFloatingPointLiterals;

        return options;
    }
}

now it seems to work. Pull the latest gview6 branch. Hope it works than for you