TM rectangle to TM rectangle through geodetic coordinates

Descriptions to TM conversion nodes

Introduction/Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

In that page we're consirer process of convert current rectangle coordinates in projection "Transverse Mercator" to another CS (also TM) using geodetic coordinates as intermediate step На Π΄Π°Π½Π½ΠΎΠΉ страницС рассмотрим процСсс ΠΏΠΎ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρƒ плоских ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ†ΠΈΠΈ Ρ‚ΠΈΠΏΠ° "ΠŸΠΎΠΏΠ΅Ρ€Π΅Ρ‡Π½Π°Ρ ΠœΠ΅Ρ€ΠΊΠ°Ρ‚ΠΎΡ€Π°" Π² Π΄Ρ€ΡƒΠ³ΠΈΠ΅ плоскиС ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ систСмС ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ Ρ‡Π΅Ρ€Π΅Π· гСодСзичСскиС ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹

Preparing data/ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ…

file-download
600KB
Sample drawing

As a work's file data let's assign CS named "Russia-MSK-1964" to our drawing "SPb_Demo.dwg" in Civil 3D. Π’ качСствС Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ Ρ„Π°ΠΉΠ»Π° возьмСм Ρ‡Π΅Ρ€Ρ‚Π΅ΠΆ "SPb_Demo.dwg" ΠΏΠΎ ссылкС Π²Ρ‹ΡˆΠ΅ ΠΈ Π½Π°Π·Π½Π°Ρ‡ΠΈΠΌ Π΅ΠΌΡƒ систСму ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ "Russia-MSK-1964".

Find and assign CS to drawing

Next going to Dynamo and open script below. As a sample point we get (116479.50982048,99975.21929290,16.0) Π”Π°Π»Π΅Π΅ ΠΈΠ΄Π΅ΠΌ Π² срСду Dynamo ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Ρ‚Π°ΠΌ скрипт Π½ΠΈΠΆΠ΅. Π’ качСствС тСстовой Ρ‚ΠΎΡ‡ΠΊΠΈ возьмСм Ρ‚Π°ΠΊΡƒΡŽ с ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌΠΈ (116479.50982048,99975.21929290,16.0).

Script to convert TM coordinates from one system to athother troght geodetic coordinates

Note: Because of we public content only for testing. we will non demonstrate how work with groups of COGO points/blocks and etc and as result of script we're get coordinates for sample point only. ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ΅ΠΌ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для тСстирования Π½ΠΎΠ΄ΠΎΠ², ΠΌΡ‹ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌΠΈ Ρ‚ΠΎΡ‡Π΅ΠΊ COGO/Π±Π»ΠΎΠΊΠ°ΠΌΠΈ ΠΈ Ρ‚.Π΄., ΠΈ ΠΊΠ°ΠΊ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ скрипта ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ лишь ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ для Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ.

Cheme of script

Group 0 - input coordinates/Π’Ρ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹

Place of input point's coordinates (X and Y) ΠœΠ΅ΡΡ‚ΠΎ Π²Π²ΠΎΠ΄Π° исходных ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ Ρ‚ΠΎΡ‡ΠΊΠΈ (X, Y)

Input coordinates in codeblock

Instead codeblock there will another data (Dictionaries. lists and etc) ВмСсто codeblock ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ (словари, списки ΠΈ Ρ‚.Π΄.)

Group 1 - info about CS/Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎ проСкциях

Place of determine source coordinate system and finish coordinate system (it there is a task to get coordinates in another CS). Russian CS you can find at class "ResourceLibrary"using Dynamo's search engine/ΠœΠ΅ΡΡ‚ΠΎ Π²Π²ΠΎΠ΄Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² систСм ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ для исходной ΠΈ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ систСмы (ΠΏΡ€ΠΈ нСобходимости ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ систСмС). РусскиС МБК ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ срСди класса "ResourceLibrary" воспользовавшись поисковиком Dynamo

