µÚÒ»·¶ÎÄÍø - רҵÎÄÕ·¶ÀýÎĵµ×ÊÁÏ·ÖÏíÆ½Ì¨

ArcGISPythonʵϰָµ¼

À´Ô´£ºÓû§·ÖÏí ʱ¼ä£º2025/9/6 7:21:40 ±¾ÎÄÓÉloading ·ÖÏí ÏÂÔØÕâÆªÎĵµÊÖ»ú°æ
˵Ã÷£ºÎÄÕÂÄÚÈݽö¹©Ô¤ÀÀ£¬²¿·ÖÄÚÈÝ¿ÉÄܲ»È«£¬ÐèÒªÍêÕûÎĵµ»òÕßÐèÒª¸´ÖÆÄÚÈÝ£¬ÇëÏÂÔØwordºóʹÓá£ÏÂÔØwordÓÐÎÊÌâÇëÌí¼Ó΢ÐźÅ:xxxxxxx»òQQ£ºxxxxxx ´¦Àí£¨¾¡¿ÉÄܸøÄúÌṩÍêÕûÎĵµ£©£¬¸ÐлÄúµÄÖ§³ÖÓëÁ½⡣

1.ʲôÊÇpython

PythonÊÇÒ»ÖÖ²»ÊܾÖÏÞ¡¢¿çƽ̨µÄ¿ªÔ´±à³ÌÓïÑÔ£¬Ëü¹¦ÄÜÇ¿´óÇÒ¼òµ¥Ò×ѧ¡£Òò¶øµÃµ½Á˹㷺ӦÓúÍÖ§³Ö¡£

ArcGIS ÉçÇøÖÐÒýÈëÁËPython¡£´Ëºó£¬Python±»ÊÓΪ¿É¹©µØÀí´¦ÀíÓû§Ñ¡ÔñµÄ½Å±¾ÓïÑÔ²¢µÃÒÔ²»¶Ï·¢Õ¹¡£Ã¿¸ö°æ±¾¶¼½øÒ»²½ÔöÇ¿ÁËPythonÌåÑ飬´Ó¶øÎªÄúÌṩ¸ü¶àµÄ¹¦ÄÜÒÔ¼°¸ü·á¸»¡¢¸üÓѺõÄPythonÌåÑé¡£

ESRIÒѽ«PythonÍêÈ«ÄÉÈëArcGISÖУ¬²¢½«ÆäÊÓΪ¿ÉÂú×ãÓû§ÐèÇóµÄÓïÑÔ¡£ÏÂÃæ½ö½éÉÜPythonµÄ²¿·ÖÓÅÊÆ£º

Ò×ÓÚѧϰ£¬·Ç³£ÊʺϳõѧÕߣ¬Ò²ÌرðÊʺÏר¼ÒʹÓÃ

¿ÉÉìËõ³Ì¶È¸ß£¬ÊÊÓÚ´óÐÍÏîÄ¿»òСÐ͵ÄÒ»´ÎÐÔ³ÌÐò£¨³ÆÎª½Å±¾£© ¿ÉÒÆÖ²£¬¿çƽ̨

¿ÉǶÈ루ʹArcGIS¿É½Å±¾»¯£© Îȶ¨³ÉÊì

Óû§ÉçÇø¹æÄ£´ó

PythonÒÑÑÓÉìµ½ArcGISÖУ¬³ÉΪÁËÒ»ÖÖÓÃÓÚ½øÐÐÊý¾Ý·ÖÎö¡¢Êý¾Ýת»»¡¢Êý¾Ý¹ÜÀíºÍµØÍ¼×Ô¶¯»¯µÄÓïÑÔ£¬Òò¶øÓÐÖúÓÚÌá¸ß¹¤×÷ЧÂÊ¡£

2.ÔÚArcGISÖÐʹÓÃPython

£¨1£©´ò¿ªArcMap£¬ÔÚ¹¤¾ßÀ¸Öеã»÷¡°¡±°´Å¥£¬Î»ÖÃÈçͼ1-1Ëùʾ£¬¼´¿É´ò¿ªPython±à¼­´°¿Ú¡£

ͼ1-1

£¨2£©Python³ÌÐòΪ½âÊÍÔËÐУ¬ÊäÈëÒ»ÐдúÂ룬°´¡°»Ø³µ¡±¼üºó¼´¿ÉÔËÐУ¬Èçͼ1-2¡£

ͼ1-2

3.ÐкÍËõ½ø

ѧϰPythonÓëÆäËûÓïÑÔ×î´óµÄÇø±ð¾ÍÊÇ£¬PythonµÄ´úÂë¿é²»Ê¹ÓôóÀ¨ºÅ£¨{}£©À´¿ØÖÆÀ࣬º¯ÊýÒÔ¼°ÆäËûÂß¼­Åжϡ£python×î¾ßÌØÉ«µÄ¾ÍÊÇÓÃËõ½øÀ´Ð´Ä£¿é¡£

£¨1£©Ëõ½øµÄ¿Õ°×ÊýÁ¿ÊǿɱäµÄ£¬µ«ÊÇËùÓдúÂë¿éÓï¾ä±ØÐë°üº¬ÏàͬµÄËõ½ø¿Õ°×ÊýÁ¿£¬Õâ¸ö±ØÐëÑϸñÖ´ÐС£ÔÚPython´°¿ÚÖÐÊäÈëÈçͼ1-3ËùʾµÄ´úÂë¿é²¢ÔËÐУ¬¸Ã´úÂë¿éÊÇÑϸñËõ½øµÄ¡£

ͼ 1-3

£¨2£©ÒÔÏ´úÂ뽫»áÖ´ÐдíÎó£¬Èçͼ1-4£º

ͼ1-4

ʵϰ¶þ ʹÓÃArcPy

ArcPy ÊÇÒ»¸öÒԳɹ¦µÄ arcgisscripting Ä£¿éΪ»ù´¡²¢¼Ì³Ðarcgisscripting¹¦Äܽø¶ø¹¹½¨¶ø³ÉµÄÕ¾µã°ü¡£Ä¿µÄÊÇΪÒÔʵÓøßЧµÄ·½Ê½Í¨¹ýPythonÖ´ÐеØÀíÊý¾Ý·ÖÎö¡¢Êý¾Ýת»»¡¢Êý¾Ý¹ÜÀíºÍµØÍ¼×Ô¶¯»¯´´½¨»ù´¡¡£ ¸Ã°üÌṩÁ˷ḻ´¿ÕýµÄPythonÌåÑ飬¾ßÓдúÂë×Ô¶¯Íê³É¹¦ÄÜ£¨ÊäÈë¹Ø¼ü×ֺ͵㼴¿É»ñµÃ¸Ã¹Ø¼ü×ÖËùÖ§³ÖµÄÊôÐԺͷ½·¨µÄµ¯³öÁÐ±í£»´ÓÖÐÑ¡ÔñÒ»¸öÊôÐÔ»ò·½·¨¼´¿É½«Æä²åÈ룩£¬²¢Õë¶Ôÿ¸öº¯Êý¡¢Ä£¿éºÍÀàÌṩÁ˲ο¼Îĵµ¡£

