no output folder解决方案

       这个原因主要是tomcat目录下执行部分文件权限不足,导致编译工作无法进行导致的。具体原因可能是,不同用户在操作服务时,存在权限差异导致的。root启动过一次服务,后来用其他用户进行服务的启动,而在启动之前没有删除tomcat/work/目录下的内容,该目录下还是存在属主为root用户的Catalina目录,在使用其他用户执行启动时,由于该Catalina已存在,就不再重新创建,而是增量修改该目录,但是由于其他用户没有权限修改属主为root的目录和文件,因此报错。解决办法:使用root用户对tomcat整个目录重新授权即可。

chmod -r 777 tomcat具体的目录

import arcpy import os def batch_kml_to_shp(input_folder, output_folder, keep_intermediate=False): """ 批量将 KML 文件转换为 SHP 格式 :param input_folder: 包含 KML 文件的输入文件夹 :param output_folder: 输出 SHP 文件的目录 :param keep_intermediate: 是否保留中间文件 (默认 False) """ try: # 设置工作环境 arcpy.env.overwriteOutput = True # 创建临时地理数据库存放中间结果 temp_gdb = arcpy.CreateFileGDB_management( out_folder_path=output_folder, out_name="TempKMLConversion.gdb" )[0] # 遍历所有 KML 文件 kml_files = [f for f in os.listdir(input_folder) if f.lower().endswith('.kml')] for kml_file in kml_files: try: kml_path = os.path.join(input_folder, kml_file) base_name = os.path.splitext(kml_file)[0] # 步骤 1: 将 KML 转换为图层文件 (临时地理数据库) arcpy.AddMessage(f"正在处理: {kml_file}") output_layer = os.path.join(temp_gdb, base_name) arcpy.KMLToLayer_conversion( kml_path, output_layer, "NO_GROUNDOVERLAY" ) # 步骤 2: 从地理数据库提取要素类 feature_classes = arcpy.ListFeatureClasses(f"{base_name}*", "ALL", output_layer) for fc in feature_classes: # 跳过注记和栅格图层 if "Placemarks" not in fc: continue # 步骤 3: 转换为 Shapefile shp_name = f"{base_name}_{fc.split('_')[-1]}.shp" shp_path = os.path.join(output_folder, shp_name) arcpy.FeatureClassToFeatureClass_conversion( os.path.join(output_layer, fc), output_folder, shp_name ) arcpy.AddMessage(f"已创建: {shp_name}") except Exception as e: arcpy.AddWarning(f"处理 {kml_file} 时出错: {str(e)}") # 清理中间文件 if not keep_intermediate: arcpy.Delete_management(temp_gdb) arcpy.AddMessage("已清理临时文件") except arcpy.ExecuteError: arcpy.AddError(arcpy.GetMessages(2)) except Exception as e: arcpy.AddError(f"脚本执行错误: {str(e)}") if __name__ == "__main__": # 脚本工具参数 input_folder = arcpy.GetParameterAsText(0) output_folder = arcpy.GetParameterAsText(1) keep_intermediate = arcpy.GetParameter(2) # 布尔型参数 batch_kml_to_shp(input_folder, output_folder, keep_intermediate)修复运行成果没有成果
最新发布
06-15
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值