±±¾©Ê¯ÓÍ»¯¹¤Ñ§Ôº2026ÄêÑо¿ÉúÕÐÉú½ÓÊÕµ÷¼Á¹«¸æ
²é¿´: 841  |  »Ø¸´: 2

Shine.Z

Ìú³æ (СÓÐÃûÆø)

[ÇóÖú] ArcGlobe¶þ´Î¿ª·¢£¬Êó±êʰȡµãת»»³ÉµØÀí×ø±ê´íÎó

µÚÒ»´Î·¢Ìû£¬²»ÖªµÀÓÐʲôҪעÒâµÄ£¬ÓÐʲô²»×ãÇë´ó¼Ò¶à¶àÖ¸½Ì¡£
    C#+ArcEngine Globe¶þ´Î¿ª·¢£¬Í¨¹ýÊó±êʰȡµãת»»µÃµ½µØÀí×ø±ê¡£¿´°ïÖúÎĵµºÍ±ðÈË»ù±¾¶¼ÊÇÕâô×öµÄ£¬Ö±½ÓÀûÓÃWindowToGeographicº¯Êý¾ÍÄÜ´Ó¶þάÆÁÄ»×ø±êת»»µ½Èýά¿Õ¼ä´óµØ×ø±ê£¬ÎҵĴúÂëÈçÏ£º   
    IGlobeViewUtil globeViewUtil = axGlobeControl1.GlobeCamera as IGlobeViewUtil;
    IGlobeDisplay pGlobeDisplay = axGlobeControl1.GlobeDisplay;
    double dLon = 0;
    double dLat = 0;
    double dAlt = 0;
    globeViewUtil.WindowToGeographic(pGlobeDisplay, pGlobeDisplay.ActiveViewer, e.x, e.y,
        true, out dLon, out dLat, out dAlt);//ÓÉÆÁÄ»»ñÈ¡¾­Î³¶ÈºÍ¸ß³Ì
    ÕâÀïÎÒÓеã¶ùÒÉÎÊ¡£Êó±êÔÚÆÁÄ»Éϵã»÷¿É»ñȡһ¸ö¶þÎ¬×ø±ê£¬Ó³Éäµ½Èýά³¡¾°ÖÐÆäʵ¾Í´Ó¹Û²ìµãµ½ÆÁÄ»×ø±êµÄÒ»ÌõÉäÏߣ¬×ª»»µ½Èýά¿Õ¼ä²»¿ÉÄÜÊÇÒ»¸öÌØ¶¨µÄµã£¬³ý·Ç¸ø¶¨Éî¶ÈÖµ»òÕß˵ÄÜÑϸñÏÞ¶¨ÊÓÏß³¤¶ÈµÄÌõ¼þ¡£ÎÒ²»ÖªµÀÕâ¸öº¯ÊýÊÇÔõôȷ¶¨µÄ£¬²ÂÏë¿ÉÄÜÊǵõ½ÊÓÏߺÍÈýάµØÐεĽ»µã£¬Ò²¾ÍÊÇ˵ʰȡµÄÕâ¸öµãÔÚµØÃæÉÏ¡£
    µ«ÊÇÎÒÏÖÔÚ×öÕâÒ»²½µÄʱºò£¬ÖÜΧµÄµØÐθ߶ȶ¼ÔÚ100Ã××óÓÒ£¬Êó±êʰȡµÄµãµØÀí×ø±êµÄ¸ß¶ÈÓÐÆß°Ù¶àÃ×£¬Ê¹µÃÏàÓ¦µÄ¾­Î³¶ÈÒ²³ÉÁË´íÎóµÄ¡£ÈçÏÂͼËùʾ£º

    eÊÇÊó±êµãÈ¡µÄλÖ㨸ú×ÙÁËÏÂÓ¦¸ÃûÎÊÌ⣩£¬×ª»»³öÀ´µÄÓ¦¸ÃÊÇPµÄλÖ㬵«ÊÇʵ¼ÊÉϵõ½ÁËP'µÄλÖã¬ÓÉÓڸ߶Ȳ»¶Ô£¬Ê¹µÃ¾­Î³¶ÈÒ²ÓкܴóµÄÆ«²î¡£Ö±¹ÛµÄ¸ÐÊܾÍÊÇÊÓÏß³¤¶È²»¶Ô£¬»¹Ã»ÓÐÑÓÉìµ½ºÍµØÃæµÄ½»µãÉÏ¡£ÖмäÖ»ÓÃÁËÒ»¸öº¯Êý£¬Ò»Ö±²»ÖªµÀΪʲô»á³öÏÖÕâ¸öÎÊÌâ¡£ÊDz»ÊÇÓÐʲôµØ·½ÐèÒªÉèÖ㿲ËÄñÇóÖ¸µ¼£¬ÏÈллÁË¡£