ÔÚPythonÖÐʹÓÃArcPyµÄÁíÒ»¸öÖ÷ÒªÔ­ÒòÊÇ£¬PythonÊÇÒ»ÖÖͨÓõıà³ÌÓïÑÔ¡£PythonÊÇÒ»ÖÖÖ§³Ö¶¯Ì¬ÊäÈëµÄ½âÊÍÐÍÓïÑÔ£¬ÊÊÓÃÓÚ½»»¥Ê½²Ù×÷ÒÔ¼°Îª³ÆÎª½Å±¾µÄÒ»´ÎÐÔ³ÌÐò¿ìËÙÖÆ×÷Ô­ÐÍ£¬Í¬Ê±Æä¾ßÓбàд´óÐÍÓ¦ÓóÌÐòµÄÇ¿´ó¹¦ÄÜ¡£ÓÃArcPy ±àдµÄArcGISÓ¦ÓóÌÐòµÄÓÅÊÆÔÚÓÚ£¬¿ÉÒÔʹÓÃÓÉÀ´×Ô¶à¸ö²»Í¬ÁìÓòµÄGISרҵÈËÔ±ºÍ³ÌÐòÔ±×é³ÉµÄÖÚ¶àPythonСȺÌ忪·¢µÄ¸½¼ÓÄ£¿é¡£

1.ͨ¹ýPythonʹÓù¤¾ß

ÿ¸öµØÀí´¦Àí¹¤¾ß¶¼¾ßÓÐÒ»×é¹Ì¶¨µÄ²ÎÊý£¬ÕâЩ²ÎÊýΪ¹¤¾ßÌṩִÐÐËùÐèµÄÐÅÏ¢¡£ÔÚPythonÖÐʹÓù¤¾ßʱ£¬±ØÐëÕýÈ·ÉèÖù¤¾ßµÄ²ÎÊýÖµ£¬ÒÔ±ãÔڽű¾ÔËÐÐʱ¹¤¾ß¿ÉÒÔÖ´ÐС£ÏÂÃæÒÔ»º³åÇø·ÖÎöΪÀýÁ·Ï°Í¨¹ýPythonʹÓù¤¾ßµÄ·½·¨¡£ £¨1£©µã»º³å

1£©ÔÚArcMapÖдò¿ªÊµÑéÊý¾ÝÖеġ°¡±Îļþ£¬Èçͼ2-1¡£

ͼ2-1

2£©´ò¿ªPython´°¿Ú£¬ÔÚÆäÖÐÊäÈëͼ2-2ËùʾµÄ´úÂ룬ÆäÖÐworkspaceµÄ·¾¶¸ù¾ÝÊý¾ÝÔÚµçÄÔÖеÄʵ¼Ê·¾¶ÉèÖá£ÔÚµ÷Óù¤¾ß£¨Í¼ÖкìÉ«²¿Î»£©µÄʱºò»áÔÚ´°¿ÚÓÒ²à³öÏÖÌáʾÐÅÏ¢£¬¸ù¾ÝÌáʾÐÅÏ¢£¬ÊäÈëÏà¹Ø²ÎÊý£¬ÔËÐнá¹ûÈçͼ2-3¡£ÔËÐкó»áÔÚĿ¼ÖÐÉú³ÉÒ»¸ö¡°¡±Îļþ£¬Õâ¸öÎļþµÄÎļþÃûºÍ·¾¶¾ùÔÚ´úÂëÖÐÉèÖá£

ͼ2-2 ͼ2-3

£¨2£©Ïß»º³å

1£©ÔÚArcMapÖдò¿ªÊµÑéÊý¾ÝÖеġ°¡±Îļþ£¬Ñ¡ÖÐÆäÖеÄÒ»ÌõÏߣ¬Èçͼ2-4¡£

ͼ2-4

2£©´ò¿ªPython´°¿Ú£¬ÔÚÆäÖÐÊäÈëͼ2-5ËùʾµÄ´úÂ룬ÔËÐнá¹ûÈçͼ2-6¡£

ͼ2-5

ͼ2-6

3£©È¡ÏûÑ¡ÖУ¬ÖØÐÂÔËÐÐÒ»´Î´úÂ룬ÔËÐнá¹ûÈçͼ2-7Ëùʾ¡£´ÓÁ½´ÎÔËÐнá¹û¿ÉÒÔ¿´³ö£¬µØÀí´¦Àí¹¤¾ß´¦Àí¶ÔÏóÊ×ÏÈÓ¦ÊÇÑ¡ÖеÄÒªËØ£¬Èç¹ûûÓÐÑ¡ÖÐÒªËØ£¬ÔòĬÈÏΪͼ²ãÖÐËùÓжÔÏó¡£

ͼ2-7

£¨3£©¶à²ã»º³å

ÔÚÊäÈëÒªËØÖÜΧµÄÖ¸¶¨¾àÀëÄÚ´´½¨¶à¸ö»º³åÇø¡£Ê¹Óûº³å¾àÀëÖµ¿ÉËæÒâºÏ²¢

ºÍÈÚºÏÕâЩ»º³åÇø£¬ÒԱ㴴½¨·ÇÖØµþ»º³åÇø¡£

ÔÚArcMapÖдò¿ªÊµÑéÊý¾ÝÖеġ°¡±Îļþ£¬ÔËÐÐÈçͼ2-8ËùʾµÄ³ÌÐò£¬½á¹ûÈçͼ2-9¡£¶à¸ö»º³åÇøµÄ¾àÀëΪ¡°[10£¬20£¬30]¡±£¬¿É¸ù¾Ýʵ¼ÊÇé¿ö×Ô¼ºÉ趨¡£

ͼ2-8 ͼ2-9

2.ʹÓÃPython´¦ÀíÓαê

ÓαêÊÇÒ»ÖÖÊý¾Ý·ÃÎʶÔÏ󣬿ÉÓÃÓÚÔÚ±íÖеü´úÒ»×éÐлòÕßÏò±íÖвåÈëÐÂÐС£

