Geojson数据导致mapbox崩溃,隔离错误的策略

时间:2018-04-05 18:55:00

标签: mapbox geojson qgis mapbox-gl-js wkt

我已经从英国军械测量中下载了shapefile边界数据,并使用QGIS将其转换为geojson格式。在转换期间没有报告错误,并且鉴于数据来自政府组织,我认为可以合理地假设所提供的数据是正确的,连贯的和完整的(这对我如何缩小范围有影响)错误来源)。

我使用mapbox显示此数据,并通过Web服务检索它。当我使用mapbox加载数据时,它会导致mapbox“蓝屏”,即完全崩溃浏览器选项卡并断开开发控制台(Chrome,FF和IE)。有太多的多边形/功能让我调查“手动”,我不能包含错误 - 即使try / catch也无济于事。 我已经开始系统地将数据集减半,事实证明,错误包含在以字母a-m开头的边界区域中的某处。我知道我可以继续这种方法,并在某些时候找到错误,但我想知道你是否有一些提示给我

  1. 检查WKT / geojson /多边形完整性。技术对我来说并不重要(C#,Java,JS,等等......),只要它是一个简洁的过程。 (显然,Postgres / Postgis有this,但我的所有数据都存在于一个对象数据库中,如果还有其他方法需要检查,我更愿意: - ))
  2. 专门针对地图框消耗检查地理数据完整性。
  3. 我的假设是“正确”(即无错误且格式正确)地理数据将在mapbox中正确呈现,但正如我的问题所示:在政府网站的官方数据集之间的某处,无差错转换使用完善的工具并使用最新版本在mapbox中渲染,仍然出错。

    感谢您解决此问题的提示!

    编辑:令人惊讶的是,Firefox似乎比Chrome更好地处理这个问题。使用相同的数据不会崩溃。

1 个答案:

答案 0 :(得分:1)

首先,我担心你的问题没有正确或错误的答案,我也不知道你想如何接受答案。对于一个问题,这通常是一个不好的迹象。

其次我不会为&#34取数据集;必须有效"即使它来自政府。将数据导出为格式总是会有一些边缘情况,或者它们可能不像您希望的那样严格遵循geojson规范。

然而,您可以尝试这样做:

  1. 通常数据太精确而无法使用(过度拟合),您应该使用您选择的工具尝试simplify geojson数据以减小其大小。您可以使用以下其中一项来执行该任务(还有更多的。)

  2. 查看您是否可以将简化版本加载到浏览器中

  3. 如果您的文件不是太大,您可以尝试使用http://geojsonlint.com/http://geojson.io/等外部工具验证geojson。

  4. 尝试使用其他浏览器查看是否可以更好地处理数据。奇怪的是你的浏览器崩溃了。如果Chrome内存不足,通常会​​通知您有关该问题的信息。

  5. 除此之外,我认为这将是一个手动任务来解决问题。