将图像转换为GeoJSON多边形(bash / javascript)

时间:2019-09-11 08:55:17

标签: javascript bash mapbox geospatial geojson

我正在尝试转换图像(例如下面的图像),然后仅获取灰色像素并将其作为GeoJSON多边形返回。 enter image description here

我已经有一个使用ImageMagick的bash脚本,该脚本将图像作为条目并将其转换为.txt文件

convert IMAGE_URL -crop "331x230+82+50" "./tmp/IMAGE_CONVERTED.txt"

从这里,我运行另一个bash脚本,该脚本循环遍历所有.txt文件,并检查像素是否为灰色。如果是这样,像素将进入阵列。

LC_ALL="C" awk -f scripts/parse-colors.awk "./tmp/IMAGE_CONVERTED.txt" > "./geojson/IMAGE_CONVERTED.geojson"

scripts / parse-colors.awk

if (isGrey(r, g, b)) {
  printf "%s{\"type\":\"Feature\",\"properties\":{},\"geometry\":{\"type\":\"Point\",\"coordinates\":[%.2f,%.2f]}}", sep, LONGITUDE, LATITUDE
  sep = ","
}

完成此步骤后,我将得到一个巨大的GeoJSON,其中包含点/像素。那就是我遇到的问题,我不确定如何将这些点转换为多边形。

此外,使用此脚本,应该删除数组中的许多像素,因为它们已经在形状内了。

那么,我该如何“清理”这些像素并从中创建一个多边形?

如果需要,解决方案可以使用javascript。我看到了Turf库,但不确定如何在上下文中使用它,以及是否可以解决问题。

0 个答案:

没有答案
相关问题