我正在创建一个仪表板站点,并使用一个矢量层来选择一个区(在这个原型中,我使用的是ESSEX,里面有所有的区,见图)

这是我正在使用的代码。
http://openlayers.org/en/latest/examples/select-features.html?q=selec
问题是,当我从一个地图文件创建geojson文件时(地图文件中唯一的字段是区名称和代码,没有太多的信息),大小开始变得有点大,加载地图的速度非常慢,一旦我试图加载一个更大的文件(几乎6mb),Openlayers无法加载它,现在我需要创建另一个原型,但整个英国(只是地区,没有区)。
从OL4到vector支持哪些格式?我可以用另一种不是GeoJson的格式来实现这样的事情吗?
我需要能够点击并至少返回我点击的地方的名称,并使用它来启动我的其他功能,需要该名称才能工作。
发布于 2018-06-04 17:33:15
有许多方法可以解决矢量数据的客户端渲染的性能问题。
首先,你不能用openlayers渲染6mb的矢量数据,这有点奇怪。根据我的经验(主要是使用OpenLayers 2),6mb并不是很大。然而,它在很大程度上依赖于客户端的功能。加载有什么问题?超时?冰冻?无响应的平移/缩放?
您可以使用WMS或tiles呈现数据服务器端。例如,您可以使用mapserver或geoserver。然后,要选择对象,可以使用GetFeatureInfo请求。
否则,就像pavankguduru建议的那样,您可以尝试使用向量tiles格式。
也许,您的矢量数据对于您的目的来说过于“详细”了。您可以对它们进行简化,以减少每个几何体的点数。请参阅GRASS的v.generalize工具。
您还可以使用数据(区域)的聚合版本,直到用户放大。
IMHO,如果你的应用程序需要在旧的浏览器/PC上运行,那么你需要渲染服务器端。
https://stackoverflow.com/questions/50646765
复制相似问题