Using Dynamo's search engine

If something CS is missing in package, you can write parameters of CS into codeblock (pink nodes in leftside). Parameters must be wroten as order below and comma ceparated: Если какая-Π»ΠΈΠ±ΠΎ БК отсутствуСт Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π΅, Π΅Ρ‘ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ codeblock (Ρ€ΠΎΠ·ΠΎΠ²Ρ‹Π΅ Π½ΠΎΠ΄Ρ‹ слСва). ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ записаны строго Π² порядкС Π½ΠΈΠΆΠ΅ ΠΈ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Ρ‹ запятыми

Group 2 - info about ellipsoid/Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎΠ± эллипсоидС

Place of selection source ellipsoid (where CS is based). Optionally if CS has EPSG's code you can find that info at web-site of EPSG herearrow-up-right. In other cases that info placing in government laws/forums and etc. ΠœΠ΅ΡΡ‚ΠΎ Π²Ρ‹Π±ΠΎΡ€Π° исходного эллипсоида (Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ базируСтся БК). Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Ссли БК ΠΈΠΌΠ΅Π΅Ρ‚ EPSG ΠΊΠΎΠ΄, эту ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡ‚ΠΎΡ‡Π½ΠΈΡ‚ΡŒ Π½Π° сайтС EPSG Ρ‚ΡƒΡ‚arrow-up-right. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС слСдуСт ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Π½ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠ²Π½ΠΎΠΉ Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π΅/Ρ„ΠΎΡ€ΡƒΠΌΠ°ΠΌ ΠΈ Ρ‚.Π΄.

Π’ России ΠΏΠΎΡ‡Ρ‚ΠΈ всС БК основаны Π½Π° эллипсоидС ΠšΡ€Π°ΡΠΎΠ²ΡΠΊΠΎΠ³ΠΎ - поэтому ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ этот Π·Π° Ρ„Π°ΠΊΡ‚ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с отСчСствСнными систСмами ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚.

Selection an ellipsoid

Codeblock contain fixed values of ellipsoid's names and node GeneralTerms.EllipsoidParameters get only them. In other cases look to node GeneralTerms.Custom_EllipsoidParameters: Codeblock содСрТит лишь фиксированныС наимСнования эллипсоидов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π½ΠΎΠ΄ GeneralTerms.EllipsoidParameters. Π’ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… случаях слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΎΠ΄ GeneralTerms.Custom_EllipsoidParameters для задания ΠΏΡ€ΠΎΡ‡ΠΈΡ… эллипсоидов.

Group 3 - node TM_FromRectangleToGeodetic

At that step we start node TMFromRectangleToGeodetic and take needing parameters to them as input values. As CS_Params we use source CS. На Π΄Π°Π½Π½ΠΎΠΌ шагС ΠΏΠΎΠ΄Π°Π΅ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π² качСствС Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… для Π½ΠΎΠ΄Π° TM_FromRectangleToGeodetic. Π’ качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° CS_Params ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΈΡΡ…ΠΎΠ΄Π½ΡƒΡŽ БК.

Node TM_FromRectangleToGeodetic

Group 4 - node TM_FromGeodeticToRectangle

Here we use node TM_FromGeodeticToRectangle if there is a requirement to get coordinates in another CS (as CS_Params we use finish CS) and radian's angle values. Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½ΠΎΠ΄ TM_FromGeodeticToRectangle Ссли Π΅ΡΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ систСмС (Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° CS_Params ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ†Π΅Π»Π΅Π²ΡƒΡŽ БК) ΠΈ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°Π΄ΠΈΠ°Π½Π½ΡƒΡŽ ΠΌΠ΅Ρ€Ρƒ ΡƒΠ³Π»ΠΎΠ².

Node TM_FromGeodeticToRectangle

At result data we get a recalculated values: Π’ качСствС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ пСрСсчитанныС ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹:

Results of script

Last updated