semantic-segmentation/data_preprocessing/sift_tif.py
weixin_46229132 5e0d438280 first commit
2025-05-14 20:45:42 +08:00

55 lines
1.6 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

from osgeo import gdal
import zipfile
import os
from xml.dom.minidom import parseString
import shutil
# 搜索所有硬盘里所有.zip文件
def get_all_zipfiles(root):
zip_lt = []
for root2, dirs, files in os.walk(root):
for file in files:
if file[-4:] == '.zip':
zip_lt.append(os.path.join(root2, file))
return zip_lt
# 定位并读取.zip文件
# zip_dir = 'F:/2101-2400/' # 只处理某一个文件夹
# zip_files_list = os.listdir(zip_dir)
zip_dir = 'F:\\'
zip_files_list = get_all_zipfiles(zip_dir)
# 读取.xml文件
for file_name in zip_files_list:
# print(file_name)
try:
file = zipfile.ZipFile(file_name, "r")
except:
continue
info_list = file.infolist()
for info in info_list:
if info.filename[-4:] == ".xml":
xml_file = file.read(info.filename)
# 解析.xml文件
domTree = parseString(xml_file)
rootNode = domTree.documentElement
infos = rootNode.getElementsByTagName("ProductInfo")[0]
# 筛选西北地区影像
CenterLatitude = eval(infos.getElementsByTagName(
"CenterLatitude")[0].childNodes[0].data)
CenterLongitude = eval(infos.getElementsByTagName(
"CenterLongitude")[0].childNodes[0].data)
# 西北地区四个边界信息: 最高纬度50 最低维度37 最高经度123 最低经度73
if 37 < CenterLatitude < 44:
if 76 < CenterLongitude < 78:
print(file)
# 将文件拷贝至新的文件夹中
shutil.copy(file_name,'E:/wlk_test/')