ÓαêÓÐÈýÖÖÐÎʽ£ºËÑË÷¡¢²åÈë»ò¸üС£ InsertCursor(in_table, field_names) SearchCursor(in_table, field_names, {where_clause}, {spatial_reference}, {explode_to_points}, {sql_clause}) UpdateCursor(in_table, field_names, {where_clause}, {spatial_reference}, {explode_to_points}, {sql_clause}) ²åÈëÐÐ Ö»¶Á·ÃÎÊ ¸üлòɾ³ýÐÐ ¶ÁÈ¡¼¸ºÎ

£¨1£©¶ÁÈ¡µã

1£©ÔÚArcMapÖдò¿ª¡°¡±Îļþ£¬µãµÄÏà¶ÔλÖÃÈçͼ2-10¡£

ͼ2-10

2£©ÔÚPython´°¿ÚÖÐÔËÐÐÈçͼ2-11ËùʾµÄ´úÂ룬¡°SHAPE@XY¡±±íʾһ¸öÒªËØµÄÖÊ

ÐÄXY×ø±ê£¬µãµÄÖÊÐÄΪÆä±¾Éí¡£cursorΪһ¸öËÑË÷Óα꣬ÆäÖС°for row in cursor¡±ÊÇÓÃÒ»¸öforÑ­»·À´±éÀúÓαêÖеÄÿһÐС£ÔËÐнá¹ûÈçͼ2-12Ëùʾ£¬ºì¿òÖеÄÊý¾ÝΪµãµÄ×ø±ê¡£

ͼ2-11

£¨2£©¶ÁÈ¡ÕÛÏß»òÃæ

1£©ÔÚArcMapÖдò¿ªÊµÑéÊý¾ÝÖеġ°¡±Îļþ£¬Á½¸öÏßÒªËØÏà¶ÔλÖÃÈçͼ2-13¡£

ͼ 2-13

2£©ÔÚPython´°¿ÚÖÐÔËÐÐÈçͼ2-14ËùʾµÄ´úÂ룬½á¹ûÈçͼ2-15Ëùʾ¡£ºìÉ«·½¿òÖеÄÊý¾ÝΪÁ½¸öÏÈÒªËØµÄÕÛµã×ø±ê¡£ËÑË÷ÓαêÖС°OID@¡±±íÊ¾ÒªËØµÄFID£¬¡°SHAPE@¡±±íʾ¼¸ºÎÒªËØ¶ÔÏó¡£

ͼ2-14

ͼ2-15

дÈ뼸ºÎ

ͨ¹ýʹÓòåÈëÓαê¿ÉÒÔʵÏÖдÈ뼸ºÎ¹¦ÄÜ£¬

£¨1£©Ð´Èëµã

½«¡°¡±¼ÓÔØµ½ArcMapÖУ¬ÔÚPython´°¿ÚÖÐÊäÈëͼ2-16ËùʾµÄ´úÂë²¢ÔËÐУ¬ÔËÐнáÊøºóµã»÷×óÏ·½µÄ¡°¡±°´Å¥£¬Ë¢ÐÂһϵØÍ¼´°¿Ú£¬½á¹ûÈçͼ2-17¡£ÔÚдÈëµãÒªËØÊ±£¬Ö»Óе¥¸öµã¶ÔÏóÓÃÓÚÉèÖõãÒªËØ¼¸ºÎ¡£Ê¹Óá°SHAPE@XY¡±£¬¾Í¿ÉÇáËɵش´½¨µã¡£

ͼ 2-16

ͼ2-17

£¨2£©Ð´ÈëÏß

½«¡°¡±¼ÓÔØµ½ArcMapÖУ¬ÔÚPython´°¿ÚÖÐÊäÈëͼ2-18ËùʾµÄ´úÂë²¢ÔËÐУ¬ÔËÐнá¹ûÈçͼ2-19¡£´úÂëÖС°¡±±íʾÊý×é¶ÔÏó¿É°üº¬ÈÎÒâÊýÁ¿µÄµØÀí´¦Àí¶ÔÏó£¬ÀýÈçµã¡¢¼¸ºÎ»ò¿Õ¼ä²Î¿¼¡££¨µã×ø±ê¿É×ÔÐÐÉèÖã©

ͼ2-18

ͼ 2-19

ʵϰÈý ´´½¨ArcGIS Python Add-in

¼ÓÔØÏîÊÇÒ»ÖÖ×Ô¶¨ÒåÏËü¿ÉÒÔ²åÈëµ½ ArcGIS for Desktop Ó¦ÓóÌÐò£¨¼´ ArcMap¡¢ArcCatalog¡¢ArcGlobe ºÍ ArcScene£©ÖÐÒÔ±ãÌṩ²¹³ä¹¦ÄÜÒÔÍê³É×Ô¶¨ÒåÈÎÎñ£¬ÀýÈ繤¾ßÌõÉϵŤ¾ß¼¯ºÏ¡£

1.´´½¨¼ÓÔØÏîÏîÄ¿

£¨1£©Ñ¡Ôñ¼ÓÔØÏîÏîÄ¿Îļþ¼Ð£º½âѹ¡°¡±£¨Í¼3-1£©Îļþ£¬ÔÚ½âѹºóµÄÎļþ¼Ð´¦ÕÒµ½ £¨Í¼3-2£©Îļþ²¢Ë«»÷¡£½«´ò¿ªä¯ÀÀÎļþ¼Ð¶Ô»°¿ò£¬ÔÚÆäÖÐÊäÈëÓÃÀ´´æ´¢¼ÓÔØÏîÏîÄ¿µÄÎļþ¼Ð¡£±ØÐëÑ¡ÔñÒ»¸ö¿ÕÎļþ¼Ð»ò´´½¨Ò»¸öÐÂÎļþ¼Ð£¨Í¼3-3£©£¬µ¥»÷È·¶¨¡£

ͼ 3-1 ͼ 3-2 ͼ3-3

£¨2£©ÊäÈëÏîÄ¿ÉèÖãºÑ¡Ôñ¹¤×÷Îļþ¼ÐÖ®ºó£¬½«ÏÔʾÏòµ¼µÄµÚÒ»¸öÃæ°å£¨Í¼3-4£©¡£¿ÉÔÚ´Ë´¦ÊäÈëÏîÄ¿ÉèÖá£ÕâЩÉèÖÃÊÇÏîÄ¿µÄÔªÊý¾Ý£¬´æ´¢ÔÚ ÎļþÖС£Ê¹ÓüÓÔØÏîʱ£¬ÕâЩÉèÖÃÔÚ²¿ÊðÆÚ¼äÊ®·ÖÖØÒª¡£

ͼ3-4

2.´´½¨¹¤¾ßÌõ

