@pgsql

Страница 243 из 1062
Darafei
15.02.2017
18:02:21
Максимум в меркатор перепроецировать, чтобы высота с шириной на экране бились

u.point::geography

Dmitrii
15.02.2017
18:12:00
Спасибо, вроде прокатило

?

Google
Dmitrii
15.02.2017
18:45:33
Меркатор по горизонтали не правильно работает почему то )

Будем копать дальше короче ?

Darafei
15.02.2017
18:50:00
В смысле неправильно работает?

Какой именно меркатор?

В кугисе глазами посмотри

Dmitrii
15.02.2017
18:51:21
Ну чел мне там говорит что по вертикали ок все сходится а вот по горизонтали расходится

Артур
15.02.2017
18:51:55
Vadim
15.02.2017
18:52:39
Чего такое кугис
http://www.qgis.org/ru/site/

Dmitrii
15.02.2017
18:52:58
Веди чела сюда
Да, надо походу )

Darafei
15.02.2017
19:38:48
Привет, Денис

Denis
15.02.2017
19:39:36
Привет

Google
Darafei
15.02.2017
19:40:04
В меня вкололи обезболивающего на ночь, так что я скоро пойду спать :)

Где что в меркаторе не работает?

В каком именно, для начала?

Denis
15.02.2017
19:48:31
PostGIS srid 3785 показывает неверное расстояние по горизонтали

Darafei
15.02.2017
19:49:09
На cos(lat) корректировал?

Denis
15.02.2017
19:50:01
st_transform(st_setsrid(st_point(А), 4326), 3785) <-> st_transform(st_setsrid(st_point(Б), 4326), 3785) Очень сильно не равно st_distancespheroid(st_point(А), st_point(Б), 'SPHEROID["WGS 84",6378137,298.257223563]'),

Darafei
15.02.2017
19:50:06
Во-первых SRID 3785 отозван из-за ошибки в дефинишене, он нынче 3857

Denis
15.02.2017
19:50:48
Да, я уже накопал что он депрекейтед

Darafei
15.02.2017
19:51:37
Во-вторых, меркатор вносит нелинейное искажение, которое на коротких расстояниях можно поправить умножением на cos(lat)

Обычно его и править не надо, оно вполне по нему неплохо сортируется для knn

Denis
15.02.2017
19:52:47
умножать надо расстояние полученное?

Darafei
15.02.2017
19:52:59
Да

Denis
15.02.2017
19:53:11
В этом случае индекс не пойдет

Darafei
15.02.2017
19:53:34
Тогда какую задачу ты решаешь?

Denis
15.02.2017
19:53:42
Потому что точки а и б в разных таблицах

Darafei
15.02.2017
19:54:55
Пахнет как knn

Denis
15.02.2017
19:54:59
Упрощенно нужно найти точку из одной таблицы, которая ближе всех к точке из другой. Точнее даже несколько ближайших

Darafei
15.02.2017
19:55:16
Расстояние цифрой надо?

Какого порядка расстояния?

Denis
15.02.2017
19:56:18
расстояния порядка километров-десятков километров

Google
Denis
15.02.2017
19:56:59
По расстоянию нужно сортировать и делать это по индексу

Darafei
15.02.2017
19:57:07
Юзай стрелку и не загоняйся

Denis
15.02.2017
19:57:31
Погрешность +/- 50% не воодушевляет

В базе постгиса 5к разных проекций

Darafei
15.02.2017
19:57:52
Погрешность?

Она не погрешность, она прогнозируемое искажение

Denis
15.02.2017
19:58:53
Ну точнее можно так сказать. Но я не могу просто так скорректировать искажение

Darafei
15.02.2017
19:59:08
Тебе не надо его корректировать

У тебя есть расстояние в юнитах

Denis
15.02.2017
19:59:34
искажение зависит от направления

Darafei
15.02.2017
19:59:37
Забудь про метры, их нет, когда надо быстро

Denis
15.02.2017
20:00:10
Я тут кое-что накопал

