gpt4 book ai didi

javascript - 使用 OpenLayers 和 GeoJSON 创建锥形线

转载 作者:行者123 更新时间:2023-11-28 06:27:16 24 4
gpt4 key购买 nike

我尝试通过以下步骤创建离线 map :

  • 从 Natural Earth Data 下载数据
  • 将形状文件转换为 GeoJSON
  • 将 GeoJSON 文件添加为 OpenLayers3 中的图层

我正在努力让河流正确,我可以显示它们,但只能显示为具有固定宽度的线。但是,当查看我从 Natural Earth Data 创建的文件时我发现实际上有很多短线,并且每条线都有指定的宽度(Strokeweig)。请参阅下面的片段以获取说明。

{
"type": "FeatureCollection",

"features": [
{ "type": "Feature", "properties": { "strokeweig": 0.20000000300000001, "scalerank": 5, "featurecla": "River", "name": null, "dissolve": "River_untitled_77", "note": "_untitled_77" }, "geometry": { "type": "LineString", "coordinates": [ [ -72.991327277300684, 46.177440090512803 ], [ -73.078557095009359, 46.160128485695026 ], [ -73.146304897744017, 46.123541571632373 ], [ -73.177181566038399, 46.070624904965499 ], [ -73.163952399371681, 46.044166571632061 ] ] } },
{ "type": "Feature", "properties": { "strokeweig": 0.149999991, "scalerank": 5, "featurecla": "River", "name": "Ebro", "dissolve": "RiverEbro", "note": null }, "geometry": { "type": "LineString", "coordinates": [ [ -4.188860236009816, 43.011173407557422 ], [ -4.10225053548865, 43.001484076502706 ], [ -4.054759894212424, 42.952520656906145 ], [ -4.017449510097691, 42.861053371749534 ], [ -3.96267249186829, 42.825034898442098 ], [ -3.890377163091955, 42.844413560551544 ], [ -3.821957566737524, 42.841855577153098 ], [ -3.757387864588821, 42.81728343359832 ], [ -3.70925126790894, 42.832631333988999 ], [ -3.677521938481732, 42.887899278325165 ], [ -3.626775681971111, 42.89800202083822 ], [ -3.52213090658006, 42.845447089197393 ] ] } },
....
]

所以,我的问题有两个:

  1. 首先如何使用此类数据来显示具有特征数组项的 tripweig 属性中指定宽度的线条?
  2. 放大和缩小时如何处理该值?

谢谢,亨德里克

最佳答案

  1. 您可以在此处找到示例 http://openlayersbook.github.io/ch06-styling-vector-layers/example-07.html这非常接近您的需求。

  2. 没有内置解决方案。我可以想象至少两种方法:不是为整个河流特征集合创建一层,而是为每个“scalerank”创建一层,并相应地设置它们的最小/最大分辨率。否则,您可以监听MapView的change:resolution事件,并相应地添加/删除或显示/隐藏功能。

关于javascript - 使用 OpenLayers 和 GeoJSON 创建锥形线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35014583/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com