µ¥»÷¼ÓÔØÏîÄÚÈÝÑ¡Ï£¬ÓÒ¼üµ¥»÷¹¤¾ßÌõ£¬È»ºóµ¥»÷¡°Ð½¨¹¤¾ßÌõ¡±£¬Èçͼ3-5¡£Ïòµ¼µÄÓÒ²àÃæ°å½«ÏÔʾ¹¤¾ßÌõµÄÊôÐÔ£¬Èçͼ3-6¡£¹¤¾ßÌõ±ØÐë¾ßÓбêÌâºÍID¡£±êÌâÓÃÓÚΪ¹¤¾ßÌõÌṩ±ê×¢¡£ID ±íʾΨһµÄÃû³Æ£¬ÓÃÓÚÇø·Ö²»Í¬¹¤¾ßÌõ¡£ID²»Äܰüº¬¿Õ¸ñ¡£Ä¬ÈÏÇé¿öÏ£¬Æô¶¯Ó¦ÓóÌÐòʱ³õʼÏÔʾ¹¤¾ßÌõÕâһѡÏî´¦ÓÚÑ¡ÖÐ״̬¡£Èç¹û²»Ï£ÍûÔÚÆô¶¯Ó¦ÓóÌÐòʱÏÔʾ¹¤¾ßÌõ£¬¿ÉÒÔÈ¡ÏûÑ¡ÖдËÑ¡Ïî¡£

ͼ3-5

ͼ3-6

3.´´½¨°´Å¥

£¨1£©ÊäÈ빤¾ßÌõÊôÐԺ󣬼´¿É´´½¨Ð°´Å¥¡£ÓÒ¼üµ¥»÷ÃûΪ¡°¹¤¾ßÌõ¡±µÄй¤¾ßÌõ²¢Ñ¡Ôñ¡°Ð½¨°´Å¥¡±£¬Èçͼ3-7¡£

ͼ3-7

£¨2£©Ð½¨°´Å¥ºó£¬Îª°´Å¥¼üÈëÏàÓ¦µÄÊôÐÔÐÅÏ¢£¬Èçͼ3-8£¬

ͼ3-8

°´Å¥¾ßÓжà¸öÊôÐÔÐèÒªÉèÖá£ÒÔÏÂÁгöÁËËùÓÐÕâЩÊôÐÔ¼°Æä¶ÔÓ¦µÄ˵Ã÷¡£ÕâЩÊôÐÔ´æ´¢ÔÚÏîÄ¿µÄ ÎļþÖÐ

ÊôÐÔ ÃèÊö ¶¨Òå°´Å¥±êÌâ¡£ÏÂͼÏÔʾÁË ArcGIS ¼ÓÔØÏî¹ÜÀíÆ÷ÖÐʹÓõıêÌ⣬ÓÐÖúÓÚ±êʶ²»Í¬ÀàÐ͵ĿÉÓÃ×Ô¶¨ÒåÄÚÈÝ£¨¼ÓÔØÏîÀàÐÍÔÚÀ¨ºÅ±êÌ⣨±ØÌ Öбêʶ£©£º ÔÚ×ÀÃæÓ¦ÓóÌÐòÖе¥»÷°´Å¥ºóÖ´ÐÐµÄ Python Àà¡£Python ÀàÊÇÀࣨ±ØÌ дÈë°´Å¥ÒµÎñÂß¼­µÄλÖ᣹¹ÔìÀàʱӦʹÓà Python µ¥´ÊÊ××Öĸ´óдÃüÃûÔ¼¶¨£¬ÀýÈçӦʹÓá°ZoomToSelectedFeatures¡±¶ø²»ÊÇ¡°zoomtoselectedfeatures¡±¡£ ÓÃÓÚ±êʶ°´Å¥µÄΨһÃû³Æ¡£Äú¿ÉÒÔΪ¸ø¶¨ÏîÄ¿´´½¨¶à¸ö°´Å¥£¬´Ë ID ±ãÓÃÀ´Çø·Ö²»Í¬µÄ°´Å¥¡£ÀíÏëÇé¿öÏ£¬Ó¦Ê¹ÓøüÓÐÒâÒåµÄÖµID£¨±ØÌ Ìæ»»Ä¬ÈÏ ID¡£ID ²»Ó¦°üº¬Èκοոñ¡£¿ÉÒÔʹÓÃÏ»®ÏßÁ¬½Óµ¥´Ê¡£²»Ó¦Ê¹Óà Python ¹Ø¼ü×Ö¡£Óйر£Áô×ÖÐÅÏ¢£¬Çë²éÔÄ Python Îĵµ¡£ ¹¤¾ßÌáʾ£¨¿ÉÑ¡£© ½«Êó±êÖ¸ÕëÐüÍ£ÔÚ×ÀÃæÓ¦ÓóÌÐòÖеİ´Å¥ÉÏ·½Ê±³öÏֵļò¶ÌÃèÊö¡£ °´Å¥¹¦ÄܵÄÏêϸÃèÊö¡£½«Êó±êÖ¸ÕëÐüÍ£ÔÚ°´Å¥ÉÏ·½Ê±£¬´ËÏûÏ¢»áÏûÏ¢£¨¿ÉÑ¡£© ÏÔʾÔÚ¹¤¾ßÌáʾÏ·½¡£ ´ËͼÏñӦΪ 16 * 16 ÏñËØµÄͼÏñ£¬ÓÃÓÚ·ûºÅ»¯°´Å¥¡£Í¼Ïñ¸ñʽͼÏñ£¨¿ÉÑ¡£© ӦΪÈÎÒâÒ»ÖÖ³£ÓÃͼƬ¸ñʽ£¨¼´.bmp¡¢.jpgµÈ£©¡£Í¼Ïñ½«¸´ÖƵ½¼ÓÔØÏîÏîÄ¿Öд´½¨µÄͼÏñÎļþ¼ÐÖС£ 4.±à¼­ Python ½Å±¾

´ËʱÒÑΪ¶¨Òå¼ÓÔØÏî°´Å¥ËùÐèµÄÊôÐÔÌí¼ÓÁËÖµ¡£´Ë¹¤×÷Á÷µÄÏÂÒ»²½ÊDZ༭

Python ½Å±¾²¢¸üРPython À࣬ÒÔ°üº¬¡°Ëõ·ÅÖÁËùÑ¡ÒªËØ¡±ÕâÒ»¹¦ÄÜ¡£Èç¹ûδѡÔñÈκÎÒªËØ£¬Ôò»áËõ·ÅÖÁËùÓÐͼ²ãµÄȫͼ¡£Òª½«´Ë¹¦ÄÜÌí¼Óµ½×Ô¶¨Òå°´Å¥£¬Ö´ÐÐÒÔϲ½Ö裺

£¨1£© ÔÚarcgisÈí¼þĿ¼ÏÂÕÒµ½Èçͼ3-9ËùʾµÄPython±à¼­Æ÷£¬´ò¿ªÍ¨¹ýÏòµ¼

