¼³Ä¡
ÇÁ·Î±×·¥À¸·Î ¹èÆ÷µÇ´Â XDL ¿£ÁøÀº Visual Studio
2010 x86 Release ¹öÀüÀ¸·Î, Visual Studio 2010 ÀÌ»óÀÇ ¹öÀü¿¡¼
»ç¿ë °¡´ÉÇÏ´Ù.
¾Æ·¡ÀÇ ¼³¸íÀº Visual Studio 2015À» ±âÁØÀ¸·Î ÇϰڴÙ.
2
NXPlanetView¸¦ ÀÌ¿ëÇÑ ¿¹Á¦ ÇÁ·Î±×·¥ ¸¸µé±â
l º» ¿¹Á¦ ÇÁ·Î±×·¥Àº NXPlanetViewÀÇ ±âº» ÃøÁ¤ ¸ðµå¸¦ ¼³Á¤ÇÏ¿© ±æÀÌ, ¸éÀû
µîÀ» ÃøÁ¤ÇØ º¸°í, ¼¼ Á¡À» ÀÌ¿ëÇÑ °Å¸® ¹× °¢µµ¸¦ »ç¿ëÀÚ Äڵ带 ÀÌ¿ëÇÏ¿© µµ½ÃÇϰí ÃøÁ¤ÇØ º¸µµ·Ï
ÇÑ´Ù.
2.1.1
Visual Studio 2015À»
ÀÌ¿ëÇÏ¿© ¿¹Á¦ ¡°XDL_PlanetView1¡±ÀÇ ¡°±âº»
ÇÁ·Î±×·¥ ÀÛ¼º¡± ¹æ¹ýÀ» Âü°í·Î ±âº» ÇÁ·ÎÁ§Æ®¸¦ »ý¼ºÇÑ´Ù.

Number
|
Name
|
Control type
|
¨ç
|
menu
|
Menu
|
¨è
|
splitContainter1
|
GridSplitter
|
¨é
|
nxPlanetView2D
|
NXPlanetView
|
¨ê
|
nxPlanetView3D
|
NXPlanetView
|
¨ë
|
nxPlanetLayer2D
|
NXPlanetLayer
|
2.2.1
MainWindow.xaml â¿¡¼ ±âº»À¸·Î »ý¼ºµÈ Grid ·¹À̾ƿô¿¡ Grid.RowDefinitionÀ» ÀÌ¿ëÇÏ¿©
Grid¸¦ µÎ °³·Î ³ª´©¾î »ý¼ºÇÑ´Ù. ù ¹øÂ° Grid¿¡ Menu¸¦ ¹èÄ¡ÇÑ´Ù.
2D measurement´Â ¾Æ·¡¿Í °°Àº ÇϺΠ¸Þ´º¸¦ °®´Â´Ù. ¾Æ·¡
Ç¥¸¦ Âü°íÇÏ¿© ¸Þ´º¸¦ »ý¼ºÇϵµ·Ï ÇÑ´Ù.

Control Type
|
Header
|
Name
|
MenuItem
|
2D
Measurement
|
|
MenuItem
|
°Å¸®(´Ü¼±) ÃøÁ¤
|
Measure2DLineMenuItem
|
MenuItem
|
°Å¸®(Æú¸®¶óÀÎ) ÃøÁ¤
|
Measure2DPolyLineMenuItem
|
MenuItem
|
¸éÀû ÃøÁ¤
|
Measure2DAreaMenuItem
|
MenuItem
|
°¢µµ ÃøÁ¤(ÁøºÏ¹æÇâ)
|
Measure2DAngleMenuItem
|
MenuItem
|
°¢µµ ÃøÁ¤(3Á¡
ÀÌ¿ë)
|
Measure2DAngle3PtMenuItem
|
MenuItem
|
¿øÇü ÃøÁ¤
|
Measure2DCircleMenuItem
|
3D measurement¿¡¼ÀÇ ¸Þ´º ±¸¼ºÀº ¾Æ·¡¿Í °°´Ù. ¾Æ·¡ÀÇ Ç¥¸¦ Âü°í ÇÏ¿© ¸Þ´º¸¦ ±¸¼ºÇÑ´Ù.

