Координаты из autocad хочу перенести в kml. Регион МСК-50. На сайте geobridg подсмотрел wkt для МСК-50. Все работает. Почти. Координаты у меня смещены на несколько градусов. Подскажите актуальную wkt-строку. Код: var csFact = new CoordinateSystemFactory(); var ctFact = new CoordinateTransformationFactory(); var wkt = csFact.CreateFromWkt( "PROJCS[\" Московская СК(МГГТ)\",GEOGCS[\"unknown\", DATUM[\"Unknown based on Bessel 1841 ellipsoid\", SPHEROID[\"Bessel 1841\", 6377397.155,299.1528128],TOWGS84[316.151,78.924,589.65,-1.57273,2.69209,2.34693,8.4507]],PRIMEM[\"Greenwich\", 0,AUTHORITY[\"EPSG\", \"8901\"]], UNIT[\"degree\", 0.0174532925199433,AUTHORITY[\"EPSG\", \"9122\"]]], PROJECTION[\"Transverse_Mercator\"], PARAMETER[\"latitude_of_origin\", 55.66666666667],PARAMETER[\"central_meridian\",37.5],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",16.098],PARAMETER[\"false_northing\",14.512],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]]"); var wgs84 = ProjectedCoordinateSystem.WGS84_UTM(33, true); var trans = ctFact.CreateFromCoordinateSystems(wkt, wgs84); double[] fromPoint = new double[] { 9877.662483, 3764.885102 }; double[] toPoint = trans.MathTransform.Transform(fromPoint); Координаты в автокад Код: в точке X=9877.662483 Y=3764.885102 Z= 0.000000 в точке X=10063.396960 Y=3652.410869 Z= 0.000000 в точке X=10111.434188 Y=3602.817318 Z= 0.000000 в точке X=10087.768000 Y=3567.537000 Z= 0.000000 в точке X=9898.099000 Y=3667.376000 Z= 0.000000 в точке X=9892.133000 Y=3655.297000 Z= 0.000000 в точке X=9874.510000 Y=3666.401000 Z= 0.000000 в точке X=9884.710000 Y=3679.700000 Z= 0.000000 в точке X=9847.125000 Y=3704.815000 Z= 0.000000 в точке X=9836.825000 Y=3690.147000 Z= 0.000000 в точке X=9832.612039 Y=3692.779056 Z= 0.000000 в точке X=9877.662483 Y=3764.885102 Z= 0.000000 Координаты как они должны быть на выходе Код: 37.655275857,55.700723619 37.658225873,55.699709643 37.658988079,55.699263221 37.658610408,55.698946824 37.655597434,55.699847401 37.655502119,55.699739029 37.655222228,55.699839116 37.655384925,55.699958361 37.654788040,55.700184690 37.654623705,55.700053150 37.654556793,55.700076875 37.655275857,55.700723619 Координаты которые выдаёт мой код Код: 37.655275860901,55.7007236451868 37.6582258775078,55.6997096698396 37.6589880827861,55.6992632476724 37.6586104124046,55.6989468508733 37.6555974376768,55.6998474271545 37.6555021227552,55.6997390554342 37.6552222319942,55.6998391424061 37.6553849294582,55.6999583873745 37.6547880445611,55.700184716945 37.6546237092003,55.700053177079 37.6545567966732,55.7000769016622 37.655275860901,55.7007236451868
Добрый день, ух-ты! Оказывается можно и так переводить (посмотрел на стандартный корявый системный пеервод и реализовывал свое приложение) ... В вашем случае могу предположить что параметра датума следует заменить на 316.151,78.924,589.65,1.57273,-2.69209,-2.34693,8.450 У вас получается ошибка в районе 7-го знака - что примерно, если не ошибаюсь, соответствует линейной ошибке порядка 5 см Замена в датуме обусловлена тем, что в спецификации WKT как было опытно выяснено используется формулировка Bursa-Volfe для которой по сравнению с 7-параметрическим Гельерта характерны обратные знаки для функции значения углов поворота P.S. Вообще есть штатные иснтрументы экспорта в KML (для Civil 3D/Map 3d), если у вас лишь AutoCAD - То да .. только лишь с подключением библиотек OSGeo.MapGuide
Ну, дык.. если ваши координаты, на которые вы ориентируетесь., каталожные - то тут ничего не поможет, ибо точного параметра перехода (сиречь, WKT формулировки), нет - секретно-с Могу разве что порекомендовать посчитать вручную 7 параметров трансформации (который TOWGS84 конструкция) - тогда будет более-менее точно Разве что еще можно попытаться PARAMETER[\"latitude_of_origin\", 55.66666666667 Этот параметр 55.(6) "уточнить" до большего числа "6"
Если честно из ваших слов мало что понятно)) Вот отладил geobridge. Такие данные . В чем различия моего wkt и этих данных выше? Подскажите плиз Код: $$hashKey: "00B" a: 6377397.155 a2: 40671194472602.09 axis: "enu" b: 6356078.962818189 b2: 40399739781579.94 datum: Class {datum_type: 2, a: 6377397.155, b: 6356078.962818189, es: 0.006674372231802045, ep2: 0.006719218799174659, …} datum_params: (7) [316.151, 78.924, 589.65, -0.0000076248102069140055, 0.000013051620627781706, 0.000011378237726064032, 1.0000084507] defData: "+title= Московская СК (МГГТ) +proj=tmerc +lat_0=55.66666666667 +lon_0=37.5 +k=1 +x_0=16.098 +y_0=14.512 +ellps=bessel +towgs84=316.151,78.924,589.650,-1.57273,2.69209,2.34693,8.4507 +units=m +no_defs" e: 0.0816968312225269 e0: 0.9983293129828279 e1: 0.002507078957150663 e2: 0.000002623256153810457 e3: 3.3874906423706494 e-9 ellipseName: "Bessel 1841" ellps: "bessel" ep2: 0.006719218799174659 es: 0.006674372231802045 forward: ƒ (p) init: ƒ () inverse: ƒ (p) k0: 1 lat0: 0.9715666169435683 lon_0: 37.5 long0: 0.6544984694978736 ml0: 6170810.070243443 projName: "tmerc" queue: [] readyToUse: true rf: 299.1528128 srsAuth: "epsg" srsCode: "EPSG:6335000" srsCodeInput: "EPSG:6335000" srsProjNumber: "6335000" title: "EPSG:6335000 - Московская СК (МГГТ) " units: "m" x0: 16.098 y0: 14.512 --- Сообщения объединены, 10 дек 2020, Оригинальное время сообщения: 10 дек 2020 --- а вот оладка по wgs Код: $$hashKey: "003" a: 6378137 a2: 40680631590769 axis: "enu" b: 6356752.314245179 b2: 40408299984661.445 datum: Class a: 6378137 b: 6356752.314245179 datum_params: (3) [0, 0, 0] datum_type: 4 ep2: 0.006739496742276434 es: 0.006694379990141316 __proto__: Object datumCode: "WGS84" datumName: "WGS84" datum_params: (3) [0, 0, 0] defData: "+title=long/lat:WGS84 +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees" e: 0.08181919084262149 ellipseName: "WGS 84" ellps: "WGS84" ep2: 0.006739496742276434 es: 0.006694379990141316 forward: ƒ (pt) init: ƒ () inverse: ƒ (pt) k0: 1 lon_0: 0 projName: "longlat" queue: [] readyToUse: true rf: 298.257223563 srsAuth: "" srsCode: "WGS84" srsCodeInput: "WGS84" srsProjNumber: "WGS84" title: "WGS84" units: "degrees" __proto__: Object
сравни datum_params: (7) [316.151, 78.924, 589.65, -0.0000076248102069140055, 0.000013051620627781706, 0.000011378237726064032, 1.0000084507] defData: "+title= Московская СК (МГГТ) +proj=tmerc +lat_0=55.66666666667 +lon_0=37.5 +k=1 +x_0=16.098 +y_0=14.512 +ellps=bessel +towgs84=316.151,78.924,589.650,-1.57273,2.69209,2.34693,8.4507 +units=m +no_defs"