´´½¨µÄ¹¤×÷Îļþ¼Ðϵġ°install¡±Îļþ¼ÐÖÐPython½Å±¾¡£

ͼ3-9

£¨2£© ÔÚonClick(self)º¯ÊýÖмüÈëÏà¹Ø´úÂ룬Èçͼ3-10.

ͼ3-10

£¨3£© ±£´æ½Å±¾£¬Èç¹û³öÏÖͼ3-11ËùʾµÄ¾¯¸æÐÅÏ¢£¬ÔòÐèÒªÔڽű¾Í·ÉϼÓÉÏ¡°#

coding gbk¡±Èçͼ3-12.

ͼ 3-11 ͼ3-12

5.²âÊÔ°´Å¥

£¨1£©´´½¨¼ÓÔØÏîÎļþ£º תµ½¹¤×÷Îļþ¼Ð£¬Ë«»÷¸ÃÎļþ¼ÐÒÔÔËÐÐ £¨Í¼3-13£©½Å±¾¡£´Ë½Å±¾½«¼ÓÔØÏîËùÐèµÄÈ«²¿ÎļþºÍÎļþ¼Ð¶¼¸´ÖƵ½¹¤×÷Îļþ¼ÐÖеļÓÔØÏîѹËõÎļþÖС£ÎļþÃû°üÀ¨¹¤×÷Îļþ¼ÐÃû³ÆºÍ.esriaddin À©Õ¹Ãû£¨Í¼3-14£©¡£

ͼ3-13

ͼ3-14

£¨2£©°²×°¼ÓÔØÏ˫»÷еļÓÔØÏîÎļþÒÔÆô¶¯ ESRI ArcGIS ¼ÓÔØÏî°²×°¹¤¾ß¡£µ÷Óô˹¤¾ßºó£¬Ëü·ÖÎö¼ÓÔØÏîÎļþÄÚµÄ £¬²¢ÏÔʾ´´½¨¼ÓÔØÏîʱÊäÈëµÄÏîÄ¿ÉèÖÃÒÔ¼°¼ÓÔØÏîÊÇ·ñ°üº¬ÊÜÐÅÊý×ÖÇ©Ãû£¨Èçͼ3-15£©¡£

ͼ3-15

£¨3£©Ê¹ÓüÓÔØÏ´Ëʱ¿ÉʹÓÃΪ ArcGIS for Desktop Ó¦ÓóÌÐòÉè¼ÆµÄ×Ô¶¨Ò幦ÄÜ¡£Æô¶¯×ÀÃæÓ¦ÓóÌÐò (ArcMap)¡£×Ô¶¨Ò幤¾ßÌõ£¨£©¿ÉÄÜÒѾ­´¦Óڿɼû״̬²¢¿ÉÓÃÓÚ²âÊÔ¡£Èç¹û²»¿É¼û£¬¿Éתµ½×Ô¶¨Òå²Ëµ¥£¬È»ºóµ¥»÷¼ÓÔØÏî¹ÜÀíÆ÷¡£¼ÓÔØÏî¹ÜÀíÆ÷¶Ô»°¿ò½«ÁгöÕë¶Ôµ±Ç°Ó¦ÓóÌÐò°²×°µÄ¼ÓÔØÏî¡£Ó¦ÏÔʾ×÷ΪÏîÄ¿ÉèÖöøÊäÈëµÄ¼ÓÔØÏîÐÅÏ¢£¬ÈçÃû³Æ¡¢ÃèÊöºÍͼÏñ¡£Èç¹û¼ÓÔØÏîÁÐÓÚ¹ÜÀíÆ÷ÖУ¬¿Éµ¥»÷×Ô¶¨Òå°´Å¥´ò¿ª×Ô¶¨Òå ¶Ô»°¿ò¡£Òª½«¹¤¾ßÌõÌí¼Óµ½Ó¦ÓóÌÐò£¬¿Éµ¥»÷¹¤¾ßÌõÑ¡Ï£¬È»ºóÑ¡ÔñÄúËù´´½¨µÄ¹¤¾ßÌõ¡£

£¨4£©½«Ê¾ÀýÊý¾Ý¼ÓÔØµ½ArcMapÖУ¬¿ªÊ¼±à¼­ºóÈÎÒâÑ¡ÖÐÒ»¸öÒªËØ£¨Èçͼ3-16£©£¬µ¥»÷×Ô¶¨Ò幤¾ßÌõÖеġ°¡±°´Å¥£¬µØÍ¼»á×Ô¶¯Ëõ·Åµ½Ñ¡ÖÐÒªËØµÄλÖã¨Èçͼ3-17£©¡£

ͼ3-16

ͼ3-17

ʵϰËÄ ×ÚµØËÄÖÁÌáÈ¡

1. ËÄÖÁÌáÈ¡²½Öè

½çÖ·Ïß±íʾµØ¿éµÄ±ß½çÏߣ¬½çÖ·µã±íʾ½çÖ·ÏßµÄתÕÛµã»ò½»µã¡£½çÖ·µã¡¢Ïß

ÊÇÈ·¶¨µØ¿éλÖõÄÖØÒª×ÊÁÏ¡£½çÖ·µã¡¢ÏßÊôÐÔÐÅÏ¢Òª²É¼¯µÄÖØÒªÄÚÈÝ¡£ÊôÐÔÐÅÏ¢ÖУ¬¹æ¶¨µÄ½ç±êÀàÐÍÓоÅÖÖ£¬·Ö±ðÊǸֶ¤¡¢Ë®Äà×®¡¢Ê¯»Ò×®¡¢ÅçÍ¿¡¢´É±êÖ¾¡¢ÎÞ±êʶºÍÆäËû½ç±ê£»½çÖ·ÏßÀà±ðÓоÅÖÖ£¬·Ö±ðÊÇÌ﹡¡¢¹µÇþ¡¢µÀ·¡¢ÐÐÊ÷¡¢Î§Ç½¡¢Ç½±Ú¡¢Õ¤À¸¡¢Á½µãÁ¬Ïߣ»½çÖ·ÏßλÖ÷ÖΪÄÚÖÐÍâÈýÖÖ£¬·Ö±ð¶ÔÓ¦½çÖ·ÏßµØÎïµÄ×ÔÓС¢¹²ÓкÍËûÓУ»ÅþÁÚµØÎïȨÀûÈË´ú±í½çÖ·ÏßÁ½²à¶ÔÓ¦Ò²ÊÇÐèËĵijаüµØ¿é·½Ãû³Æ£¬ÖмäÓöººÅ¸ô¿ª¡£ËÄÖÁÌáÈ¡¾ÍÊÇÌáÈ¡×ÚµØËÄÁÚ£¨¶«ÄÏÎ÷±±£©µÄµØ¿éȨÊô£¬»òÕßÏàÁÚµÀ·¡£