Control Type
|
Header
|
Name
|
MenuItem
|
3D
Measurement
|
|
MenuItem
|
°Å¸®(´Ü¼±) ÃøÁ¤
|
Measure3DLineMenuItem
|
MenuItem
|
°Å¸®(Æú¸®¶óÀÎ) ÃøÁ¤
|
Measure3DPolyLineMenuItem
|
MenuItem
|
¸éÀû ÃøÁ¤
|
Measure3DAreaMenuItem
|
MenuItem
|
°¢µµ ÃøÁ¤(ÁøºÏ¹æÇâ)
|
Measure3DAngleMenuItem
|
MenuItem
|
°¢µµ ÃøÁ¤(3Á¡
ÀÌ¿ë)
|
Measure3DAngle3PtMenuItem
|
MenuItem
|
¿øÇü ÃøÁ¤
|
Measure3DCircleMenuItem
|
¸¶Áö¸·À¸·Î »ç¿ëÀÚ Á¤ÀÇ ¸Þ´º¸¦
»ý¼ºÇÑ´Ù.

Control Type
|
Header
|
Name
|
MenuItem
|
»ç¿ëÀÚ Á¤ÀÇ
|
|
MenuItem
|
°Å¸® ¹× °¢µµ ÃøÁ¤
|
UserDefinedMeasureMenuItem
|
2.2.2
´ÙÀ½À¸·Î µÎ ¹øÂ° Row Grid¿¡ Grid.ColumnDefinitionÀ»
ÀÌ¿ëÇÏ¿© ¼¼ °³ÀÇ ColumnÀ» »ý¼ºÇÑ´Ù. ù ¹øÂ° Column¿¡´Â NXPlanetView¿Í NXPlanetLayer¸¦ ¹èÄ¡ÇÏ°í µÎ ¹øÂ° ColumnÀº GridSpiltterÀ» ³õ´Â´Ù. ¼¼ ¹øÂ° ColumnÀº NXPlanetView À» ¹èÄ¡ÇÑ´Ù.
2.2.3
nxPlanetView3D ÄÁÆ®·ÑÀ» ¼±ÅÃÇϰí [¼Ó¼º] âÀÇ ¡°EarthMode¡±¸¦
¡°Planet3D¡±·Î ¼³Á¤ÇÑ´Ù.
NXPlanetViewÀÇ EarthMode´Â ¡°Planet2D¡±ÀÌ´Ù. Earth¸ðµå¸¦ ¡°Planet3D¡±·Î ¼³Á¤Çϸé PlanetView´Â 3Â÷¿ø µµ½Ã ¸ðµå·Î º¯°æµÈ´Ù.


2.3.1
Window âÀ» ¼±ÅÃÇϰí [¼Ó¼º] â - [À̺¥Æ® ] ¸Þ´º¸¦ ¼±ÅÃÇÑ µÚ ¡°Loaded¡± À̺¥Æ®¸¦ ´õºí Ŭ¸¯ÇÑ´Ù.
¡°Loaded¡± À̺¥Æ®¸¦ ´õºí Ŭ¸¯Çϸé, ¡°Window_Loaded¡± ÇÔ¼ö°¡
ÀÚµ¿ÀûÀ¸·Î Ãß°¡µÇ°í ¾Æ·¡¿Í °°ÀÌ Ãß°¡ÀûÀÎ ±â´ÉÀ» ±¸ÇöÇÒ ¼ö ÀÖµµ·Ï MainWindow.xaml.csÀÇ
ÄÚµå·Î À̵¿ÇÏ´Â °ÍÀ» È®ÀÎÇÒ ¼ö ÀÖ´Ù. ¾Æ·¡¿Í °°ÀÌ Äڵ带 Ãß°¡ÇÑ´Ù.

