2011-10-15 17:30:12

本文深入剖析了Android系统中Looper的工作原理,包括Looper对象的创建过程、管道机制及其与epoll机制的结合使用,揭示了应用程序主线程如何在消息队列中等待消息及被唤醒的机制。
部署运行你感兴趣的模型镜像
 


2011-10-15 17:30:12

 


它主要就是在内部创建了一个Looper对象,注意,这个Looper对象是实现在JNI层的,它与上面Java层中的Looper是不一样的,不过它们是对应的,

下面我们进一步分析消息循环的过程的时候,读者就会清楚地了解到它们之间的关系。
这个Looper的创建过程也很重要,不过我们暂时放一放,先分析完 android_os_MessageQueue_nativeInit 函数的执行,


它创建了本地消息队列NativeMessageQueue对象之后,接着调用android_os_MessageQueue_setNativeMessageQueue函数来把这个消息队列对象保存在前面我们在


Java层中创建的MessageQueue对象的mPtr成员变量里面:

 

view plaincopy to clipboardprint?
01.static void android_os_MessageQueue_setNativeMessageQueue(JNIEnv* env, jobject messageQueueObj, 
02.        NativeMessageQueue* nativeMessageQueue) { 
03.    env->SetIntField(messageQueueObj, gMessageQueueClassInfo.mPtr, 
04.             reinterpret_cast<jint>(nativeMessageQueue)); 
05.} 
static void android_os_MessageQueue_setNativeMessageQueue(JNIEnv* env, jobject messageQueueObj,
        NativeMessageQueue* nativeMessageQueue) {
    env->SetIntField(messageQueueObj, gMessageQueueClassInfo.mPtr,
             reinterpret_cast<jint>(nativeMessageQueue));
}        这里传进来的参数messageQueueObj即为我们前面在Java层创建的消息队列对象,而gMessageQueueClassInfo.mPtr即表示在Java类MessageQueue中,

其成员变量mPtr的偏移量,通过这个偏移量,就可以把这个本地消息队列对象natvieMessageQueue保存在Java层创建的消息队列对象的mPtr成员变量中

,这是为了后续我们调用Java层的消息队列对象的其它成员函数进入到JNI层时,能够方便地找回它在JNI层所对应的消息队列对象。

    我们再回到NativeMessageQueue的构造函数中,看看JNI层的Looper对象的创建过程,即看看它的构造函数是如何实现的,
   
    这个Looper类实现在frameworks/base/libs/utils/Looper.cpp文件中:

 

view plaincopy to clipboardprint?
01.Looper::Looper(bool allowNonCallbacks) : 
02.    mAllowNonCallbacks(allowNonCallbacks), 
03.    mResponseIndex(0) { 
04.    int wakeFds[2]; 
05.    int result = pipe(wakeFds); 
06.    ...... 
07. 
08.    mWakeReadPipeFd = wakeFds[0]; 
09.    mWakeWritePipeFd = wakeFds[1]; 
10. 
11.    ...... 
12. 
13.#ifdef LOOPER_USES_EPOLL  
14.    // Allocate the epoll instance and register the wake pipe.  
15.    mEpollFd = epoll_create(EPOLL_SIZE_HINT); 
16.    ...... 
17. 
18.    struct epoll_event eventItem; 
19.    memset(& eventItem, 0, sizeof(epoll_event)); // zero out unused members of data field union  
20.    eventItem.events = EPOLLIN; 
21.    eventItem.data.fd = mWakeReadPipeFd; 
22.    result = epoll_ctl(mEpollFd, EPOLL_CTL_ADD, mWakeReadPipeFd, & eventItem); 
23.    ...... 
24.#else  
25.    ...... 
26.#endif  
27. 
28.    ...... 
29.} 
Looper::Looper(bool allowNonCallbacks) :
 mAllowNonCallbacks(allowNonCallbacks),
 mResponseIndex(0) {
 int wakeFds[2];
 int result = pipe(wakeFds);
 ......

 mWakeReadPipeFd = wakeFds[0];
 mWakeWritePipeFd = wakeFds[1];

 ......

#ifdef LOOPER_USES_EPOLL
 // Allocate the epoll instance and register the wake pipe.
 mEpollFd = epoll_create(EPOLL_SIZE_HINT);
 ......

 struct epoll_event eventItem;
 memset(& eventItem, 0, sizeof(epoll_event)); // zero out unused members of data field union
 eventItem.events = EPOLLIN;
 eventItem.data.fd = mWakeReadPipeFd;
 result = epoll_ctl(mEpollFd, EPOLL_CTL_ADD, mWakeReadPipeFd, & eventItem);
 ......
#else
 ......
#endif

 ......
}        这个构造函数做的事情非常重要,它跟我们后面要介绍的应用程序主线程在消息队列中没有消息时要进入等待状态以及当消息队列有消息时要把应用程序主线程唤醒的

