.NET Core:在 API 中将几何图形转换为 GeoJson

问题描述 投票:0回答:0

我在 postGis 中有这样的几何类型:

在 .NET Core 中,我有这些服务:

builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();
builder.Services.AddControllers().AddNewtonsoftJson(options =>
    options.SerializerSettings.ReferenceLoopHandling = 
        Newtonsoft.Json.ReferenceLoopHandling.Ignore);
builder.Services.AddControllers()
    .AddJsonOptions(opts =>
    {
        opts.JsonSerializerOptions.DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull;    
        opts.JsonSerializerOptions.PropertyNamingPolicy = null;
        opts.JsonSerializerOptions.Converters.Add(new JsonStringEnumConverter());   
        opts.JsonSerializerOptions.Converters.Add(new NetTopologySuite.IO.Converters.GeoJsonConverterFactory());     
          
    });

现在在我的控制器中,我有这个查询:

var result = await _context.Provinces
                           .AsQueryable()
                           .GroupBy(s => s.countryName)
                           .ToListAsync();

return Ok(result);

结果大小超过 18 mb,这太多了。

如何将这些几何数据作为 API 发送到前端?是否可以将其转换为 GeoJson 然后发送到前端?

entity-framework .net-core postgis
© www.soinside.com 2019 - 2024. All rights reserved.