»Ø¸´´ËÂ¥

» ²ÂÄãϲ»¶

ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

huohe2009

Í­³æ (СÓÐÃûÆø)

¡¾´ð°¸¡¿Ó¦Öú»ØÌû

¸Ðл²ÎÓ룬ӦÖúÖ¸Êý +1
û´í¡£ÔÚÈýά¿Õ¼äÉÏÊ°È¡×ø±ê±¾À´¾Í²»×¼È·
2Â¥2013-11-12 21:58:55
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

huohe2009

Í­³æ (СÓÐÃûÆø)

¡¾´ð°¸¡¿Ó¦Öú»ØÌû

(1) WindowToGeographic() function was introduced for a fast and rough estimate of a geographic location that can then be used, for example, for accumulating the geographic extent of the 3D view as defined by a window; or as a faster (and rougher) substitute for standard Locate() when doing picking.
(2) It appears that a safe mode from within an AfterDraw() handler, is 'useZBufferValue = true' -- because otherwise Locate() is used and will draw the whole frame again in our 'internal' transformation and scaling for precision.
(3) Regarding precision:
(a) when useZBufferValue is true, we directly read from the Z-Buffer the depth component and then use gluUnProject() to get x, y, z coordinates. The precision of Z-Buffer depth values varies with "how far you zoom in or out" and is not that precise anyway.
(b) when useZBufferValue is false, we use Locate() which uses a 'Pick-Render' pass to calculate the intersection with the mesh at the current LOD as defined by the view -- so again the precision varies with the current view parameters.
- Note that the precision of the altitude (i.e. elevation) component can be improved by additionally calling IGlobeDisplay::GetSurfaceElevation(); with bGetMaxResolution argument set to true.
(4) Currently we are not using a "mesh-ray intersection algorithm " which would work for us only when no elevation data is present -- the case that can probably be easily calculated on the client side anyway.
3Â¥2013-11-12 22:02:11
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
Ïà¹Ø°æ¿éÌø×ª ÎÒÒª¶©ÔÄÂ¥Ö÷ Shine.Z µÄÖ÷Ìâ¸üÐÂ
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] 0703»¯Ñ§µ÷¼Á£¬Çóµ¼Ê¦ÊÕ +8 ÌìÌìºÃÔËÀ´Éϰ¶° 2026-03-24 8/400 2026-03-28 20:23 by ÌÆãå¶ù
[¿¼ÑÐ] 0856²ÄÁÏ»¯¹¤µ÷¼Á ×Ü·Ö330 +11 zhubinhao 2026-03-27 11/550 2026-03-28 20:22 by 418490947
[¿¼ÑÐ] ±¾¿ÆË«·Ç²ÄÁÏ£¬¿ç¿¼Ò»Ö¾Ô¸»ªµç085801µçÆø£¬283Çóµ÷¼Á£¬ÈκÎרҵ¶¼¿ÉÒÔ +5 ֥ʿѩbaoo 2026-03-28 6/300 2026-03-28 15:25 by 1018329917
[¿¼ÑÐ] 329Çóµ÷¼Á +6 ÐÇÒ°? 2026-03-26 6/300 2026-03-28 14:14 by ÌÆãå¶ù
[¿¼ÑÐ] Çó»¯Ñ§µ÷¼Á +4 wulanna 2026-03-28 4/200 2026-03-28 13:37 by ÌÆãå¶ù
[¿¼ÑÐ] 311Çóµ÷¼Á +9 lin0039 2026-03-26 9/450 2026-03-28 13:05 by ÌÆãå¶ù
[¿¼ÑÐ] ²ÄÁÏ277Çóµ÷¼Á +7 min3 2026-03-24 7/350 2026-03-28 11:39 by xuxiang
[¿¼ÑÐ] 322Çóµ÷¼Á +6 ËÎÃ÷ÐÀ 2026-03-27 6/300 2026-03-28 07:08 by wangy0907
[¿¼ÑÐ] 085701»·¾³¹¤³ÌÇóµ÷¼Á +9 ¶à¾ÃÉϿΠ2026-03-27 9/450 2026-03-28 03:58 by fmesaito
[¿¼ÑÐ] ¿¼Ñл¯Ñ§308·ÖÇóµ÷¼Á +10 ÄãºÃÃ÷ÌìÄãºÃ 2026-03-23 12/600 2026-03-27 14:43 by shangxh
[¿¼ÑÐ] 085600£¬²ÄÁÏÓ뻯¹¤321·Ö£¬Çóµ÷¼Á +9 ´ó²öС×Ó 2026-03-27 9/450 2026-03-27 14:30 by mmm just
[¿¼ÑÐ] 322Çóµ÷¼Á +4 ÎÒÕæµÄºÜÏëѧϰ 2026-03-23 4/200 2026-03-27 13:51 by ÑîÑîÑî×Ï
[¿¼ÑÐ] Çóµ÷¼Á +3 Áõ¿Â@ 2026-03-24 4/200 2026-03-27 11:28 by shangxh
[¿¼ÑÐ] 327Çóµ÷¼Á +7 prayer13 2026-03-23 7/350 2026-03-26 20:48 by ²»³Ôô~µÄ؈
[¿¼ÑÐ] 0703»¯Ñ§Çóµ÷¼Á +3 µ¤ÇàÄÌ¸Ç 2026-03-26 5/250 2026-03-26 20:11 by macy2011
[¿¼ÑÐ] ²ÄÁÏ¿ÆÑ§Ó빤³Ì 317Çóµ÷¼Á +4 JKSOIID 2026-03-26 4/200 2026-03-26 15:58 by ²»³Ôô~µÄ؈
[¿¼ÑÐ] 281Çóµ÷¼Á +6 Koxui 2026-03-24 7/350 2026-03-26 15:37 by Î޼ʵIJÝÔ­
[¿¼ÑÐ] ×Ü·Ö293Çóµ÷¼Á +6 ¼ÓÒ»Ò»¾Å 2026-03-25 8/400 2026-03-26 13:30 by yujianx
[¿¼ÑÐ] ÉϺ£µçÁ¦´óѧ²ÄÁÏ·À»¤ÓëвÄÁÏÖØµãʵÑéÊÒÕÐÊÕµ÷¼ÁÑо¿Éú£¨²ÄÁÏ¡¢»¯Ñ§¡¢µç»¯Ñ§£¬»·¾³£© +4 ÎÒ°®Ñ§µç³Ø 2026-03-23 4/200 2026-03-25 00:59 by 1027_324
[¿¼ÑÐ] ²ÄÁÏ/ũҵרҵ£¬07/08¿ªÍ·¾ù¿É£¬¹ýÏß¾ÍÐÐ +3 ºÇßíŶ»í 2026-03-23 4/200 2026-03-23 22:30 by Íô£¡£¿£¡
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û