Evgeniy
15.02.2017
20:00:45
в чем проблема получить knn в попугаях и показать реальное расстояние для них дорогой функцией?

и где врут здесь http://postgis.net/docs/geometry_distance_knn.html

Darafei
15.02.2017
20:01:25
Это надо делать после сортировки и лимита

Denis
15.02.2017
20:01:50
Что такое knn?

Evgeniy
15.02.2017
20:02:03
ближайшие соседи

Darafei
15.02.2017
20:03:33
и где врут здесь http://postgis.net/docs/geometry_distance_knn.html
Была кучка багов в географи-кнн, а так теоретически должно работать

Denis
15.02.2017
20:04:16
Если делать трансформ с lat_ts = широта то в принципе получается приемлимая точность

Google
Denis
15.02.2017
20:05:00
Только не врублюсь какую проекцию брать?

http://proj4.org/projections/index.html

Darafei
15.02.2017
20:05:50
Тебе туда не надо

Тебе надо найти в интернете картинку про то, что такое проекция меркатора и помедитировать на неё

После чего взять 3857 и сортировать по нему :)

3857 - это суть экранные пиксели гуглмапса

Есть ещё большое подозрение, что у тебя lon и lat перепутаны

Именно для этого нужно смотреть глазами в qgis :)

Denis
15.02.2017
20:18:35
были перепутаны, исправил

Прорыва не получилось

Darafei
15.02.2017
20:19:51
Покажь

Denis
15.02.2017
20:26:39
SELECT st_transform(st_setsrid(st_point(37.501735, 55.443835), 4326), '+proj=hammer') <-> st_transform(st_setsrid(st_point(37.193101, 55.751178), 4326), '+proj=hammer') - пока добился этого

На требуемых данных и в принципе далеко за их пределами искажения в пределах 25%

Dmitrii
15.02.2017
20:28:15
Первый геопоинт в Иране. За вами уже выехали ?

Darafei
15.02.2017
20:28:28
Москва ж

Denis
15.02.2017
20:28:37
тут координаты наоборот

Dmitrii
15.02.2017
20:29:11
А )

Darafei
15.02.2017
20:29:50
Теперь сделай в 3857 и умножь на cosd(55.5)

Denis
15.02.2017
20:29:57
Кажется тут отклонение растет при приближении направления к диагонали)

Dmitrii
15.02.2017
20:30:43
Теперь сделай в 3857 и умножь на cosd(55.5)
Откуда у тебя столько экспы гео данными?

Google
Darafei
15.02.2017
20:31:36
Это мой хлеб :)

Постгрес так, побочное

Для чтения на досуге https://github.com/gojuno/lostgis/blob/master/sql/functions/ST_Fast_Real_Length.sql

А я пошёл отходить от операции дальше

Denis
15.02.2017
20:35:51
умножил, получилось true

Но про индексы можно забыть

Darafei
15.02.2017
20:36:34
Так умножать только для визуализации надо

Впрочем, что-то я делаю не так

Я перепишу этот запрос, чтобы он работал быстро, всего за $999.99

:)

Доброй ночи

Alexey
15.02.2017
20:38:43
Сделаю быстрее и качественнее за всего за €950!

Dmitrii
15.02.2017
20:38:52
Над маркетингом стоит еще поработать )

Но про индексы можно забыть
Так а там индекс по выражению не сделать?

Lev
15.02.2017
20:39:50
SELECT st_setsrid(st_point(37.501735, 55.443835), 4326)::geography <-> st_setsrid(st_point(37.193101, 55.751178), 4326)::geography;

Denis
15.02.2017
20:40:41
Мне не столь визуализщация нужна, сколько не должна система выводить вверх тех кто от заданной точки в два раза дальше

У меня же сортировка по этому выражению

Lev
15.02.2017
20:42:31
cosd искажает только по одной координате. В общем случае dist не понятно по какой

Darafei
15.02.2017
20:43:38
Это тупое домножение на константу

Оно не влияет на сортировку

Страница 243 из 1062