Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Найти геолокацию с интервалом 1 км в радиусе 10 км от определенной геолокации, Power Query, VBA, формулы
 
Добрый день! Подскажите как получить список географических точек с разницей в километр вокруг нужной точки.
Я написал - "в радиусе 10 км от". Немного не так, можно как на скрине типа квадратной площади.
В файле исходная геолокация и параметр, км(10, на сколько отходить от исходной, получается 9 точек слева, справа, сверху, снизу.)
Может  возможно как то сгруппировать точки(получится две колонки). То есть, то что западнее и севернее - А, то что восточнее и севернее - Б, то что западнее и южнее - С, то что восточнее и южнее - Д. Но группировку можно и отпустить)
1.png (228.8 КБ)
Изменено: Михаил Л - 20 сен 2020 14:35:39
 
не гарантирую правоту, но
=TEXT((SUBSTITUTE(LEFT($B$2;9);".";",")+(INT((ROW(A1)-1)/$B$4/2)-$B$4)*0,111)*10^6;"00\.000000,\ ")&TEXT((SUBSTITUTE(RIGHT($B$2;9);".";",")+(MOD((ROW(A1)-1);$B$4*2)-$B$4)*0,111*COS(RADIANS(SUBSTITUTE(LEFT($B$2;9);".";","))))*10^6;"00\.000000")

1 градус по долготе = 111м  по широте 111*cos(долготы)

а вот если надо реально расположить по окружностям, то  совершенно иначе
Изменено: БМВ - 16 сен 2020 07:11:52
По вопросам из тем форума, личку не читаю.
 
Цитата
БМВ написал:
1 градус по долготе = 111м  по широте 111*cos(долготы)
Привет, Михаил.
Это серьёзно? Меридианы, они же долготы, сходятся на полюсах в одной точке. Тогда какое расстояние будет по долготе на полюсе?
 
Цитата
Андрей VG написал:
Это серьёзно?
утро раннее , кот паразит поднял, но не разбудил  
Цитата
БМВ написал:
не гарантирую правоту,
:D
По вопросам из тем форума, личку не читаю.
 
Цитата
БМВ написал:
но не разбудил
Спасибо
Жду еще варианты. Может чего не хватает?
Изменено: Михаил Л - 20 сен 2020 14:35:13
 
Как бы я сделал если б мог)
От исходной точки нашел бы к западу точку 2 в десяти километрах, далее от точки 2 нашел бы точку в десяти км на север. Нашелся бы левый верхний угол. И оттуда, если б мог, с аккумулировал 20 точек вправо, а затем от всех точек верхнего ряда вниз на двадцать км. Но это на словах так.  
 
Цитата
Михаил Л написал:
Может чего не хватает?
не этого, случайно?
Цитата
Михаил Л написал:
список географических точек с разницей в километр вокруг нужной точки.
 
Цитата
Андрей VG написал:
не этого, случайно? Список географических точек
Ну это мне не хватает и это я хочу находить от изначальной точки.
Может я задачу не так описал.
Другими словами мне нужна сетка с интервалом в один км  с исходной точкой в центре. Разлет от исходной точки в десять км.
Как то так могу описать. Известна только исходная точка
 
Так а расстояния как измеряем? Сетку считаем плоской? Или работаем на сфере? Во втором случае как берем километр в районе полюса
Каждому For свой Next
 
Цитата
buchlotnik написал:
Во втором случае как берем километр в районе полюса
Привет, Михаил.
Судя по уже не первой картинке, парень - Питерский, возможно даже выпускник два три девять :)  Поэтому можно считать Землю в пределах Питера - плоской (можно даже в пределах ленобласти). И идти путём медведя, представив, что кот его разбудил.
 
Цитата
buchlotnik написал:
Cетку считаем плоской? Или работаем на сфере?
В этом случае устроит и плоская сетка. Я понимаю что чем ближе от экватора к полюсам тем искаженнее сетка будет.
Может можно и поправочный коэффициент придумать. Долготу, в зависимости от нахождения широты, умножать на соответствующий коэффициент.
Мне сейчас подходит и плоская сетка.
Для чего мне это? Мне нужны разные(можно сказать, произвольные) точки города, а у меня нет их. Но есть координаты города. Вот я и думаю, как мне нарожать эти точки
 
сам не преобразовываю, есть программы:)
Смотрите в этом направлении
Порядок пересчета координат в проекцию Гаусса-Крюгера

ГОСТ 32453-2013

PS
Между прочим эти вещи раньше держались в секретках:)
 
Цитата
Андрей VG написал:
парень - Питерский, возможно даже выпускник два три девять
Почему - парень, а не дядка? :)
Почему - Питерский, а не..? :)  Понятно почему, по скринам :)
Почему - из Президентского 239 ? :)
А так то мне за сорок, второе пропускаем, я не из 239 (другие мысли были бы, на других форумах обитал бы)  
 