1£©ÌáÈ¡½çÖ·µãµÄ²½Ö裺ѭ»·¶ÁÈ¡µØ¿éÒªËØÀàµÄµØ¿é£¬È¡³öÿ¸öµØ¿éµÄËùÓнڵ㣬ÈôµãÒªËØÀàÖÐûÓÐ×ø±êÏàͬµÄµã£¬Ôò½«½Úµã´æÈëµãÒªËØÀàÖС£½çÖ·µãλÖÃÓÉÅ©»§ÖÖµØÊ±×ÔÐÐÔ¼¶¨£¬Êµ¼ÊÉϱíÏÖΪÌ﹡µÄ¹Õ½Ç£¬ÎÞÃ÷ÏÔµØÎï±êÖ¾£¬¹Ê½ç±êÀàÐÍĬÈÏÉèΪ¡°ÆäËû½ç±ê¡±¡£

2£©½çÖ·ÏßÌáÈ¡µÄ²½Ö裺¢ÙÑ­»·¶ÁÈ¡µØ¿é£¬½«Ãæ×´µÄµØ¿éת»»Îª¶à¶ÎÏߣ¬ÔÙ½«¶à¶ÎÏßת»»Îªµ¥¸öµÄÏ߶Σ¬ÈôÏßÒªËØÀàÖÐûÓÐÏàͬµÄÏ߶Σ¬Ôò½«Ïß¶Î×÷Ϊ½çÖ·Ïß´æÈë½çÖ·ÏßÒªËØÀàÖС£¢Ú²éÕÒÓë½çÖ·ÏßÏཻµÄµØ¿é²¢È¡³öµØ¿éµÄ¡°CBFMC¡±ÊôÐÔ£¬½«ÊôÐÔ¸³Öµ¸ø½çÖ·ÏßµÄÅþÁÚµØÎïȨÀûÈËÊôÐÔ¡£½çÖ·ÏßÀà±ðºÍ½çÖ·ÏßλÖõÄÅжϱê×¼ÊÇ£¬Èç¹ûÓë½çÖ·ÏßÏཻµÄµØ¿éÓÐÁ½¸öÔò½çÖ·ÏßÀà±ðΪ¡°Ì﹡¡±£¬½çÖ·ÏßλÖÃΪ¡°ÖС±£»Èç¹ûÓë½çÖ·ÏßÏཻµÄµØ¿éÖ»ÓÐÒ»¸öÔò½çÖ·ÏßÀà±ðΪ¡°µÀ·¡±£¬½çÖ·ÏßλÖÃΪ¡°ÄÚ¡±¡£

3£©ËÄÖÁÌáÈ¡ÖÐÐÄ·¨£ºÍ¼4-1£¬ÖмäµÄµãΪµØ¿éµÄÖÐÐÄ»òÖÊÐÄ£¬ËÄÖÁÇøÓòͨ¹ýÓëxÖá³É45¡ãºÍ135¡ãµÄÁ½ÌõÖ±Ïß»®·Ö£¬ÖÜΧµØ¿éµÄÖÐÐÄÂäÈëÄĸöËÄÖÁÇøÓòÔòÑ¡ÔñÆä×÷ΪµØ¿é¶ÔÓ¦µÄËÄÖÁµØ¿é¡£

ͼ 4-1

¾ßÌå²½ÖèΪ£º

¢Ù Ñ­»·¶ÁÈ¡µØ¿éͼ²ã£¬»ñÈ¡µØ¿éµÄÖÐÐĵã

¢Ú ¶Ôµ±Ç°µØ¿é×÷»º³åÇø£¬¸ù¾ÝµþÖùØÏµÕÒµ½µ±Ç°µØ¿éÖÜΧµÄµØ¿é£¬²¢ÇóµÃÖÜΧµØ¿éµÄÖÐÐÄ£»

¢Û Á¬½Óµ±Ç°µØ¿éµÄÖÐÐÄÓëÖÜΧµØ¿éµÄÖÐÐÄ£¬¸ù¾ÝбÂÊÅжϵؿéµÄËÄÖÁ£» ¢Ü ¶ÔµØ¿éµÄËÄÖÁÐÅÏ¢½øÐиüС£

4£©ËÄÖÁÌáÈ¡½çÖ·Ïß·¨£ºµØ¿é¶ÔÓ¦µÄËÄÖÁµØ¿éÓë¸ÃµØ¿é¶«¡¢ÄÏ¡¢Î÷¡¢±±Ëĸö·½Ïò×îÔ¶Ëĸö½çÖ·µãÏà½Ó¡£¶øÇÒÆäÖеÄÿ¸ö½çÖ·µã¶ÔÓ¦¸ÃµØ¿éµÄÁ½Ìõ½çÖ·Ïߣ¬Ð±Âʾø¶ÔÖµ½ÏСµÄ½çÖ·ÏßΪ¸ÃµØ¿éÓëÆäÄÏÖÁºÍ±±ÖÁµØ¿é¹²ÓеĽçÖ·Ïߣ»Ð±Âʾø¶ÔÖµ½Ï´óµÄ½çÖ·ÏßÔòΪ¸ÃµØ¿éÓëÆä¶«ÖÁºÍÎ÷ÖÁµØ¿é¹²ÓеĽçÖ·Ïß¡£½çÖ·ÏßÖеÄÅþÁÚµØÎïȨÀûÈËÊôÐÔÖÐÓÐÁ½¸öÃû×Ö£¬Ò»¸öÊǸõؿéµÄ³Ð°ü·½Ãû³Æ£¬ÁíÒ»¸öÔòΪÆäÅþÁڳаüµØ¿éȨÀûÈËÐÕÃû£»Èç¹ûÅþÁÚµØÎïȨÀûÈËÖÐÖ»ÓÐÒ»¸öÃû×Ö£¬¸ÃµØ¿éÔÚÕâÌõ½çÖ·Ïß´¦Ã»ÓÐÅþÁڵؿ飬ËÄÖÁÐÅϢĬÈÏÉèÖÃΪ¡°µÀ·¡±¡£ ¾ßÌå²½ÖèÊÇ£º

