QGIS привязать опоры к линиям в SQL

Не знаете, где задать вопрос? Задавайте здесь.
Alex_mk
Интересующийся
Сообщения: 44
Зарегистрирован: 19 май 2014, 10:44
Репутация: 2

QGIS привязать опоры к линиям в SQL

Сообщение Alex_mk » 30 май 2014, 12:54

Добрый день.
У нас есть в БД таблица опор, где указаны их координаты и наименования. И таблица линий в БД, построенных по некоторым опорам из той таблицы. Опоры у нас по базе никак не привязаны к линиям в БД, то есть мы видим принадлежность опор к линии только визуально на карте. Встал вопрос о нахождении опор у соотвествующей линии.
Я полагаю, что нужно сделать в таблице опор поле ИД_линии, по которому они будут сопоставляться с таблицей линий для быстрой выборки необходимых, но данных много и как это сделать оптимальнее и быстрее, подскажите?
Сам работаю с этими данными недавно, по хорошему надо было изначально заносить данные таким образом.

trir
Гуру
Сообщения: 5355
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1021
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: QGIS привязать опоры к линиям в SQL

Сообщение trir » 30 май 2014, 13:27

Какая СУБД и не помешал бы пример данных
Я бы написал функцию которая искала столбы для линий используя Distance<0.1 и т. п.

Update: Почитайте, там есть функция "CreateTrkLine" - её можно адаптировать для ваших целей

Alex_mk
Интересующийся
Сообщения: 44
Зарегистрирован: 19 май 2014, 10:44
Репутация: 2

Re: QGIS привязать опоры к линиям в SQL

Сообщение Alex_mk » 02 июн 2014, 07:20

Я недавно работаю с ГИС и как писать функции и адаптировать ту, на которую вы мне дали ссылку пока не знаю. Посоветуйте что почитать для этого.

trir
Гуру
Сообщения: 5355
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1021
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: QGIS привязать опоры к линиям в SQL

Сообщение trir » 02 июн 2014, 07:27

Книжки по SQL, но тут важно - какая СУБД, потому что:
Процедурные расширения

Поскольку SQL не является привычным процедурным языком программирования (то есть не предоставляет средств для построения циклов, ветвлений и т. д.), вводимые разными производителями расширения касались в первую очередь процедурных расширений. Это хранимые процедуры (stored procedures) и процедурные языки-«надстройки». Практически в каждой СУБД применяется свой процедурный язык, в частности, в Oracle Database используется PL/SQL (поддерживается также в DB2 и Timesten[en]), в Interbase и Firebird — PSQL, в DB2 — SQL PL[en], в Microsoft SQL Server и Adaptive Server Enterprise — Transact-SQL, в PostgreSQL — PL/pgSQL.
http://ru.wikipedia.org/wiki/SQL

Boris
Гуру
Сообщения: 4231
Зарегистрирован: 10 апр 2006, 22:34
Репутация: -344969098
Откуда: Париж

Re: QGIS привязать опоры к линиям в SQL

Сообщение Boris » 08 июн 2014, 00:36

Ваша задача является стандартной задачей ГИС: поиск принадлежности по пространственной близости. Если эти слова вам ничего не говорят и вы не знаете как их приложить к вашей задаче, то начните с простого - сообщите нам какой инструментарий у вас уже есть и который вы в состоянии начать использовать.
Кроме того, одного поля может и не хватить, т.к. я не в состоянии угадать, какие именно у вас опоры, но я видел опоры "ветвления" - они принадлежат нескольким веткам. Так же в жизни видел и опоры разного напряжения, сверху одна линия, ниже - другая.

Alex_mk
Интересующийся
Сообщения: 44
Зарегистрирован: 19 май 2014, 10:44
Репутация: 2

Re: QGIS привязать опоры к линиям в SQL

Сообщение Alex_mk » 09 июл 2014, 13:07

Boris писал(а):Ваша задача является стандартной задачей ГИС: поиск принадлежности по пространственной близости. Если эти слова вам ничего не говорят и вы не знаете как их приложить к вашей задаче, то начните с простого - сообщите нам какой инструментарий у вас уже есть и который вы в состоянии начать использовать.
Кроме того, одного поля может и не хватить, т.к. я не в состоянии угадать, какие именно у вас опоры, но я видел опоры "ветвления" - они принадлежат нескольким веткам. Так же в жизни видел и опоры разного напряжения, сверху одна линия, ниже - другая.
Не понял какой инструментарий вы имеете ввиду, уточните, пожалуйста. Одного поля не хватит, вы правы, поэтому хочу сделать несколько полей, в которых будут указаны соответствующие ID линий если на одной опоре проходят несколько этих линий. Но для моей задачи нужно хотя бы привязать опору к одной линии , тем более что опор, через которые проходит одновременно несколько линий, немного.

