【发布时间】:2015-04-23 18:38:42
【问题描述】:
我正在尝试使用下载的 OSM 数据在地图上绘制多边形。我编写了一个查询,它从planet_osm_polygon 表中返回一个多边形列表。它将列表返回为 JSON 对象。我正在使用gl.drawArrays(gl.LINESTRIP, 0, json_data_length) 来绘制多边形。我对点做了同样的事情——我有一个返回的点列表,我已经能够使用 gl.POINTS 绘制它们。
问题是,我希望单独绘制每个多边形,但我想使用 LINE_STRIP 是将一个多边形的一个终点连接到另一个多边形的起点。
例如,我希望 SFO 的市民中心广场和布坎南街是单独的多边形。但是多边形在绘制之后仍然通过一个点相互连接。我希望这两个被绘制为单独的多边形。我该怎么做?
我不想使用任何库。只是基本的 WebGL。我的 JavaScript 代码从我的 osm 数据库中获取经纬度坐标并转换为像素坐标以帮助绘图 - 请参阅链接:WebGL 着色器代码 (http://psousa.net/demos/webgl/) 我正在使用此示例并对其进行扩展。
【问题讨论】:
-
有理由不把它们画成 gl.LINES 吗?
-
gl.LINES 不会通过完成线条来向我展示一个完整的多边形,对吧? wheareaslinestrip 将 po,ygon 的起点与终点连接起来,以创建一个完整的多边形。冰川线条正在创建一个破碎的多边形。
-
那么你可能想看看这个stackoverflow.com/questions/6077002/…
-
我有我的经纬度点作为这种格式的数组数组:0:对象纬度:37.785434506304 经度:-122.4300784425 1:纬度对象:37.something 经度:-122.something 等等上
标签: javascript opengl-es webgl polygons