¢Ù Ñ­»·¶ÁÈ¡µØ¿éͼ²ã£¬È¡³öÒ»¸öµØ¿éµÄËùÓнڵ㣬½«Æä´æÈëÒ»¸öÁ´±íÖУ» ¢Ú ͨ¹ýY×ø±êÖµµÄ±È½ÏÕÒµ½µØ¿éÄϱ±·½ÏòÉÏÁ½¸ö×îÔ¶½çÖ·µã£»Í¨¹ýX×ø±êÖµ±È½ÏµØ¿é¶«Î÷·½ÏòÁ½¸ö×îÔ¶½çÖ·µã£¬½«ÕâЩµãÒÔ¶«ÄÏÎ÷±±µÄ˳Ðò½øÐд洢£» ¢Û ͨ¹ý¾Å½»Ä£ÐͲéÕÒÓëÿ¸ö·½Ïò×îÔ¶½çÖ·µãÏà½ÓµÄÁ½Ìõ½çÖ·Ïߣ¬È»ºóͨ¹ýбÂÊÅжÏÓëµØ¿éËÄÖÁÓйصÄËÄÌõ½çÖ·Ïߣ»

¢Ü ¸ù¾ÝÕâËÄÌõ½çÖ·ÏßѰÕÒ±¾µØ¿éÅþÁڵؿéµÃµ½ËÄÖÁÐÅÏ¢²¢Ð´ÈëµØ¿éËÄÖÁÊôÐÔÖ®ÖС£

2.´úÂëʵÏÖ

1£©ÉèÖÃĬÈϵØÀíÊý¾Ý¿â£ºÔÚPythonÖÐÈç¹ûûÓÐÉèÖù¤×÷»·¾³£¨£©£¬Ä¬ÈϵĻ·¾³Îª¡°Ä¬ÈϵØÀíÊý¾Ý¿â¡±¡£ÔÚĿ¼ÖÐÓÒ¼üµ¥»÷¡°¡±£¬Ñ¡Ôñ¡°ÉèΪĬÈϵØÀíÊý¾Ý¿â¡±£¬Èçͼ4-2¡£

ͼ 4-2

2£©¸ù¾ÝµÚһС½ÚÖеĽçÖ·µã¡¢ÏßÓëËÄÖÁÌáÈ¡²½ÖèÔÚPython´°¿ÚÖнøÐдúÂë±àд

ºÍµ÷ÊÔ£»

3£©´úÂë³É¹¦ÔËÐк󣬸ù¾ÝʵϰÈýÖеIJ½Ö裬×Ô¶¨ÒåÒ»¸ö¹¤¾ßÌõºÍËĸö°´Å¥Èçͼ4-3£¬½«Python´°¿ÚÖеĴúÂë¸´ÖÆµ½Óë°´Å¥¶ÔÓ¦µÄº¯ÊýÖС£

ͼ4-3

4£©ÌáÈ¡Íê³Éºó´ò¿ª¡°jzd¡±Í¼²ãÊôÐÔ±í£¬Èçͼ4-4£¬

ͼ4-4

5)ÌáÈ¡Íê³Éºó´ò¿ª¡°jzx¡±Í¼²ãÊôÐÔ±í£¬Èçͼ4-5

ͼ4-5

5)ÌáÈ¡Íê³Éºó´ò¿ª¡°dk¡±Í¼²ãÊôÐÔ±í£¬Èçͼ4-6,

ͼ4-6

¸½£º²Î¿¼´úÂë

# coding:gbk import arcpy import pythonaddins

class Bound1(object):

\ def __init__(self): = True = False def onClick(self):

curdk = \ for row in curdk: mdk = row[1] cbfmc = row[3]

for part in row[1]: arrpoint = [] for pnt in part: (pnt)

boundpoints = [] #´æ´¢Ëĸö·½ÏòÉϵÄ×îÔ¶µã eastPoint = arrpoint[0] southPoint = arrpoint[0] westPoint = arrpoint[0] northPoint = arrpoint[0] #¸ù¾Ý×ø±êÅÐÇóµÃËĸö·½Ïò×îÔ¶µã for mpnt in arrpoint: if <= :

northPoint = mpnt if >= :

southPoint = mpnt if <= :

eastPoint = mpnt if >= :

westPoint = mpnt (eastPoint) (southPoint) (westPoint) (northPoint)

containedjzxs = [] #´æ´¢ÓëËĸöµãÏཻµÄ8Ìõ½çÖ·Ïß

cjzxqlrs = [] #´æ´¢ÓëËĸöµãÏཻµÄ8Ìõ½çÖ·ÏßµÄÅþÁÚµØÎïȨÀûÈË for boundPoint in boundpoints:

njzx = \ for crowjzx in njzx: jzxpoint = [] cjzxqlr = crowjzx[2]

jzx = crowjzx[1]

for partjzx in crowjzx[1]: for jzxpnt in partjzx: (jzxpnt) ptstart = jzxpoint[0] ptend = jzxpoint[1] isStartTouch = (mdk) isEndTouch = (mdk)

isContain = (isStartTouch and isEndTouch) isTouch = (boundPoint)

isBoundjzx = (isContain and isTouch) if isBoundjzx : (jzx) (cjzxqlr) del njzx dksz = [] default = \µÀ·\

#¸ù¾Ý½çÖ·ÏßµÄбÂÊÈ·¶¨ÄĸöÊÇÓëËÄÖÁÏà¹ØµÄ½çÖ·Ïß #µØ¿é¶«ÖÁ