这两个知识点息息相关。它主要就是通过pipe系统调用来创建了一个管道了:


view plaincopy to clipboardprint?
01.int wakeFds[2]; 
02.int result = pipe(wakeFds); 
03....... 
04. 
05.mWakeReadPipeFd = wakeFds[0]; 
06.mWakeWritePipeFd = wakeFds[1]; 
int wakeFds[2];
int result = pipe(wakeFds);
......

mWakeReadPipeFd = wakeFds[0];
mWakeWritePipeFd = wakeFds[1];      


 管道是Linux系统中的一种进程间通信机制,具体可以参考前面一篇文章Android学习启动篇推荐的一本书《Linux内核源代码情景分析》中的第6章--传统的Uinx进程间通信。
 
 简单来说,管道就是一个文件,在管道的两端,分别是两个打开文件文件描述符,这两个打开文件描述符都是对应同一个文件,其中一个是用来读的,
 
 别一个是用来写的,一般的使用方式就是,一个线程通过读文件描述符中来读管道的内容,当管道没有内容时,这个线程就会进入等待状态,
 
 而另外一个线程通过写文件描述符来向管道中写入内容,写入内容的时候,如果另一端正有线程正在等待管道中的内容,那么这个线程就会被唤醒。
 
 这个等待和唤醒的操作是如何进行的呢,这就要借助Linux系统中的epoll机制了。 Linux系统中的epoll机制为处理大批量句柄而作了改进的poll,
 
 是Linux下多路复用IO接口select/poll的增强版本,它能显著减少程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。
 
 但是这里我们其实只需要监控的IO接口只有mWakeReadPipeFd一个,即前面我们所创建的管道的读端,为什么还需要用到epoll呢?
 
 有点用牛刀来杀鸡的味道。其实不然,这个Looper类是非常强大的,它除了监控内部所创建的管道接口之外,还提供了addFd接口供外界面调用,
 
 外界可以通过这个接口把自己想要监控的IO事件一并加入到这个Looper对象中去,当所有这些被监控的IO接口上面有事件发生时,就会唤醒相应的线程来处理,
 
 不过这里我们只关心刚才所创建的管道的IO事件的发生。

 
 要使用Linux系统的epoll机制,首先要通过epoll_create来创建一个epoll专用的文件描述符:


view plaincopy to clipboardprint?
01.mEpollFd = epoll_create(EPOLL_SIZE_HINT); 
mEpollFd = epoll_create(EPOLL_SIZE_HINT);       传入的参数EPOLL_SIZE_HINT是在这个mEpollFd上能监控的最大文件描述符数。

       接着还要通过epoll_ctl函数来告诉epoll要监控相应的文件描述符的什么事件:


view plaincopy to clipboardprint?
01.struct epoll_event eventItem; 
02.memset(& eventItem, 0, sizeof(epoll_event)); // zero out unused members of data field union  
03.eventItem.events = EPOLLIN; 
04.eventItem.data.fd = mWakeReadPipeFd; 
05.result = epoll_ctl(mEpollFd, EPOLL_CTL_ADD, mWakeReadPipeFd, & eventItem); 
struct epoll_event eventItem;
memset(& eventItem, 0, sizeof(epoll_event)); // zero out unused members of data field union
eventItem.events = EPOLLIN;
eventItem.data.fd = mWakeReadPipeFd;
result = epoll_ctl(mEpollFd, EPOLL_CTL_ADD, mWakeReadPipeFd, & eventItem);       这里就是告诉mEpollFd,

它要监控mWakeReadPipeFd文件描述符的EPOLLIN事件,即当管道中有内容可读时,就唤醒当前正在等待管道中的内容的线程。

您可能感兴趣的与本文相关的镜像

Wan2.2-T2V-A5B