2.3.2
¡°2D Measurement/3D Measurement/»ç¿ëÀÚ Á¤ÀÇ¡±ÀÇ ÇÏÀ§ ¸Þ´º¸¦ ¼±ÅÃÇÑ ÈÄ ´õºí Ŭ¸¯ÇÑ´Ù.
¸Þ´º¿¡¼
¸¶¿ì½º·Î ´õºí Ŭ¸¯ÇÏ¸é ¡°Click¡±¿¡ ´ëÇÑ À̺¥Æ® ÇÔ¼ö°¡ ÀÚµ¿ Ãß°¡µÈ´Ù.
2.3.3
°¢ ¸Þ´º¿¡ µû¸¥ nxPlanetView2D¿Í nxPlanetView3DÀÇ ToolboxMode¸¦ ¼³Á¤ÇÑ´Ù.
NXPlanetViewÀÇ ÃøÁ¤¸ðµå·Î´Â 2Á¡À» ÀÌ¿ëÇÑ °Å¸® ÃøÁ¤(NXPlanetView.eToolboxMode. DistanceMeasurer),
´ÙÁß Á¡À» ÀÌ¿ëÇÑ °Å¸® ÃøÁ¤(eToolboxMode.PathMeasurer), ´ÙÁß Á¡À» ÀÌ¿ëÇÑ ¸éÀû ÃøÁ¤(eToolboxMode.AreaMeasurer), µÎ Á¡ÀÇ °Å¸®¸¦ ¹ÝÁö¸§À¸·Î ÇÑ ¿øÇü ÃøÁ¤(eToolboxMode.CircleMeasurer), µÎ Á¡À¸·Î ÀÌ·ç¾îÁø º¤ÅÍ¿Í ÁøºÏ¹æÇâ°úÀÇ °¢µµ ÃøÁ¤(eToolboxMode.AngleMeasurer), ¼¼ Á¡À¸·Î ÀÌ·ç¾îÁø °¢µµ ÃøÁ¤(eToolboxMode.AngleMeasurer2) µîÀÌ ÀÖ´Ù.
ÃøÁ¤ °á°ú¸¦ Ç¥½ÃÇÏ´Â µ¥¿¡ ÃøÁ¤ ´ÜÀ§¸¦ ¼³Á¤ÇÏ·Á¸é, ¸éÀû¿¡ ´ëÇØ¼´Â NXPlanetViewÀÇ ToolboxAreaUnit ¼Ó¼ºÀ» NXPlanetView.eToolboxAreaUnit °ªÀ¸·Î ¼³Á¤ÇÏ¸é µÇ°í, °Å¸®¿¡ ´ëÇØ¼´Â NXPlanetViewÀÇ ToolboxDistUnit ¼Ó¼ºÀ» NXPlanetView.eToolboxDistUnit °ªÀ¸·Î ¼³Á¤ÇÑ´Ù. ÄÚµå´Â ¾Æ·¡¿Í °°´Ù.

2.3.4
»ç¿ëÀÚ Á¤ÀÇ ÃøÁ¤À» À§ÇÑ º¯¼ö¸¦ Ãß°¡Çϰí UserDefinedMeasureMenuItem
À̺¥Æ® ÇÔ¼ö¿¡¼ ÃʱâÈÇÑ´Ù.
»ç¿ëÀÚ
Á¤ÀÇ ÃøÁ¤ ¿©ºÎ¸¦ ¼³Á¤ÇÏ´Â ¡°bool userMeasure¡±¿Í °¢µµ ÃøÁ¤À» À§ÇÑ ¼¼ º¯¼ö ¡°XGeoPoint posMeasure0, posMeasure1, posMeasure2¡±¸¦ »ý¼ºÇϰí ÃʱâÈÇÑ´Ù.

