Javascript D3.js洪水图杀手

Javascript D3.js洪水图杀手,javascript,performance,d3.js,topojson,Javascript,Performance,D3.js,Topojson,下面是一个使用D3.js和topojson的洪水图示例 D3真的很累人。加载时对topojson的简化似乎会影响Firefox。我们确实需要让这项工作发挥作用,以支持我们的灾害管理工作。当我们放大时,有自适应的简化会很好。任何帮助都将不胜感激。 谢谢 帕特。几乎你唯一的选择就是根据缩放级别加载预简化的数据集。也就是说,每次缩放后,您需要确定是否为用户已缩放的区域加载新的、更高分辨率的数据集。如果是这样,则需要清除现有图元并添加新图元 这将是相当大的努力。此时,您可能需要预先渲染位图分片(例如

下面是一个使用D3.js和topojson的洪水图示例

D3真的很累人。加载时对topojson的简化似乎会影响Firefox。我们确实需要让这项工作发挥作用,以支持我们的灾害管理工作。当我们放大时,有自适应的简化会很好。任何帮助都将不胜感激。 谢谢


帕特。

几乎你唯一的选择就是根据缩放级别加载预简化的数据集。也就是说,每次缩放后,您需要确定是否为用户已缩放的区域加载新的、更高分辨率的数据集。如果是这样,则需要清除现有图元并添加新图元


这将是相当大的努力。此时,您可能需要预先渲染位图分片(例如在Google Maps中),并使用这样的库来完成繁重的工作。在这张预渲染的地图上,你仍然可以使用D3进行动态处理。

那么实际的问题是什么呢?你好,帕特。我建议你们读一些其他的问题,看看我们如何写出简短而完整的问题。准确指出锁定的位置很重要。D3似乎被topojson.presimplify以及zoom&pan卡住了,而MapShaper在简化和渲染同一文件时似乎没有任何问题(我知道文件可以简化,但这不是问题……我们实际上有更多数据要显示…)当每个人都要进行矢量渲染时,拥有矢量并必须将其转换回光栅以供显示将是一种耻辱。在这种情况下,传单没有帮助。我们需要在不同的缩放级别进行即时简化。这似乎是可行的(见www.mapshaper.org),但到目前为止,使用现有的动态简化,我似乎无法获得与D3类似的结果……这仍然会对浏览器提出相当高的要求。你可以在那里做的事情是有限的(特别是如果你想让它在移动设备上正常工作的话),你的应用程序似乎就是这样。类似地,我不认为谷歌地图很快会完全基于向量。谷歌地图和OpenStreetMaps现在都是基于向量的(至少在测试版,几乎在生产中……所以不要再回头了。)另一件事是直线简化是好的,但之后应该像这样进行曲线拟合:实际上D3会这样做,但我需要回到SVG,在这种情况下,SVG会更慢。。。grrrr!