Если писать функцию, которая будет искать ближайшие опоры у линии и привязывать их, то в каком направлении мне нужно двигаться, с чего начать?
Используется MySQL и QGIS, пример БД во вложении
Вложения
Пример БД.rar
Пример БД
(12.22 КБ) 236 скачиваний

lam
Гуру
Сообщения: 1018
Зарегистрирован: 01 авг 2012, 13:55
Репутация: 241

Re: QGIS привязать опоры к линиям в SQL

Сообщение lam » 09 июл 2014, 13:30

Александр Сергеевич, думаю данного примера БД не достаточно, чтобы попытаться решить вашу задачу. Не увидел в вашем примере координат для линий.

Alex_mk
Интересующийся
Сообщения: 44
Зарегистрирован: 19 май 2014, 10:44
Репутация: 2

Re: QGIS привязать опоры к линиям в SQL

Сообщение Alex_mk » 09 июл 2014, 13:54

lam писал(а):Александр Сергеевич, думаю данного примера БД не достаточно, чтобы попытаться решить вашу задачу. Не увидел в вашем примере координат для линий.
Скопировал из QGIS другие данные
Вложения
Пример БД.rar
(8.11 КБ) 273 скачивания

lam
Гуру
Сообщения: 1018
Зарегистрирован: 01 авг 2012, 13:55
Репутация: 241

Re: QGIS привязать опоры к линиям в SQL

Сообщение lam » 09 июл 2014, 14:00

Выложите фрагмент шейп-слоев опор и линий в том месте, где несколько линий проходят через одну опору.

Alex_mk
Интересующийся
Сообщения: 44
Зарегистрирован: 19 май 2014, 10:44
Репутация: 2

Re: QGIS привязать опоры к линиям в SQL

Сообщение Alex_mk » 09 июл 2014, 14:23

lam писал(а):Выложите фрагмент шейп-слоев опор и линий в том месте, где несколько линий проходят через одну опору.
Архив во вложении
Вложения
Пример.rar
(3.91 КБ) 270 скачиваний

lam
Гуру
Сообщения: 1018
Зарегистрирован: 01 авг 2012, 13:55
Репутация: 241

Re: QGIS привязать опоры к линиям в SQL

Сообщение lam » 09 июл 2014, 14:33

Линии строились по этим точкам опор, если да, то почему узлы не совпадают (см.вложение)?
Вложения
p1.jpg
p1.jpg (10.45 КБ) 9458 просмотров

Alex_mk
Интересующийся
Сообщения: 44
Зарегистрирован: 19 май 2014, 10:44
Репутация: 2

Re: QGIS привязать опоры к линиям в SQL

Сообщение Alex_mk » 09 июл 2014, 14:42

Точки не совпадают, т.к. потом вручную они перемещались, но этим уже не я занимался.

lam
Гуру
Сообщения: 1018
Зарегистрирован: 01 авг 2012, 13:55
Репутация: 241

Re: QGIS привязать опоры к линиям в SQL

Сообщение lam » 09 июл 2014, 14:58

Я бы присвоил названия опорам по принципу ближайшего расположения линии к опоре.

Alex_mk
Интересующийся
Сообщения: 44
Зарегистрирован: 19 май 2014, 10:44
Репутация: 2

Re: QGIS привязать опоры к линиям в SQL

Сообщение Alex_mk » 09 июл 2014, 14:59

lam писал(а):Я бы присвоил названия опорам по принципу ближайшего расположения линии к опоре.
я бы тоже, но вбивать ручками больше 100 тысяч опор не хочется

lam
Гуру
Сообщения: 1018
Зарегистрирован: 01 авг 2012, 13:55
Репутация: 241

Re: QGIS привязать опоры к линиям в SQL

Сообщение lam » 09 июл 2014, 15:05

Alex_mk писал(а):
lam писал(а):Я бы присвоил названия опорам по принципу ближайшего расположения линии к опоре.
я бы тоже, но вбивать ручками больше 100 тысяч опор не хочется
зачем же ручками, инструмент Spatial Join в ArcGis, например.

Ответить

Вернуться в «Я новичок!»

Кто сейчас на конференции

Сейчас этот форум просматривают: Ahrefs [Bot] и 3 гостя