如何使用矢量线的破折号或标记表示距离?


14

我是一个非常基本的用户,并且不了解要问我的要点的术语,因此一些背景知识可能会有所帮助。

Ive自愿为我的农村消防部门创建事前计划系统。我们的主要漏洞是非常长的未映射车道。

到目前为止,Ive已成功地通过该区域的航拍照片以亮绿色的线(.SHP层)将行车道的GPS数据传输到了行车道上,并在标签上显示了每个行车道的长度。它看起来很棒,并且非常有用。

现在的问题是:我想将车道矢量线绘制为虚线或设置为100英尺长的标记。我们的供应管线软管长度为100英尺。用100英尺间隔的标记定义的矢量线将为我节省大量时间,并极大地改善了数据。

到目前为止,我已经尝试使用自定义的破折号模式将“单一符号”作为“简单线”,并使用间隔位置将“标记线”尝试为“标记线”。这些选项在缩放或“缩放”时均不能保持适当的长度(如果是术语的话)。

也许是不可能的?(至少在我的知识水平上。我到目前为止已经自学了,没有更多时间闲逛:))


4
欢迎光临本站!快速提问:您使用哪种软件进行此映射?ArcGIS(和哪个版本)?QGIS?Mapinfo?根据您使用的内容,有几种不同的方法可以执行此操作。
om_henners 2013年

2
如果您在QGIS中工作,我刚刚为您打开了这个中心hub.qgis.org/issues/6953
Nathan W

Answers:


8

由于QGIS还具有简单标记线,因此我将从QGIS的角度进行回答。就像斯蒂芬说的那样,使用标记线并不能真正满足您的需要-尽管这会提出很好的功能要求-我刚刚打开了

您现在最好下注以沿线生成点。我已经在我的博客的QGIS中概述了如何在QGIS中执行此操作,该操作在QGIS中生成桩号(距离)节点。

幸运的是,该项目的一位成员采纳了我的逻辑,并将其放入https://github.com/mach0/qchainage的插件中。

安装插件

  • 单击https://github.com/mach0/qchainage上的ZIP按钮或点击此链接
  • 将zip文件解压缩到中{yourusername}\.qgis\python\plugins\。现在qchainage-master,您的plugins文件夹中应该有一个 文件夹。
  • 打开QGIS并QChainage在插件管理器中启用
  • 打开线层
  • 选择菜单项 Plugins->QChainage->Create Chainage
  • 填写选项

    qchainage选项

    我在这里用10米。距离以地图单位为单位。

  • 点击确定

  • 利润...

    结果

如果您想将其保存,将在内存中创建一个新的点层。右键单击新的点层并选择Save As...


感谢内森的帮助。经过一番徒劳的尝试安装插件后,我从mach0 ..读取以下帖子::)我应该发布我的软件版本,并提出以下问题:QGIS 1.7.3-Wroclaw反对代码修订00624b3。
鲍勃·米切尔

6

欢迎来到该网站。既然您提到了简单线和标记线,我将假设您正在使用ArcMap。

我不确定是否有任何线符号化方法可让您指定在放大/缩小时将保持的距离。

一种解决方法是创建一个单独的点图层,并每100英尺放置一个点。有关如何执行此操作的说明,请参见在线创建新点下的帮助文件。这可以让您快速计算一条线上的点数,以知道多久了。

请注意,此方法不是“实时”的,因此,如果更改了任何行,则需要重新创建点。


谢谢斯蒂芬,这就是我要避免的事情。
鲍勃·米切尔

@BobMitchell如果最终使用了这种方法,则可以使用Python编写脚本,以便在基础数据发生更改时非常轻松地重新创建点
Stephen Lead

1

唯一的问题是,该插件当前仅在master中工作。因为它使用的是当前稳定版本1.8中未提供的功能。因此,您必须使用所提供的每晚代码(可能与您现有的稳定安装并行)。我想说master像“ stable 1.8”一样稳定-但是要为2.0版本准备master会进行大量的重组-所以您可能会遇到一些问题..抱歉-QGIS仍在进行中进度:)

一旦有2.0版本,就会有很多新闻可用。

内森(Nathan)-感谢算法和传播“现在不发布”的插件-我认为是时候将其推送到官方资料库了。


2
您确实应该将此添加为我的问题的评论。快速阅读常见问题解答gis.stackexchange.com/faq
Nathan W,
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.