2.3.5
°¢µµ ¹× °Å¸®¸¦ ÃøÁ¤ÇÏ´Â ÇÔ¼ö¸¦ ÀÌ¿ëÇϱâ À§Çؼ ¡°NXDLcc.dll¡±À»
ÂüÁ¶¿¡ Ãß°¡ÇÑ´Ù.
WGS84ü¸¦ ¹Ý¿µÇÑ °Å¸®¸¦ ÃøÁ¤ÇÏ´Â ÇÔ¼ö´Â Xcc.CalcGeodeticDistanceÀ̸ç, °¢µµ¸¦
ÃøÁ¤ÇÏ´Â ÇÔ¼ö´Â Xcc.CalcGeodeticAngleÀÌ´Ù. À̸¦
À§ÇØ NXDLcc.dllÀ» ÂüÁ¶¿¡ Ãß°¡Çϰí, ¡°using Pixoneer.NXDL.NCC;¡± ±¸¹®
¶ÇÇÑ Ãß°¡ÇÑ´Ù.
2.3.6
nxPlanetLayer2DÀ» ¼±ÅÃÇÏ¿© ¡°OnWndProc¡±
À̺¥Æ®¿Í ¡°OnRender¡± À̺¥Æ® ÇÔ¼ö¸¦ Ãß°¡ÇÏ¿© Äڵ带 ÀÛ¼ºÇÑ´Ù.
OnWndProc À̺¥Æ®´Â NXPlanetLayer°¡ Ãß°¡µÇ¾î ÀÖ´Â
ViewÀÇ À©µµ¿ì À̺¥Æ®¸¦ ¿ÜºÎ¿¡¼ ¹Þ¾Æ¼ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ÇÑ´Ù.
OnRender´Â NXPlanetLayer°¡ Ãß°¡µÇ¾î ÀÖ´Â ViewÀÇ RenderingÀÌ ¿Ï·áµÈ ÈÄ ¾îÇø®ÄÉÀ̼ǿ¡¼ Ãß°¡ÀûÀÎ
ÀÛ¾÷À» ±¸ÇöÇØ¾ß ÇÒ Çʿ䰡 ÀÖÀ» ¶§ »ç¿ëÇÏ¸é µÈ´Ù.
¿ÞÂÊ
¹öưÀÌ Å¬¸¯ÇÒ ¶§¸¶´Ù °¢µµ ÃøÁ¤À» À§ÇÑ Á¡À» Â÷·Ê´ë·Î ¼³Á¤Çϰí 3Á¡ÀÌ ¸ðµÎ ¼³Á¤µÇ¸é °è»ê°á°ú¸¦ Visual Studio 2015 Ãâ·Ââ¿¡ Ãâ·ÂÇϵµ·Ï ÇÑ´Ù. ¶ÇÇÑ
2Á¡ ÀÌ»óÀÎ °æ¿ì ȸ鿡 ºÓÀº ¼±À¸·Î µµ½ÃÇÑ´Ù. ÄÚµå´Â
¾Æ·¡¿Í °°´Ù.

2.3.7
¼Ö·ç¼ÇÀ» ºôµåÇÏ°í ½ÇÇàÇÑ´Ù.
2D MeasurementÀÇ ¡°°Å¸®(Æú¸®¶óÀÎ) ÃøÁ¤¡± ¸Þ´º¸¦
¼±ÅÃÇÑ µÚ nxPlanetView2D À§¿¡¼ ¸¶¿ì½º ¿ÞÂÊ ¹öưÀ» Ŭ¸¯ÇÏ¸é¼ ÃøÁ¤ÇϰíÀÚ ÇÏ´Â Á¤Á¡À»
¼³Á¤ÇÑ´Ù. ¾Æ·¡ ±×¸²°ú °°ÀÌ ÃøÁ¤ °á°ú°¡ °¢ ¼±ºÐ ¿ä¼Ò¿¡ µµ½ÃµÈ´Ù.

3D MeasurementÀÇ ¡°°¢µµ ÃøÁ¤(ÁøºÏ¹æÇâ)¡± ¸Þ´º¸¦ ¼±ÅÃÇÑ µÚ nxPlanetView3D
À§¿¡¼ ¸¶¿ì½º ¿ÞÂÊ ¹öưÀ» Ŭ¸¯ÇÏ°í ¸¶¿ì½º¸¦ ¿òÁ÷À̸é ÁøºÏ¹æÇâ°ú ÀÌ·ç´Â °¢µµ°¡ ȸ鿡 µµ½ÃµÇ¸ç ¸¶¿ì½º ¿ÞÂÊ ¹öưÀ» ´õºí Ŭ¸¯ÇÏ¿©
ÃøÁ¤À» Á¾·áÇÑ´Ù.

»ç¿ëÀÚ Á¤ÀÇ ¸Þ´ºÀÇ ¡°°Å¸® ¹× °¢µµ ÃøÁ¤¡±À» ¼±ÅÃÇÑ µÚ nxPlanetView2D À§¿¡¼ ¸¶¿ì½º ¿ÞÂÊ ¹öưÀ» Ŭ¸¯Çϸé 2Á¡
ÀÌ»óºÎÅÍ È¸é¿¡ ºÓÀº ½Ç¼±ÀÌ µµ½ÃµÇ°í, 3Á¡ÀÌ ¼±ÅõǸé Visual
Studio 2015ÀÇ Ãâ·Ââ¿¡ ÃøÁ¤°á°ú°¡ ³ªÅ¸³´Ù.


ÃøÁ¤°á°úÀÇ ´ÜÀ§´Â °Å¸®ÀÇ °æ¿ì
meter, °¢µµÀÇ °æ¿ì ¢ª(degree)ÀÌ´Ù.
|