if abs(((containedjzxs[0]. - containedjzxs[0]./(containedjzxs[0]. - containedjzxs[0].))

>=

abs(((containedjzxs[1].

-

containedjzxs[1]./(containedjzxs[1]. - containedjzxs[1].)): mboundStrings = cjzxqlrs[0].split(\ if len(mboundStrings) == 1: (default) else:

for bString in mboundStrings: if not(bString == cbfmc): (bString) else:

mboundStrings = cjzxqlrs[1].split(\ if len(mboundStrings) == 1: (default) else:

for bString in mboundStrings: if not(bString == cbfmc): (bString) #µØ¿éÄÏÖÁ

if abs(((containedjzxs[2]. - containedjzxs[2]./(containedjzxs[2]. - containedjzxs[2].))

>=

abs(((containedjzxs[3].

-

containedjzxs[3]./(containedjzxs[3]. - containedjzxs[3].)): mboundStrings = cjzxqlrs[3].split(\ if len(mboundStrings) == 1: (default) else:

for bString in mboundStrings: if not(bString == cbfmc): (bString) else:

mboundStrings = cjzxqlrs[2].split(\ if len(mboundStrings) == 1: (default) else:

for bString in mboundStrings: if not(bString == cbfmc): (bString) #µØ¿éÎ÷ÖÁ

if abs(((containedjzxs[4]. - containedjzxs[4]./(containedjzxs[4]. - containedjzxs[4].))

>=

abs(((containedjzxs[5].

-

containedjzxs[5]./(containedjzxs[5]. - containedjzxs[5].)):

mboundStrings = cjzxqlrs[4].split(\ if len(mboundStrings) == 1: (default) else:

for bString in mboundStrings: if not(bString == cbfmc): (bString) else:

mboundStrings = cjzxqlrs[5].split(\ if len(mboundStrings) == 1: (default) else:

for bString in mboundStrings: if not(bString == cbfmc): (bString) #µØ¿é±±ÖÁ

if abs(((containedjzxs[6]. - containedjzxs[6]./(containedjzxs[6]. - containedjzxs[6].))

>=

abs(((containedjzxs[7].

-

containedjzxs[7]./(containedjzxs[7]. - containedjzxs[7].)): mboundStrings = cjzxqlrs[7].split(\ if len(mboundStrings) == 1: (default) else:

for bString in mboundStrings: if not(bString == cbfmc): (bString) else:

mboundStrings = cjzxqlrs[6].split(\ if len(mboundStrings) == 1: (default)

else:

for bString in mboundStrings: if not(bString == cbfmc): (bString) #¸üÐÂËÄÖÁ

curupdk = \ for rowup in curupdk: if rowup[4].equals(mdk): rowup[0] = dksz[0] rowup[1] = dksz[2] rowup[2] = dksz[1] rowup[3] = dksz[3] (rowup) del curupdk del curdk pass

class Bound2(object):

\ def __init__(self): = True = False

def onClick(self): #ÖÐÐÄ·¨

curdk = \ for row in curdk:

overdk = [] #´æ´¢µ±Ç°µØ¿éÖÜΧµØ¿é

overcbfmc = [] #´æ´¢µ±Ç°µØ¿éÖÜΧµØ¿é³Ð°ü·½Ãû³Æ dkdz = [] dknz = []

dkxz = [] dkbz = [] mdk = row[1] cbfmc = row[2]

bmdk = #¶Ôµ±Ç°µØ¿é×÷»º³åÇø·ÖÎö #»ñÈ¡µ±Ç°µØ¿éÖÜΧµØ¿é

alldk = \ for arow in alldk: if not (arow[1]): isOverlap = (arow[1]) if isOverlap : (arow[1]) (arow[2]) del alldk i = 0

#»ñÈ¡Ëĸö·½ÏòµÄµØ¿é while i < len(overdk) :

k = abs( - overdk[i]./ - overdk[i].) if k <= 1 :

if > overdk[i]. : (overcbfmc[i]) else:

(overcbfmc[i]) else :

if > overdk[i]. : (overcbfmc[i]) else:

(overcbfmc[i]) i = i + 1 #Èç¹ûûÓÐÔòĬÈÏΪµÀ·

if len(dknz) == 0 : (\µÀ·\ if len(dkdz) == 0 : (\µÀ·\ if len(dkxz) == 0 : (\µÀ·\ if len(dkbz) == 0 : (\µÀ·\ #¸üÐÂËÄÖÁ

upCur = \ for rowup in upCur:

if rowup[4].equals(mdk): rowup[0] = dkdz[0] rowup[1] = dkxz[0] rowup[2] = dknz[0] rowup[3] = dkbz[0] (rowup) del upCur del curdk pass

class JZD(object):

\ def __init__(self): = True = False def onClick(self): #ÌáÈ¡½çÖ·µã jzd = []

#Ñ­»·¶Áȡÿ¸öµØ¿é»ñÈ¡ËùÓеĽçÖ·µã

curdk = \ for row in curdk: cbfmc = row[2] for part in row[1]: arrpoint = [] for pnt in part: (pnt)

for cpoint in arrpoint: isSaved = False for cjzd in jzd : if (cpoint): isSaved = True if not isSaved : (cpoint) del curdk #²åÈë½çÖ·µã

curInsert = \ for jzdpoint in jzd:

([jzdpoint,\ del curInsert pass

class JZX(object):

\ def __init__(self): = True = False def onClick(self): #ÌáÈ¡½çÖ·Ïß jzx = []

pldwqlr = []

#Ñ­»·¶Áȡÿ¸öµØ¿é»ñÈ¡ËùÓеĽçÖ·µã

curdk = \ for row in curdk: cbfmc = row[2] for part in row[1]: arrpoint = [] for pnt in part: (pnt) i = 0

while i < len(arrpoint)-1:

array = ([arrpoint[i],arrpoint[i + 1]]) curLine = (array)

isSaved = False #Åжϵ±Ç°½çÖ·ÏßÊÇ·ñÒѾ­´æ´¢¹ý for cLine in jzx: if (curLine): isSaved = True if not isSaved: (curLine)

curAlldk = \ name = \

for arow in curAlldk: mdk = arow[1] ccbfmc = arow[2]

isStartTouch = arrpoint[i].touches(mdk) isEndTouch = arrpoint[i + 1].touches(mdk) isContain = (isStartTouch and isEndTouch) if isContain :

name = name + ccbfmc + \ name = name[0:len(name)-1]

(name) i = i + 1 del curdk #²åÈë½çÖ·Ïß

curInsert = \ i = 0

while i

([jzx[i],pldwqlr[i],\ i = i+1 del curInsert pass

ËÑË÷¸ü¶à¹ØÓÚ£º ArcGISPythonʵϰָµ¼ µÄÎĵµ
ArcGISPythonʵϰָµ¼.doc ½«±¾ÎĵÄWordÎĵµÏÂÔØµ½µçÄÔ£¬·½±ã¸´ÖÆ¡¢±à¼­¡¢ÊղغʹòÓ¡
±¾ÎÄÁ´½Ó£ºhttps://www.diyifanwen.net/c1ol1k3qhz58xzko02xoc4ddq3430jm00yci_1.html£¨×ªÔØÇë×¢Ã÷ÎÄÕÂÀ´Ô´£©

Ïà¹ØÍÆ¼ö£º

ÈÈÃÅÍÆ¼ö
Copyright © 2012-2023 µÚÒ»·¶ÎÄÍø °æÈ¨ËùÓÐ ÃâÔðÉùÃ÷ | ÁªÏµÎÒÃÇ
ÉùÃ÷ :±¾ÍøÕ¾×ðÖØ²¢±£»¤ÖªÊ¶²úȨ£¬¸ù¾Ý¡¶ÐÅÏ¢ÍøÂç´«²¥È¨±£»¤ÌõÀý¡·£¬Èç¹ûÎÒÃÇ×ªÔØµÄ×÷Æ·ÇÖ·¸ÁËÄúµÄȨÀû,ÇëÔÚÒ»¸öÔÂÄÚ֪ͨÎÒÃÇ£¬ÎÒÃǻἰʱɾ³ý¡£
¿Í·þQQ£ºxxxxxx ÓÊÏ䣺xxxxxx@qq.com
ÓåICP±¸2023013149ºÅ
Top