webgl iserver空间查询大数据量卡死

0 投票

在前端界面通过绘制多边形(很大)框选管网数据(很多),请求iserver数据服务空间查询,iserver会无反应、卡死。返回204或者500响应码?

                var getFeaturesByGeometryParameters, getFeaturesByGeometryService;
                getFeaturesByGeometryParameters = new SuperMap.REST.GetFeaturesByGeometryParameters({
                    //数据集名:数据源名
                    datasetNames: dsNamearr,
                    toIndex: -1,
                    spatialQueryMode: SuperMap.REST.SpatialQueryMode.CONTAIN,
                    geometry: drawGeometryArgs
                });

                //TODO:4场景缓存对应的数据集,管线数据集
                // var url = supScene[j].DataSerUrl2D;
                var url = dataSerurl2D[numDataset];
                getFeaturesByGeometryService = new SuperMap.REST.GetFeaturesByGeometryService(url, {
                    eventListeners: {
                        'processCompleted': processCompleted,
                        'processFailed': processFailed
                    }
                });
                getFeaturesByGeometryService.processAsync(getFeaturesByGeometryParameters);

请问这种大数据量情景下的空间查询有什么好的解决方案?

1月 16 分类:  168次浏览 | 用户: 行者不懂 牛刀小试 (209 分)

1个回答

0 投票
您好,查询的是二维线数据集吗?绘制很大的面是包含了所有管网数据吗
1月 17 用户: 杨义东 学富五车 (584 分)
是的,查询的是点、线二维数据集

面是很大,比如一个市区行政区
空间查询二维数据已经是最简的了,如果是特别大的范围,包含特别多的数据,建议用sql查询属性表,比如查询某一行政区,查询行政区字段的所有线数据
如果不是行政区划呢,没有这个属性。比如在地图上框选了一个大范围进行空间查询 需要怎么解决iserver无反应卡死的现象?
...