У меня есть векторный план этажа (DXF), который я добавил в пустой проект в QGIS с помощью плагина Dxf2Shp.
Я читал учебные пособия и темы StackExchange, но я не могу понять, как "привязать" мой слой?
Я предполагаю, что могу как-то выбрать углы здания и установить широту / долготу.
Моя цель - экспортировать шейп- файл, который я могу использовать с TileMill и TileStache .
Я понял, что координаты проекта на самом деле были координатами широта / долгота:
и мне нужно использовать плагин «Affine (Вращение, Перевод, Масштаб)» для «размещения» моего чертежа САПР.
Ответы:
Использование OpenJump для вычисления параметров аффинного преобразования дает:
Эти параметры при правильном применении должны преобразовать ваш шейп-файл из локального CRS, который он использует, в WGS84 / UTM Zone 17 North (EPSG: 32617). В QGIS преобразованные данные затем могут быть экспортированы («сохранены как») в любой требуемый CRS; Google Mercator или lat / lon, например.
Плохая новость заключается в том, что мне никогда не удавалось успешно использовать аффинный плагин QGIS для преобразований, включающих ротацию. По некоторым данным, это работает для других людей, но не для меня, поэтому, должно быть, я что-то не так делаю. Если бы кто-нибудь мог сказать мне, что это, я был бы благодарен.
Была нить здесь на аффинаж векторов , которые хорошо стоят читать. Метод, который я использую для связывания векторов, объясняется здесь внизу первой страницы.
Если вы действительно застряли, вы можете опубликовать ссылку на шейп-файл, и мы все сможем его преобразовать.
Запоздалая мысль Если вы решите попробовать метод OpenJump, вам понадобятся координаты WGS84 / UTM Zone 17 North (EPSG: 32617) для точек широты и долготы:
источник
Сначала вам необходимо спроецировать ваши географические координаты в декартову 2D систему координат, поскольку аффинные преобразования не применяются к географическим системам координат.
Вы можете применить аффинное преобразование из контрольных точек или из параметров преобразования. Плагин QGIS запрашивает у вас параметры преобразования, но для пользователя гораздо чаще иметь контрольные точки.
Из контрольных точек вы можете рассчитать параметры преобразования. Для аффинного преобразования есть 6 параметров преобразования, поэтому вам нужно как минимум 3 контрольные точки (каждая контрольная точка подразумевает 4 координаты: Xsource, Ysource, Xtarget, Ytarget), но рекомендуется, чтобы большее количество контрольных точек имело избыточность и, следовательно, могло применяться Наименьшие квадраты, которые дадут вам оценку качества трансформации. Помните, что аффинные преобразования могут вращать, сдвигать, масштабировать (даже применяя различные факторы к каждой оси) и наклонять геометрию.
Контрольные точки должны иметь форму:
Параметры:
И мы знаем:
Итак, вам необходимо решить эту систему уравнений (для 3 контрольных точек):
Где параметры a, b, c, d, e и f неизвестны.
Как только вы вычислите параметры a, b, c, d, e и f (например, с помощью этого интерактивного решателя уравнений ), поместите их в интерфейс плагина QGIS следующим образом:
или:
Я думаю, что это решает ваши два вопроса.
источник