Wan2.2-T2V-A5B

文生视频
Wan2.2

Wan2.2是由通义万相开源高效文本到视频生成模型,是有​50亿参数的轻量级视频生成模型,专为快速内容创作优化。支持480P视频生成,具备优秀的时序连贯性和运动推理能力

Script ===================== 工具路径 布局名称 问题图斑占用永久基本农田叠加分析图 索引图层 陇把镇\原始数据\问题图斑范围 排除图层 YJJBNTBHTB核实处置 输出文件夹 I:\占耕建房\新建文件夹 输出文件前缀 2 输出格式 JPEG ===================== 消息 开始时间: 2025年11月25日 10:08:28 [2025-11-25 10:08:28] INFO: ================================================================================ [2025-11-25 10:08:28] INFO: 开始处理布局: 问题图斑占用永久基本农田叠加分析图 [2025-11-25 10:08:28] INFO: 索引图层路径: 陇把镇\原始数据\问题图斑范围 [2025-11-25 10:08:28] INFO: 排除图层: YJJBNTBHTB核实处置 [2025-11-25 10:08:28] INFO: 输出文件夹: I:\占耕建房\新建文件夹 [2025-11-25 10:08:28] INFO: 输出前缀: 2 [2025-11-25 10:08:28] INFO: 输出格式: jpeg [2025-11-25 10:08:28] INFO: ================================================================================ [2025-11-25 10:08:28] INFO: 检查地图框 '地图框' 中的地图 '地图' [2025-11-25 10:08:28] INFO: 找到索引图层: 陇把镇\原始数据\问题图斑范围 (位于地图 '地图') [2025-11-25 10:08:28] INFO: 将应用过滤的图层: c533124陇川县_原始下发点_SpatialJoin7 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: c533124陇川县_原始下发点_SpatialJoin5 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 乡镇图斑\户撒乡 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 乡镇图斑\景罕镇 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 乡镇图斑\章凤镇 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 乡镇图斑\城子 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 乡镇图斑\户撒乡 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 乡镇图斑\景罕镇 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 乡镇图斑\章凤镇 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 乡镇图斑\城子 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 533124陇川县_原始下发点数据 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 陇川县2018-2024年农村宅基地 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 章凤拉勐村委会\主房_附房 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 章凤拉勐村委会\主房 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 章凤拉勐村委会\庭院 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 章凤拉勐村委会\附房 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 章凤拉勐村委会\宗地 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 章凤拉勐村委会\主房_附房 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 章凤拉勐村委会\主房 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 章凤拉勐村委会\庭院 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 章凤拉勐村委会\附房 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 章凤拉勐村委会\宗地 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 章凤芒拉村委会\原始数据\附房1_ClearZM [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 章凤芒拉村委会\原始数据\院场1_ClearZM [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 章凤芒拉村委会\原始数据\主房1_ClearZM [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 章凤芒拉村委会\原始数据\宗地_ClearZM_SpatialJoin [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 章凤芒拉村委会\原始数据\附房1_ClearZM [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 章凤芒拉村委会\原始数据\院场1_ClearZM [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 章凤芒拉村委会\原始数据\主房1_ClearZM [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 章凤芒拉村委会\原始数据\宗地_ClearZM_SpatialJoin [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 章凤芒拉村委会\原始数据\附房1_ClearZM [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 章凤芒拉村委会\原始数据\院场1_ClearZM [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 章凤芒拉村委会\原始数据\主房1_ClearZM [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 章凤芒拉村委会\原始数据\宗地_ClearZM_SpatialJoin [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 章凤芒拉村委会\原始数据\附房1_ClearZM [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 章凤芒拉村委会\原始数据\院场1_ClearZM [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 章凤芒拉村委会\原始数据\主房1_ClearZM [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 章凤芒拉村委会\原始数据\宗地_ClearZM_SpatialJoin [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 景罕镇\景罕广宋\问题图斑范围 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 景罕镇\景罕广宋\房屋庭院 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 景罕镇\景罕广宋\原始数据\宗地 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 景罕镇\景罕广宋\原始数据\房屋建筑图斑 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 景罕镇\景罕广宋\原始数据\附房 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 景罕镇\景罕广宋\原始数据\庭院 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 景罕镇\景罕广宋\原始数据\问题图斑范围 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 景罕镇\景罕广宋\原始数据\宗地 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 景罕镇\景罕广宋\原始数据\房屋建筑图斑 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 景罕镇\景罕广宋\原始数据\附房 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 景罕镇\景罕广宋\原始数据\庭院 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 景罕镇\景罕广宋\原始数据\问题图斑范围 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 景罕镇\景罕广宋\问题图斑范围 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 景罕镇\景罕广宋\房屋庭院 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 景罕镇\景罕广宋\原始数据\宗地 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 景罕镇\景罕广宋\原始数据\房屋建筑图斑 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 景罕镇\景罕广宋\原始数据\附房 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 景罕镇\景罕广宋\原始数据\庭院 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 景罕镇\景罕广宋\原始数据\问题图斑范围 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 景罕镇\景罕广宋\原始数据\宗地 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 景罕镇\景罕广宋\原始数据\房屋建筑图斑 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 景罕镇\景罕广宋\原始数据\附房 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 景罕镇\景罕广宋\原始数据\庭院 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 景罕镇\景罕广宋\原始数据\问题图斑范围 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 景罕镇\景罕广宋\问题图斑范围 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 景罕镇\景罕广宋\房屋庭院 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 景罕镇\景罕广宋\原始数据\宗地 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 景罕镇\景罕广宋\原始数据\房屋建筑图斑 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 景罕镇\景罕广宋\原始数据\附房 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 景罕镇\景罕广宋\原始数据\庭院 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 景罕镇\景罕广宋\原始数据\问题图斑范围 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 景罕镇\景罕广宋\原始数据\宗地 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 景罕镇\景罕广宋\原始数据\房屋建筑图斑 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 景罕镇\景罕广宋\原始数据\附房 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 景罕镇\景罕广宋\原始数据\庭院 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 景罕镇\景罕广宋\原始数据\问题图斑范围 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 景罕镇\景罕广宋\问题图斑范围 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 景罕镇\景罕广宋\房屋庭院 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 景罕镇\景罕广宋\原始数据\宗地 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 景罕镇\景罕广宋\原始数据\房屋建筑图斑 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 景罕镇\景罕广宋\原始数据\附房 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 景罕镇\景罕广宋\原始数据\庭院 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 景罕镇\景罕广宋\原始数据\问题图斑范围 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 景罕镇\景罕广宋\原始数据\宗地 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 景罕镇\景罕广宋\原始数据\房屋建筑图斑 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 景罕镇\景罕广宋\原始数据\附房 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 景罕镇\景罕广宋\原始数据\庭院 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 景罕镇\景罕广宋\原始数据\问题图斑范围 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 乡镇范围\城子镇 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 乡镇范围\章凤镇 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 乡镇范围\景罕镇 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 乡镇范围\户撒乡 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 乡镇范围\城子镇 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 乡镇范围\章凤镇 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 乡镇范围\景罕镇 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 乡镇范围\户撒乡 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 结构表\问题图斑属性结构表 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 结构表\问题图斑庭院属性结构表 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 结构表\压占永久基本农田图斑属性结构表 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 结构表\问题图斑附房用房属性结构表 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 结构表\问题图斑主房属性结构表 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 结构表\问题图斑属性结构表 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 结构表\问题图斑庭院属性结构表 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 结构表\压占永久基本农田图斑属性结构表 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 结构表\问题图斑附房用房属性结构表 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 结构表\问题图斑主房属性结构表 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 陇把镇\主房附房庭院 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 陇把镇\原始数据\庭院 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 陇把镇\原始数据\附房 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 陇把镇\原始数据\房屋建筑图斑 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 陇把镇\原始数据\宗地 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 陇把镇\原始数据\问题图斑范围 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 陇把镇\原始数据\庭院 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 陇把镇\原始数据\附房 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 陇把镇\原始数据\房屋建筑图斑 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 陇把镇\原始数据\宗地 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 陇把镇\原始数据\问题图斑范围 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 陇把镇\主房附房庭院 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 陇把镇\原始数据\庭院 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 陇把镇\原始数据\附房 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 陇把镇\原始数据\房屋建筑图斑 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 陇把镇\原始数据\宗地 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 陇把镇\原始数据\问题图斑范围 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 陇把镇\原始数据\庭院 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 陇把镇\原始数据\附房 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 陇把镇\原始数据\房屋建筑图斑 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 陇把镇\原始数据\宗地 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 陇把镇\原始数据\问题图斑范围 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 不动产\ZRZ [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 不动产\SHYQZD [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 不动产\ZRZ [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 不动产\SHYQZD [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 建设用地报批成果 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 陇川县2010年至2024年5月农转用 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 规划用地用海(国空) [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 村规\GHDLTB [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 村规\GHDLTB [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 村规\GHDLTB [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 村规\规划地类图斑 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 村规\GHDLTB [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 村规\规划地类图斑 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 村规\规划地类图斑 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 村规\规划地类图斑 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 村规\规划地类图斑 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 村规\GHDLTB [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 村规\规划地类图斑 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 村规\GHDLTB [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 村规\GHDLTB [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 村规\规划地类图斑 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 村规\规划地类图斑 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 村规\GHDLTB [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 村规\GHDLTB [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 村规\GHDLTB [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 村规\规划地类图斑 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 村规\GHDLTB [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 村规\规划地类图斑 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 村规\规划地类图斑 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 村规\规划地类图斑 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 村规\规划地类图斑 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 村规\GHDLTB [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 村规\规划地类图斑 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 村规\GHDLTB [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 村规\GHDLTB [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 村规\规划地类图斑 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 村规\规划地类图斑 [2025-11-25 10:08:28] INFO: 排除图层: YJJBNTBHTB核实处置 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 10-19变更二调耕地 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 10-19年变更\2019年DLTB [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 10-19年变更\2018年DLTB [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 10-19年变更\2017年DLTB [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 10-19年变更\2016年DLTB [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 10-19年变更\2015年DLTB [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 10-19年变更\2014年DLTB [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 10-19年变更\2013年DLTB [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 10-19年变更\2012年DLTB [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 10-19年变更\2011年DLTB [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 10-19年变更\2010年DLTB [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 10-19年变更\2019年DLTB [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 10-19年变更\2018年DLTB [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 10-19年变更\2017年DLTB [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 10-19年变更\2016年DLTB [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 10-19年变更\2015年DLTB [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 10-19年变更\2014年DLTB [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 10-19年变更\2013年DLTB [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 10-19年变更\2012年DLTB [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 10-19年变更\2011年DLTB [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 10-19年变更\2010年DLTB [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 陇川坝区范围 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 陇把镇 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 信息采集-房屋图斑202510281127 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 2、陇把镇航飞总图纸.dwg\2、陇把镇航飞总图纸-Annotation [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 2、陇把镇航飞总图纸.dwg\2、陇把镇航飞总图纸-Point [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 2、陇把镇航飞总图纸.dwg\2、陇把镇航飞总图纸-Polyline [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 2、陇把镇航飞总图纸.dwg\2、陇把镇航飞总图纸-Polygon [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 2、陇把镇航飞总图纸.dwg\2、陇把镇航飞总图纸-MultiPatch [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 2、陇把镇航飞总图纸.dwg\2、陇把镇航飞总图纸-Annotation [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 2、陇把镇航飞总图纸.dwg\2、陇把镇航飞总图纸-Point [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 2、陇把镇航飞总图纸.dwg\2、陇把镇航飞总图纸-Polyline [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 2、陇把镇航飞总图纸.dwg\2、陇把镇航飞总图纸-Polygon [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 2、陇把镇航飞总图纸.dwg\2、陇把镇航飞总图纸-MultiPatch [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 二调\DLMCZJ [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 二调\地类图斑 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 二调\线状地物 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 二调\JSYDGZQ [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 二调\BQFW [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 二调\GHJBNTBHQ [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 二调\TDGHDL [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 二调\DLMCZJ [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 二调\地类图斑 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 二调\线状地物 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 二调\JSYDGZQ [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 二调\BQFW [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 二调\GHJBNTBHQ [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 二调\TDGHDL [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 三调 [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 三区三线\STBHHX [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 三区三线\YJJBNTBHTB [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 三区三线\GDBHMB [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 三区三线\CZKFBJ [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 三区三线\STBHHX [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 三区三线\YJJBNTBHTB [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 三区三线\GDBHMB [2025-11-25 10:08:28] INFO: 将应用过滤的图层: 三区三线\CZKFBJ [2025-11-25 10:08:28] INFO: 开始处理 138 个页面... [2025-11-25 10:08:29] INFO: 处理页面 1/138 [2025-11-25 10:08:29] ERROR: 处理页面 1 时出错: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:29] ERROR: Traceback (most recent call last): File "I:\arcgispro工具箱\自制工具箱.atbx\Script.tool\tool.script.execute.py", line 162, in main AttributeError: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:30] INFO: 处理页面 2/138 [2025-11-25 10:08:30] ERROR: 处理页面 2 时出错: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:30] ERROR: Traceback (most recent call last): File "I:\arcgispro工具箱\自制工具箱.atbx\Script.tool\tool.script.execute.py", line 162, in main AttributeError: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:31] INFO: 处理页面 3/138 [2025-11-25 10:08:31] ERROR: 处理页面 3 时出错: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:31] ERROR: Traceback (most recent call last): File "I:\arcgispro工具箱\自制工具箱.atbx\Script.tool\tool.script.execute.py", line 162, in main AttributeError: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:31] INFO: 处理页面 4/138 [2025-11-25 10:08:32] ERROR: 处理页面 4 时出错: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:32] ERROR: Traceback (most recent call last): File "I:\arcgispro工具箱\自制工具箱.atbx\Script.tool\tool.script.execute.py", line 162, in main AttributeError: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:33] INFO: 处理页面 5/138 [2025-11-25 10:08:33] ERROR: 处理页面 5 时出错: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:33] ERROR: Traceback (most recent call last): File "I:\arcgispro工具箱\自制工具箱.atbx\Script.tool\tool.script.execute.py", line 162, in main AttributeError: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:34] INFO: 处理页面 6/138 [2025-11-25 10:08:34] ERROR: 处理页面 6 时出错: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:34] ERROR: Traceback (most recent call last): File "I:\arcgispro工具箱\自制工具箱.atbx\Script.tool\tool.script.execute.py", line 162, in main AttributeError: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:35] INFO: 处理页面 7/138 [2025-11-25 10:08:35] ERROR: 处理页面 7 时出错: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:35] ERROR: Traceback (most recent call last): File "I:\arcgispro工具箱\自制工具箱.atbx\Script.tool\tool.script.execute.py", line 162, in main AttributeError: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:36] INFO: 处理页面 8/138 [2025-11-25 10:08:36] ERROR: 处理页面 8 时出错: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:36] ERROR: Traceback (most recent call last): File "I:\arcgispro工具箱\自制工具箱.atbx\Script.tool\tool.script.execute.py", line 162, in main AttributeError: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:37] INFO: 处理页面 9/138 [2025-11-25 10:08:37] ERROR: 处理页面 9 时出错: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:37] ERROR: Traceback (most recent call last): File "I:\arcgispro工具箱\自制工具箱.atbx\Script.tool\tool.script.execute.py", line 162, in main AttributeError: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:38] INFO: 处理页面 10/138 [2025-11-25 10:08:38] ERROR: 处理页面 10 时出错: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:38] ERROR: Traceback (most recent call last): File "I:\arcgispro工具箱\自制工具箱.atbx\Script.tool\tool.script.execute.py", line 162, in main AttributeError: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:39] INFO: 处理页面 11/138 [2025-11-25 10:08:39] ERROR: 处理页面 11 时出错: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:39] ERROR: Traceback (most recent call last): File "I:\arcgispro工具箱\自制工具箱.atbx\Script.tool\tool.script.execute.py", line 162, in main AttributeError: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:40] INFO: 处理页面 12/138 [2025-11-25 10:08:40] ERROR: 处理页面 12 时出错: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:40] ERROR: Traceback (most recent call last): File "I:\arcgispro工具箱\自制工具箱.atbx\Script.tool\tool.script.execute.py", line 162, in main AttributeError: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:41] INFO: 处理页面 13/138 [2025-11-25 10:08:41] ERROR: 处理页面 13 时出错: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:41] ERROR: Traceback (most recent call last): File "I:\arcgispro工具箱\自制工具箱.atbx\Script.tool\tool.script.execute.py", line 162, in main AttributeError: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:41] INFO: 处理页面 14/138 [2025-11-25 10:08:41] ERROR: 处理页面 14 时出错: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:41] ERROR: Traceback (most recent call last): File "I:\arcgispro工具箱\自制工具箱.atbx\Script.tool\tool.script.execute.py", line 162, in main AttributeError: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:42] INFO: 处理页面 15/138 [2025-11-25 10:08:42] ERROR: 处理页面 15 时出错: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:42] ERROR: Traceback (most recent call last): File "I:\arcgispro工具箱\自制工具箱.atbx\Script.tool\tool.script.execute.py", line 162, in main AttributeError: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:43] INFO: 处理页面 16/138 [2025-11-25 10:08:43] ERROR: 处理页面 16 时出错: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:43] ERROR: Traceback (most recent call last): File "I:\arcgispro工具箱\自制工具箱.atbx\Script.tool\tool.script.execute.py", line 162, in main AttributeError: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:44] INFO: 处理页面 17/138 [2025-11-25 10:08:44] ERROR: 处理页面 17 时出错: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:44] ERROR: Traceback (most recent call last): File "I:\arcgispro工具箱\自制工具箱.atbx\Script.tool\tool.script.execute.py", line 162, in main AttributeError: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:45] INFO: 处理页面 18/138 [2025-11-25 10:08:45] ERROR: 处理页面 18 时出错: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:45] ERROR: Traceback (most recent call last): File "I:\arcgispro工具箱\自制工具箱.atbx\Script.tool\tool.script.execute.py", line 162, in main AttributeError: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:46] INFO: 处理页面 19/138 [2025-11-25 10:08:46] ERROR: 处理页面 19 时出错: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:46] ERROR: Traceback (most recent call last): File "I:\arcgispro工具箱\自制工具箱.atbx\Script.tool\tool.script.execute.py", line 162, in main AttributeError: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:47] INFO: 处理页面 20/138 [2025-11-25 10:08:47] ERROR: 处理页面 20 时出错: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:47] ERROR: Traceback (most recent call last): File "I:\arcgispro工具箱\自制工具箱.atbx\Script.tool\tool.script.execute.py", line 162, in main AttributeError: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:48] INFO: 处理页面 21/138 [2025-11-25 10:08:48] ERROR: 处理页面 21 时出错: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:48] ERROR: Traceback (most recent call last): File "I:\arcgispro工具箱\自制工具箱.atbx\Script.tool\tool.script.execute.py", line 162, in main AttributeError: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:49] INFO: 处理页面 22/138 [2025-11-25 10:08:49] ERROR: 处理页面 22 时出错: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:49] ERROR: Traceback (most recent call last): File "I:\arcgispro工具箱\自制工具箱.atbx\Script.tool\tool.script.execute.py", line 162, in main AttributeError: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:50] INFO: 处理页面 23/138 [2025-11-25 10:08:50] ERROR: 处理页面 23 时出错: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:50] ERROR: Traceback (most recent call last): File "I:\arcgispro工具箱\自制工具箱.atbx\Script.tool\tool.script.execute.py", line 162, in main AttributeError: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:51] INFO: 处理页面 24/138 [2025-11-25 10:08:51] ERROR: 处理页面 24 时出错: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:51] ERROR: Traceback (most recent call last): File "I:\arcgispro工具箱\自制工具箱.atbx\Script.tool\tool.script.execute.py", line 162, in main AttributeError: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:52] INFO: 处理页面 25/138 [2025-11-25 10:08:52] ERROR: 处理页面 25 时出错: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:52] ERROR: Traceback (most recent call last): File "I:\arcgispro工具箱\自制工具箱.atbx\Script.tool\tool.script.execute.py", line 162, in main AttributeError: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:53] INFO: 处理页面 26/138 [2025-11-25 10:08:53] ERROR: 处理页面 26 时出错: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:53] ERROR: Traceback (most recent call last): File "I:\arcgispro工具箱\自制工具箱.atbx\Script.tool\tool.script.execute.py", line 162, in main AttributeError: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:54] INFO: 处理页面 27/138 [2025-11-25 10:08:54] ERROR: 处理页面 27 时出错: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:54] ERROR: Traceback (most recent call last): File "I:\arcgispro工具箱\自制工具箱.atbx\Script.tool\tool.script.execute.py", line 162, in main AttributeError: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:55] INFO: 处理页面 28/138 [2025-11-25 10:08:55] ERROR: 处理页面 28 时出错: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:55] ERROR: Traceback (most recent call last): File "I:\arcgispro工具箱\自制工具箱.atbx\Script.tool\tool.script.execute.py", line 162, in main AttributeError: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:55] INFO: 处理页面 29/138 [2025-11-25 10:08:55] ERROR: 处理页面 29 时出错: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:55] ERROR: Traceback (most recent call last): File "I:\arcgispro工具箱\自制工具箱.atbx\Script.tool\tool.script.execute.py", line 162, in main AttributeError: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:56] INFO: 处理页面 30/138 [2025-11-25 10:08:56] ERROR: 处理页面 30 时出错: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:56] ERROR: Traceback (most recent call last): File "I:\arcgispro工具箱\自制工具箱.atbx\Script.tool\tool.script.execute.py", line 162, in main AttributeError: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:57] INFO: 处理页面 31/138 [2025-11-25 10:08:57] ERROR: 处理页面 31 时出错: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:57] ERROR: Traceback (most recent call last): File "I:\arcgispro工具箱\自制工具箱.atbx\Script.tool\tool.script.execute.py", line 162, in main AttributeError: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:58] INFO: 处理页面 32/138 [2025-11-25 10:08:58] ERROR: 处理页面 32 时出错: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:58] ERROR: Traceback (most recent call last): File "I:\arcgispro工具箱\自制工具箱.atbx\Script.tool\tool.script.execute.py", line 162, in main AttributeError: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:59] INFO: 处理页面 33/138 [2025-11-25 10:08:59] ERROR: 处理页面 33 时出错: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:08:59] ERROR: Traceback (most recent call last): File "I:\arcgispro工具箱\自制工具箱.atbx\Script.tool\tool.script.execute.py", line 162, in main AttributeError: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:09:00] INFO: 处理页面 34/138 [2025-11-25 10:09:00] ERROR: 处理页面 34 时出错: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:09:00] ERROR: Traceback (most recent call last): File "I:\arcgispro工具箱\自制工具箱.atbx\Script.tool\tool.script.execute.py", line 162, in main AttributeError: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:09:01] INFO: 处理页面 35/138 [2025-11-25 10:09:01] ERROR: 处理页面 35 时出错: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:09:01] ERROR: Traceback (most recent call last): File "I:\arcgispro工具箱\自制工具箱.atbx\Script.tool\tool.script.execute.py", line 162, in main AttributeError: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:09:02] INFO: 处理页面 36/138 [2025-11-25 10:09:02] ERROR: 处理页面 36 时出错: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:09:02] ERROR: Traceback (most recent call last): File "I:\arcgispro工具箱\自制工具箱.atbx\Script.tool\tool.script.execute.py", line 162, in main AttributeError: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:09:03] INFO: 处理页面 37/138 [2025-11-25 10:09:03] ERROR: 处理页面 37 时出错: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:09:03] ERROR: Traceback (most recent call last): File "I:\arcgispro工具箱\自制工具箱.atbx\Script.tool\tool.script.execute.py", line 162, in main AttributeError: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:09:04] INFO: 处理页面 38/138 [2025-11-25 10:09:04] ERROR: 处理页面 38 时出错: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:09:04] ERROR: Traceback (most recent call last): File "I:\arcgispro工具箱\自制工具箱.atbx\Script.tool\tool.script.execute.py", line 162, in main AttributeError: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:09:05] INFO: 处理页面 39/138 [2025-11-25 10:09:05] ERROR: 处理页面 39 时出错: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:09:05] ERROR: Traceback (most recent call last): File "I:\arcgispro工具箱\自制工具箱.atbx\Script.tool\tool.script.execute.py", line 162, in main AttributeError: 'pageRow' object has no attribute 'getValue' [2025-11-25 10:09:06] INFO: 恢复图层原始状态... [2025-11-25 10:09:06] INFO: 恢复图层: c533124陇川县_原始下发点_SpatialJoin7 [2025-11-25 10:09:06] INFO: 恢复图层: c533124陇川县_原始下发点_SpatialJoin5 [2025-11-25 10:09:07] INFO: 恢复图层: 户撒乡 [2025-11-25 10:09:07] INFO: 恢复图层: 景罕镇 [2025-11-25 10:09:07] INFO: 恢复图层: 章凤镇 [2025-11-25 10:09:07] INFO: 恢复图层: 城子 [2025-11-25 10:09:07] INFO: 恢复图层: 户撒乡 [2025-11-25 10:09:07] INFO: 恢复图层: 景罕镇
11-26
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值