Цитата
Михаил Л написал:
А так то мне за сорок
и
Цитата
Михаил Л написал:
Верите - нет, но я в этом году 11 класс закончил)
снова в гриме :D
Чур меня, больше в ваши темы не ходок.
 
Экватор 40075,696км. Длина одного градуса - разделить на 360. Далее на косинус широты Питера (59,939095град). В итоге получается  55,7631375176543.
Меридиан 20004,274км (это я так понял от полюса до полюса, т.е. 180град). Длина одного градуса - разделить на 180. В итоге получается  111,134855555556.

Далее - пропорциями получаем для 10 км:
по широте - 0,179329938112504 градуса (градус, после запятой - его десятичная часть, а не минуты)
по долготе - 0,089980771109214 градуса (десятичная координата, после запятой - его десятичная часть, а не минуты)

Вот эти значения прибавляйте-вычитайте к исходной координате нужное кол-во раз и получайте точки сетки.

Сбили меня с толку рассуждения про 10 км. Для 1 км еще на 10 разделите...
Изменено: PerfectVam - 16 сен 2020 20:31:30
Следствие из третьего закона Чизхолма:
"Даже если ясность изложения исключает неверное толкование, все равно найдется кто-то, кто поймет Вас неправильно."
 
Цитата
Андрей VG написал:
Чур меня, больше в ваши темы не ходок.
Дослушайте, а потом делайте выводы

Все верно, в прошлом году закончил 9 класс, а в этом году - 11 класс. Заканчивал по системе Экстернат. На два года в общей сложности ушло около месяца, по 13 экзаменов на каждый год.
Если б я знал бы что для прохождения обучения потребуется всего месяц экзаменов, то я бы в свое время и восьмой и седьмой класс не заканчивал бы - оставил бы на систему Экстернат :)  
 
DrillPipe, спасибо. По ссылкам вникать много времени надо, а голова сейчас другими рабочими задачами занята. Потом внимательно прочитаю
PerfectVam, спасибо.  По моему, много времени для допила под тему не надо. Скорее всего, решу вашим вариантом
 
Цитата
Михаил Л написал:
Скорее всего, решу вашим вариантом
чем он отличается от моего?
По вопросам из тем форума, личку не читаю.
 
Цитата
БМВ написал:
чем он отличается от моего?
Не сличал. Но верхняя левая точка вышла такая. И на карте видно что вместо квадрата получится прямоугольник, вытянутый с юга на запад
60.118424938,30.225887229
 
Михаил Л,
как-то так
Принцип расчета из географических координат в зональную систему прямоугольных координат Гаусса и обратно
Можно сделать кастомную функцию в VBA - что бы вводить координату точки начала + смещение по Х - У (в метрах) + флаг вывода (например только широту, долготу или объединенную) или можно создать функции в PQ,а  в таблице создать список смещений относительно исходной координаты и выводить результат

Но не когда этим заниматься, может на выходных.

Вот скрин для точки начала (59.939095, 30.315868)  и смещения на 10 000 м по оси Х


ЗЫ
А то что расстягиваются так все верно - посмотрите на геодезические карты:)
https://gigabaza.ru/images/81/160148/8e3b9a0a.jpg
 
DrillPipe, очень серьезная работа :D  Не думал я что для того чтоб по моей задумке найти левую верхнюю точку нужно произвести столько вычислений.
Большое спасибо! Ложу себе в копилку.
Цитата
Андрей VG написал:
Не этого, случайно? Список географических точек с разницей
Вот теперь то, когда есть, благодаря DrillPipe,  возможность получить точки условного квадрата, получится в PQ саккумулировать или сгенерировать точки внутри этого квадрата?
Я не смогу сделать, в гриме я или без
Код
60.024979, 30.129452
60.032281, 30.487784
59.852941, 30.501321
59.845691, 30.144915
 
DrillPipe, а какой смысл для площадки 20 на 20 км в таких преобразованиях? И уж если считать через прямоугольные, то тогда лучше переходить в местную СК с центральным меридианом в центральной точке.
Метод Михаила с поправкой на кота :)  Ошибка всего 7 метров - чего собственно больше?
calcDist.png (28.27 КБ)
Изменено: Андрей VG - 18 сен 2020 09:11:31 (Коряво приведение радиуса к широте опрелелил)
 
Андрей VG,
Согласен что ни каких. Но стало интересно:)
 
Цитата
DrillPipe написал:
Но стало интересно:)
интересно что?
 
Цитата
DrillPipe написал:
Принцип расчета из географических координат в зональную систему прямоугольных координат Гаусса и обратно
Большое спасибо!
Получилось круто!
Изменено: Михаил Л - 20 сен 2020 14:33:53
Страницы: 1
Читают тему (гостей: 1)
Наверх