![]() |
геодезисты есть?) вопрос стар как мир, но тем не менее, везде где ни задам - срач.. попробую тут.. Нужно из геодезических координат перевести в прямоугольные в проекции на плоскость, да так, чтобы точность быда сантиметровая. То есть если отбить точки, спроецировать в метровую плоскую систему, рассчитать расстояние между точками и далее измерить его по факту рулеткой - они должны совпасть. Чуть более чем полностью. Расстояния - до 10 км. Система wgs84, координаты на входе например dd.ffffffff. Пока реализовал перевод в UTM, но походу точность будет страдать - видно и без измерений.. Но то как бы еще не все. Например, на базе двух "переведенных" точек нужно вычислить и поставить третью. По углу и расстоянию. Классическая геометрия. И потом все три точки.. восстановить в геодезические координаты, с минимальными потерями (опять же сантиметровая/дециметровая точность). Решение не нужно, нужно указать в какую из стандартных систем проекция будет осуществляться с минимальными потерями учитывая задачи. И обратно) Спасибо! |
Фанат NASCAR - я хоть и не геодезист, но в UTM переводить в РФ категорически нельзя! UTM использует свой датум (т.е. модель геоида, параметры преобразования), и будучи порождением капитализма - она плохо учитывает наши российские особенности. Погрешности на 1/6 части Земли могут достигать 35-42 м. В РФ надо переводить в Пулково 1942 (эллипсоид Красовского), в которой составлены все бумажные топокарты. Параметры пересчета указаны в ГОСТе, но стратегические ракетчики/артиллеристы используют свой датум, 63-го года, правда он засекречен :-)) Дома есть мои функции для Excel/VBA/OpenOffice/StarBasic - могу вечером выложить на народ, и файлик, который все сам считает. |
То есть поясню проще - реальная Земля - картофелина, причем РФ - конкретное пятно на той части Земли, где есть нехилая "впуклость" жидкого железного ядра из-за смещения центра масс, поэтому литосфера на нем утоплена, относительно WGS84. Чтобы наиболее точно описать территорию РФ - придумали другую модель - Красовского. Она моделирует "впуклость" точнее, а в америке она врет безбожно. Кстати, для прохождения волн/радиосигналов/полета ракет - в таких расчетах применяют еще пару коэффициентов, один из них - ускорение свободного падения, которое подписано двузначными цифрами на ГШ 1:50000 и крупнее... |
Мужики, вы мне крышу сорвали! Пишите ещë! |
Да, субсантиметровая точность выдается только сурьезными приборами типа GPS-тахеометров Trimble, с ценником 150 тыс. руб. и выше. А для вычисления расстояний по GPS-координатам важно понимать, что они арифметически вычисляются по поверхности геоида, на нулевой высоте. Длина 10-км дуги на высоте 5 км (столица Тибета - г. Лхаса) - будет на 300 м длиннее, чем определенная расчетным путем. А если между точками A и B есть еще и перепад высот - то расстояние будет больше на величину, на которую гипотенуза прямого видения больше наземного катета, т.е. между двумя точками с высотой 0 и 5000 м, при отстоянии друг на друга на 10 км - к расстоянию 10 км прибавится SQRT(5000^2+10000^2)-10000 = 11180-10000=1180 метров. Плюс еще рельеф может быть с перепадами, а радиосигнал с интерференцией, дифракцией, переотражением и доплеровским эффектом, если передатчик движется... В общем, с рулеткой надо поосторожнее. |
>В РФ надо переводить в Пулково 1942 ( это называется ск-42, кроме того есть ск-95 она есть в госте, и есть еще какято ПЗ-90.02 тоже в госте (ГОСТ 51794-2008, только будь внимателен хорошие люди из госта выложили его в порнушном качестве отчего он нечитабаелен) вот если зада состоит в том что надо поставить третью точку _относительно_ двух других и вернут ьвсе обратно - то используй любую понравившуются систему координат (ту в которую можно перевести с меньшим гимором), только учти что тут тебе важнее проекция, про что ты и спрашивал, а все затейливее, емнип для карт с хорошим масштабои используется [url]http://en.wikipedia.org/wiki/Transverse_Mercator_projection[/url] (во всяком случае для генштаба полукилометровок) а следует полагать что это более менее точная вещь, так что ищи преобразования и проверяй |
Видео в тему [url]http://www.youtube.com/watch?feature=player_embedded&v=eRgsIUiPYOE[/url] |
Еще неплохо-б автору уточнить регион - ибо для северней Питера (60 градусов СШ) - прямоугольные проекции типа transvers Merkаtor (в которой, кстати, Яндекс карты, Google Earth, NASA terraserver) - в плане точности - неюзабельны. ... Насчет точных измерений и прохождения волн, в т.ч. световых - на севере вообще с этим напряг. Например, на Северном Полюсе, как все знают, Солнце восходит раз в году (и болтается по кругу). И восходит оно так медленно, что для того чтобы появился полный диск - уходит целый день. Но западло кроется в деталях. Например, если температура вырастет (а она всегда растет) больше чем +6 градусов - то за счет дифракции (эффекта атмосферной линзы) - солнце может оптически "закатится", и так два - три раза в день. Короче, болтается светило как шаболдометр. Наблюдателям этого прикола весело... |
>- прямоугольные проекции типа transvers Merkаtor (в которой, кстати, Яндекс карты, Google Earth, NASA terraserver) - в плане точности - неюзабельны. вы что-то путаете гугель и остальные в EPSG:3857, а яндекс аналогичен но на эллипсоиде и все это нормальный меркатор, а Transverse Mercator - это _равно_угольный меркатор, и он какраз не обладает тем недостатком (зато есть другие) а вот кто такой "прямоугольный" меркатор я не знаю 8) |
яндекс же судя по всему в EPSG:3395 |
wayerr - а ведь точно... Не считая похмелях - я про EPSG заблуждался. Насчет полярных областей - наверное локальные конические проекции будут получше. Интересно что знают об этом сами товарищи "стратегические" ракетчики... ... PS В Пятигорске лет десять назад общался я с дядькой в погонах из местных картоблюстителей. Дык тот на полном серьезе утверждал, за литрой водочки, что "пятисотки" юга РСФСР/РФ от 1979-1994 гг. - намеренно содержали грубые ошибки, якобы чтобы тупые американцы, совершив танковый марш-бросок - не нашли моста/брода через реку и все там погибли. Ну не наивняк-ли?! Да скорее это мы сами пойдем по такой карте и заведем своих партизан в ловушку. Поэтому я в такие байкие не верю. Но зато верю что любая МТФ/СТФ/ОТФ/МТМ итп на побережье Черного моря - кляти погранци. В отместку им, в этом октябре, будучи сам поднятым нарядом (прямо с девушки) - я им не стесняясь показал йух и сказал все что о них думаю. Обошлось без протокола, потому что они сами офигели :-)) |
ипическая сила, спросил.. ))) расстояния ДО 10км, скорее и до 5 км. Высокую точность будем получать своим прибором с использованием ntrip (rtcm) поправок, сам прибор ggps+glonass. Сегодня завел в обоюдном режиме - удивился выросшей точности. Думаю, с ntrip вообще красиво будет. Значит, мнения разделились. СК-42 (или более новые) либо EPSG:3395? Буду почитать про то и другое. Хотелось бы знать, что юзают кадастры? [quote=wayerr;28282138]вот если зада состоит в том что надо поставить третью точку _относительно_ двух других и вернут ьвсе обратно[/quote] да не, там все сложнее.. но работа идет внутри фигуры, очерченной сотней точек. Нужно подумать, на что ляжет оно "максимально" приближенное к реальным измерениям на земле. |
Фанат NASCAR - реальные измерения на Земле - зависят от рельефа. То есть обкатить контур по карте курвиметром, и пройтись по холмистому участку с "аршином" - две большие разницы. Тахеометры пишут высоту, с точностью +/-0,5-0,9 м, и я знаю что в них есть алгоритм trip-расчета, а не только расчет по геоиду с 0-ой высотой, но для этого надо с этим режимом обойти весь участок, сделать упрощение сегментов по реперным точкам, и только тогда получить близкие к рулеточным измерения. ... И потом, по земле никто не меряет, любая ветка/ямка/провисание измерителя - даст те самые пару сантиметров погрешности. |
>либо EPSG:3395 Эта проекция имеет два достоинства: легко переводить из градусов и обратно и можно на одном рулоне туалетной бумаки напечатать весь мир и склеить, с Transverse Mercator так не выйдет (точнее то можно но так не делают, там емнип стыкуются только сектора по 6°). Да, а СК-42 - это система координат, а не проекция. вот, а еще вы можете почитать тут [url]http://gis-lab.info/qa/proj-sk-faq.html#2[/url] и спросить у них на форуме, ибо я к геодезии никакого отношения не имею, а просто как-то писал для себя преобразование ск-42 -> wsg84 по гостам. |
вот еще общая информация по теме в картинках [url]http://stkorn.livejournal.com/318634.html[/url] а то у меня такое чуйство что вам переводить может ничего не потребуется |
wayerr - в (14) мурзилка хорошая, отконтролдэил ее, сравнив со своей 10-летней давности. |
В ESRI ArcSDE SDK есть годная c-шная pe.dll (и к ней *.h, *.lib, help с описанием). Она вполне самостоятельная. Умеет преобразовывать из одного в другое, понимает WKT задающее параметры координатной системы/проекций и т. п.. Можешь свой custom ей запилить (все что может делать с координатами ESRI ArcGIS, эта dll умеет делать). Я использовал в .NET проекте через PInboke. Годная dll. |
Может быть даже задачу в топике решит этот набор функций (там их 100500) [code] [DllImport("ProjectionEngine64.dll", EntryPoint = "pe_coordsys_from_string", CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Ansi)] public static extern IntPtr CoordSysFromString(string wkt); [DllImport("ProjectionEngine64.dll", EntryPoint = "pe_geodesic_coordinate", CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Ansi)] public static extern double GetGeodesicCoordinate(double a, double e2, double lam1, double phi1, double distance, double az12, ref double lam2, ref double phi2); [DllImport("ProjectionEngine64.dll", EntryPoint = "pe_geodesic_distance", CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Ansi)] public static extern double GetGeodesicDistance(double a, double e2, double lam1, double phi1, double lam2, double phi2, ref double distance, ref double az12, ref double az21); [/code] |
16-simoncat > для этих целей есть [url]http://trac.osgeo.org/proj/[/url] зачем тащить в проект проприетарщину? |
[quote=economist;28341048]Фанат NASCAR - реальные измерения на Земле - зависят от рельефа[/quote] хотя че это я.. все точки фигуры делались геодезистами, выхлоп дали в вгс84.. [quote=wayerr;28353961]Да, а СК-42 - это система координат, а не проекция[/quote] ясно.. мне работать с метрами, знач нужна проекция [quote=wayerr;28353983]а то у меня такое чуйство что вам переводить может ничего не потребуется[/quote] на входе - точки wgs84, образующие фигуру. Нужно попилить фигуру - наставить, например, точек через каждый метр. И выпилить назад в вгс84. Проекция нужна. Пока пробуем utm. |
[quote=wayerr;28374527] 16-simoncat > для этих целей есть [url]http://trac.osgeo.org/proj/[/url] зачем тащить в проект проприетарщину? [/quote] хотелось бы сначала определится в какую проекцию, а реализацию все же хочется самим.. |
Фанат NASCAR - что будет лучше/точнее - UTM или Гаусса-Крюгера - зависит от того, насколько близко рассчитываемый регион приближен к двум/одному секущим меридианам -для UTM это 6*6+1,5 = 37,5 и +3 = 40,5 восточной долготы -для Гаусса-Крюгера 36+3=39 восточной долготы По этим меридианам обеспечивается субсантиметровая точность применительно к местности. Есть и прямые формулы расчетов отстояний точек WGS84 в метрах, без перевода в метрические координаты. Переводить имеет смысл только если нужно считать много, площади полигонов и итп - математика упростится в разы... |
21-economist >спасибо, местность наша, краснодарская) 40 ближе - 45-й |
Если 45-й меридиан - это как раз середина 8-й зоны, идеально ляжет Гаусса-Крюгера (Армавир/Псебай/Успенская/КП) |
автор, что нужно пересчитать? давай я сделаю... из wgs84 в любую систему и обратно. точность по госту. [email]tgo_sktisiz@mail.ru[/email] |
Текущее время: 12:43. Часовой пояс GMT +3. |