Я очень простой пользователь и не знаю, как найти язык, чтобы понять суть моего вопроса, поэтому некоторые сведения могут помочь.
Я вызвался создать систему планирования до инцидента для моей сельской пожарной охраны. Нашей основной уязвимостью являются чрезвычайно длинные не нанесенные на карту дороги.
До сих пор я успешно передавал данные GPS проездов по аэрофотосъемке района в виде ярко-зеленых линий (слой .SHP) с меткой, показывающей длину каждой проезжей части. Это выглядит великолепно и очень полезно как есть.
Теперь вопрос : я хочу нарисовать векторные линии проезжей части в виде штрихов или маркеров с длиной 100 футов. Наши шланги поставляются длиной в 100 футов; Векторная линия, определенная маркерами с интервалом в 100 футов, сэкономила бы мне много времени и значительно улучшила бы данные.
До сих пор я пробовал «Единый символ» как «Простую линию», используя настроенный штрих-рисунок, и «Маркерную линию», используя интервальное размещение. Ни один из этих параметров не поддерживает правильную длину при масштабировании или «масштабировании» (если это термин).
Возможно, это невозможно? (по крайней мере, на моем уровне знаний. Я научился этому далеко, и у меня не так много времени дурачиться :))
Ответы:
Поскольку в QGIS также есть Simple и Marker Line, я отвечу с точки зрения QGIS. Как сказал Стивен, использование линий маркеров на самом деле не даст вам того, что вам нужно, хотя это сделало бы хороший запрос функций, который я только что открыл .
Лучше всего делать ставки на данный момент, чтобы заработать очки вдоль линии. Я обрисовал в общих чертах, как вы можете сделать это в QGIS в моем блоге в разделе Создание узлов цепей (расстояний) в QGIS.
К счастью, один из ребят из проекта взял мою логику и превратил ее в плагин на https://github.com/mach0/qchainage .
Чтобы установить плагин
{yourusername}\.qgis\python\plugins\
. Теперь у вас должна бытьqchainage-master
папка в папке плагинов.QChainage
в менеджере плагиновPlugins->QChainage->Create Chainage
Заполните варианты
Я использую 10 метров здесь. Расстояние в единицах карты.
Нажмите ОК
Прибыль ...
Это создаст новый точечный слой в памяти, если вы хотите сохранить его. Щелкните правой кнопкой мыши новый точечный слой и выберите
Save As...
источник
Добро пожаловать на сайт. Поскольку вы упомянули Simple Line и Marker Line, я собираюсь предположить, что вы используете ArcMap.
Я не уверен, позволяет ли какой-либо из методов символизации линии указать расстояние, которое будет поддерживаться при увеличении / уменьшении масштаба.
Обходной путь может заключаться в создании отдельного точечного слоя и размещении точки каждые 100 футов. См. Файл справки в разделе « Создание новых точек вдоль линии» для получения инструкций о том, как это сделать. Это может позволить вам быстро подсчитать точки вдоль линии, чтобы узнать, сколько времени прошло.
Обратите внимание, что этот метод не является «живым», поэтому вам нужно будет заново создать точки, если какая-либо из линий изменилась.
источник
Единственное, что плагин в настоящее время работает только в master ... потому что он использует функцию, не предусмотренную в текущем стабильном выпуске 1.8 .. Поэтому вы должны использовать предоставленный ночной код (вероятно, параллельно с вашей существующей стабильной установкой). Обычно Я бы сказал, что мастер так же стабилен, как и «стабильный 1.8» - но в процессе подготовки мастера к релизу 2.0 идет большая реструктуризация, так что вы можете столкнуться с некоторыми проблемами. Извините за это - но QGIS продолжается прогресс :)
Как только появится 2.0, будет много новостей.
Натан - спасибо за алгоритм и за распространение "не сейчас" выпущенного плагина - я думаю, пришло время отправить его в официальный репозиторий ..
источник