WPF - XDL Tutorial (piXoneer XDL Tutorial)
NXMilmapView¸¦ ÀÌ¿ëÇÏ¿© ±º Áöµµ µµ½Ã ȯ°æ¿¡¼ ´Ù¾çÇÑ ÃøÁ¤¹æ¹ýÀ» ±¸ÇöÇØ º¸°í, »ç¿ëÀÚ Á¤ÀÇ ¼³Á¤ÇÑ Á¤Á¡¿¡ ´ëÇÑ °Å¸® ¹× °¢µµ ÃøÁ¤µµ ±¸ÇöÇØ º¾´Ï´Ù.
2019. 04.
|
1 »ç¿ëÇϱâ
1.1 XDL ¿£Áø¼³Ä¡ ÇÁ·Î±×·¥À¸·Î ¹èÆ÷µÇ´Â XDL ¿£ÁøÀº Visual Studio 2010 x86 Release ¹öÀüÀ¸·Î, Visual Studio 2010 ÀÌ»óÀÇ ¹öÀü¿¡¼ »ç¿ë °¡´ÉÇÏ´Ù. ¾Æ·¡ÀÇ ¼³¸íÀº Visual Studio 2015À» ±âÁØÀ¸·Î ÇÏ°Ú´Ù. 2 NXMilmapView¸¦ ÀÌ¿ëÇÑ ¿¹Á¦ ÇÁ·Î±×·¥ ¸¸µé±âl º» ¿¹Á¦ ÇÁ·Î±×·¥Àº NXMilmapViewÀÇ ±âº» ÃøÁ¤ ¸ðµå¸¦ ¼³Á¤ÇÏ¿© ±æÀÌ, ¸éÀû µîÀ» ÃøÁ¤ÇØ º¸°í, ¼¼ Á¡À» ÀÌ¿ëÇÑ °Å¸® ¹× °¢µµ¸¦ »ç¿ëÀÚ Äڵ带 ÀÌ¿ëÇÏ¿© µµ½ÃÇÏ°í ÃøÁ¤ÇØ º¸µµ·Ï ÇÑ´Ù. 2.1 ±âº» ÇÁ·Î±×·¥ ÀÛ¼º2.1.1 Visual Studio 2015À» ÀÌ¿ëÇÏ¿© ¿¹Á¦ ¡°XDL_MilmapView1¡±ÀÇ ¡°Config ÆÄÀÏ ¼³Á¤Çϱ⡱¿Í ¡°±âº» ÇÁ·Î±×·¥ ÀÛ¼º¡± ¹æ¹ýÀ» Âü°í·Î ±âº» ÇÁ·ÎÁ§Æ®¸¦ »ý¼ºÇÑ´Ù.ÇÁ·ÎÁ§Æ® À̸§Àº ¡°XDL_MilmapView2¡±·Î ÇÑ´Ù. 2.2 ÇÁ·Î±×·¥ µðÀÚÀÎ
2.2.1 (1) ¿¡ ¸Þ´º¸¦ »ý¼ºÇÑ´Ù. MainWindow.xaml â¿¡¼ ±âº»À¸·Î »ý¼ºµÈ Grid ·¹À̾ƿô¿¡ Grid.RowDefinitionÀ» ÀÌ¿ëÇÏ¿© µÎ °³ÀÇ RowÀ» »ý¼ºÇÑ´Ù. ù ¹ø° Row¿¡´Â ¸Þ´º¸¦ »ý¼ºÇÏ´Â ÀÛ¾÷À» ÇÒ °ÍÀÌ´Ù. µÎ ¹ø° Row¿¡´Â NXMilmapView ÄÁÆ®·ÑÀ» ¹èÄ¡ÇÒ °ÍÀÌ´Ù.¸Þ´º¸¦ »ý¼ºÇϱâ À§Çؼ ÀÌ¿¡ ´ëÇÑ Nameµµ ¼³Á¤ÇÑ´Ù. ¿¹Á¦ÀÇ ¸Þ´º ±¸¼ºÀº ¾Æ·¡¿Í °°´Ù.
2.2.2 (2)¿¡´Â NXMilmapView ÄÁÆ®·Ñ¸¦ Ãß°¡ÇÏ°í À̸§Àº nxMilmapView1À¸·Î ÇÑ´Ù.2.2.3 ÀÌ¾î¼ NXMilmapViewÀ§¿¡ NXMilmapLayer¸¦ Ãß°¡ÇÏ°í À̸§Àº nxMilmapLayer1 À̶ó°í ¸í¸íÇÑ´Ù.NXMilmapLayer´Â MilmapView¿¡ Ãß°¡µÇ¾î XDL ¿£Áø¿¡¼ ¹ß»ýÇÏ´Â À̺¥Æ®¸¦ ¿ÜºÎ ¾îÇø®ÄÉÀ̼ǿ¡¼ ó¸®ÇÒ ¼ö ÀÖ´Ù. ÀÚ¼¼ÇÑ ÄÚµå´Â ¾Æ·¡¿Í °°´Ù.
2.3 ±â´É ¹× À̺¥Æ® Ãß°¡2.3.1 MainWindow¸¦ ¼±ÅÃÇÏ°í [¼Ó¼º] â - [À̺¥Æ® ] ¸Þ´º¸¦ ¼±ÅÃÇÑ µÚ ¡°Loaded¡± À̺¥Æ®¸¦ ´õºí Ŭ¸¯ÇÑ´Ù.Window_Loaded ÇÔ¼ö¿Í ÇÔ²² ¾Æ·¡¿Í °°ÀÌ Äڵ带 Ãß°¡ÇÑ´Ù.
ÃøÁ¤ °á°ú¸¦ Ç¥½ÃÇÏ´Â µ¥¿¡ ÃøÁ¤ ´ÜÀ§¸¦ ¼³Á¤ÇÏ·Á¸é, ¸éÀû¿¡ ´ëÇؼ´Â NXMilmapViewÀÇ ToolboxAreaUnit ¼Ó¼ºÀ» NXMilmapView.eToolboxAreaUnit °ªÀ¸·Î ¼³Á¤ÇÏ¸é µÇ°í, °Å¸®¿¡ ´ëÇؼ´Â NXMilmapViewÀÇ ToolboxDistUnit ¼Ó¼ºÀ» NXMilmapView.eToolboxDistUnit °ªÀ¸·Î ¼³Á¤ÇÑ´Ù. Window_Loaded ÇÔ¼ö¿¡¼´Â ¸éÀû ÃøÁ¤ ´ÜÀ§´Â §´·Î, ±æÀÌ ÃøÁ¤ ´ÜÀ§´Â §°·Î ÇÑ´Ù.
2.3.2 [Measurement/»ç¿ëÀÚ Á¤ÀÇ]-[°Å¸® ¹× °¢µµ ÃøÁ¤] ¸Þ´º¸¦ ¼±ÅÃÇÑ ÈÄ ´õºí Ŭ¸¯ÇÑ´Ù.¸Þ´º¿¡¼ ¸¶¿ì½º·Î ´õºí Ŭ¸¯ÇÏ¸é ¡°Click¡±¿¡ ´ëÇÑ À̺¥Æ® ÇÔ¼ö°¡ ÀÚµ¿ Ãß°¡µÈ´Ù.
2.3.3 °¢ ¸Þ´º¿¡ µû¸¥ MilmapViewÀÇ ToolboxMode¸¦ ¼³Á¤ÇÑ´Ù.NXMilmapViewÀÇ ÃøÁ¤¸ðµå·Î´Â 2Á¡À» ÀÌ¿ëÇÑ °Å¸® ÃøÁ¤(NXMilmapView.eToolboxMode. DistanceMeasurer), ´ÙÁß Á¡À» ÀÌ¿ëÇÑ °Å¸® ÃøÁ¤(eToolboxMode.PathMeasurer), ´ÙÁß Á¡À» ÀÌ¿ëÇÑ ¸éÀû ÃøÁ¤(eToolboxMode.AreaMeasurer), µÎ Á¡ÀÇ °Å¸®¸¦ ¹ÝÁö¸§À¸·Î ÇÑ ¿øÇü ÃøÁ¤(eToolboxMode.CircleMeasurer), µÎ Á¡À¸·Î ÀÌ·ç¾îÁø º¤ÅÍ¿Í ÁøºÏ¹æÇâ°úÀÇ °¢µµ ÃøÁ¤(eToolboxMode.AngleMeasurer)ÀÌ ÀÖ´Ù. ÄÚµå´Â ¾Æ·¡¿Í °°´Ù.
2.3.4 »ç¿ëÀÚ Á¤ÀÇ ÃøÁ¤À» À§ÇÑ º¯¼ö¸¦ Ãß°¡ÇÏ°í UserDefinedMeasureToolStripMenuItem À̺¥Æ® ÇÔ¼ö¿¡¼ ÃʱâÈÇÑ´Ù.»ç¿ëÀÚ Á¤ÀÇ ÃøÁ¤ ¿©ºÎ¸¦ ¼³Á¤ÇÏ´Â ¡°bool userMeasure¡±¿Í °¢µµ ÃøÁ¤À» À§ÇÑ ¼¼ º¯¼ö ¡°XVertex2d posMeasure0, posMeasure1, posMeasure2¡±¸¦ »ý¼ºÇÏ°í ÃʱâÈÇÑ´Ù.
2.3.5 °¢µµ ¹× °Å¸®¸¦ ÃøÁ¤ÇÏ´Â ÇÔ¼ö¸¦ ÀÌ¿ëÇϱâ À§Çؼ ¡°NXDLcc.dll¡±À» ÂüÁ¶¿¡ Ãß°¡ÇÑ´Ù.WGS84ü¸¦ ¹Ý¿µÇÑ °Å¸®¸¦ ÃøÁ¤ÇÏ´Â ÇÔ¼ö´Â Xcc.CalcGeodeticDistanceÀ̸ç, °¢µµ¸¦ ÃøÁ¤ÇÏ´Â ÇÔ¼ö´Â Xcc.CalcGeodeticAngleÀÌ´Ù. À̸¦ À§ÇØ NXDLcc.dllÀ» ÂüÁ¶¿¡ Ãß°¡ÇÏ°í, ¡°using Pixoneer.NXDL.NCC;¡± ±¸¹® ¶ÇÇÑ Ãß°¡ÇÑ´Ù. 2.3.6 nxMilmapLayer1À» ¼±ÅÃÇÏ¿© ¡°OnWndProc¡± À̺¥Æ®¿Í ¡°OnRender¡± À̺¥Æ® ÇÔ¼ö¸¦ Ãß°¡ÇÏ¿© Äڵ带 ÀÛ¼ºÇÑ´Ù.OnWndProc À̺¥Æ®´Â NXMilmapLayer°¡ Ãß°¡µÇ¾î ÀÖ´Â ViewÀÇ À©µµ¿ì À̺¥Æ®¸¦ ¿ÜºÎ¿¡¼ ¹Þ¾Æ¼ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ÇÑ´Ù. OnRender´Â NXMilmapLayer°¡ Ãß°¡µÇ¾î ÀÖ´Â ViewÀÇ RenderingÀÌ ¿Ï·áµÈ ÈÄ ¾îÇø®ÄÉÀ̼ǿ¡¼ Ãß°¡ÀûÀÎ ÀÛ¾÷À» ±¸ÇöÇØ¾ß ÇÒ ÇÊ¿ä°¡ ÀÖÀ» ¶§ »ç¿ëÇÏ¸é µÈ´Ù. ¿ÞÂÊ ¹öÆ°ÀÌ Å¬¸¯ÇÒ ¶§¸¶´Ù °¢µµ ÃøÁ¤À» À§ÇÑ Á¡À» Â÷·Ê´ë·Î ¼³Á¤ÇÏ°í 3Á¡ÀÌ ¸ðµÎ ¼³Á¤µÇ¸é °è»ê°á°ú¸¦ Visual Studio 2015 Ãâ·Ââ¿¡ Ãâ·ÂÇϵµ·Ï ÇÑ´Ù. ¶ÇÇÑ 2Á¡ ÀÌ»óÀÎ °æ¿ì ȸ鿡 ºÓÀº ¼±À¸·Î µµ½ÃÇÑ´Ù. ÄÚµå´Â ¾Æ·¡¿Í °°´Ù.
2.3.7 ¼Ö·ç¼ÇÀ» ºôµåÇÏ°í ½ÇÇàÇÑ´Ù.MeasurementÀÇ ¡°°Å¸®(Æú¸®¶óÀÎ) ÃøÁ¤¡± ¸Þ´º¸¦ ¼±ÅÃÇÑ µÚ nxMilmapView1 À§¿¡¼ ¸¶¿ì½º ¿ÞÂÊ ¹öÆ°À» Ŭ¸¯ÇÏ¸é¼ ÃøÁ¤ÇÏ°íÀÚ ÇÏ´Â Á¤Á¡À» ¼³Á¤ÇÑ´Ù. ¾Æ·¡ ±×¸²°ú °°ÀÌ ÃøÁ¤ °á°ú°¡ °¢ ¼±ºÐ ¿ä¼Ò¿¡ µµ½ÃµÈ´Ù.
»ç¿ëÀÚ Á¤ÀÇ ¸Þ´ºÀÇ ¡°°Å¸® ¹× °¢µµ ÃøÁ¤¡±À» ¼±ÅÃÇÑ µÚ nxMilmapView1 À§¿¡¼ ¸¶¿ì½º ¿ÞÂÊ ¹öÆ°À» Ŭ¸¯Çϸé 2Á¡ ÀÌ»óºÎÅÍ È¸é¿¡ ºÓÀº ½Ç¼±ÀÌ µµ½ÃµÇ°í, 3Á¡ÀÌ ¼±ÅõǸé Visual Studio 2015ÀÇ Ãâ·Ââ¿¡ ÃøÁ¤°á°ú°¡ ³ªÅ¸³´Ù.
Xcc.CalcGeodeticAngle ÃøÁ¤°á°úÀÇ ´ÜÀ§´Â °Å¸®ÀÇ °æ¿ì meter, °¢µµÀÇ °æ¿ì ¢ª(degree)ÀÌ´Ù.
|