Kristian Aalling Sørensen
Este es un módulo de Python para trabajar con imágenes de satélite Sentinel-1, exclusivamente en Python. Le permite encontrar las imágenes que desea, descargarlas y trabajar con ellas (calibrar, ajustar, etc.). Utilizo el paquete SentinelSAT para los metadatos. Luego, los datos se descargan de NASA ASF.
¿Por qué? Porque no trabajo con ESA SNAP. Además, en este caso es más fácil tener todo mi flujo de trabajo en Python.
No doy garantías de calidad, seguridad ni nada. Úselo como desee.
Introducción
Requisitos
Instalar y ejecutar
Utilice imágenes de Sentinel-1 en Python
RAE, brevemente
Expresiones de gratitud
engordado
geopandas
mgrs (debería eliminarse en una versión posterior... lo siento...)
scikit-learn (debe eliminarse en una versión posterior... lo siento...)
scipy (debería eliminarse en una versión posterior... perdón...)
cartopía
Almohada
pandas
centinelas
matplotlib
Este repositorio se puede instalar usando git clone O pypi. Actualmente, solo lo he colocado en pypi-test, así que esperemos que permanezca allí.
Usando Pypi
GDAL. Asegúrate de que tus enlaces gdal estén funcionando...
Instale sentinel_1_python usando la prueba pypy
python3 -m pip install sentinel-1-python --extra-index-url=https://test.pypi.org/simple/
Usando clonar
Instalar todos los requisitos
Clon
git clone https://github.com/aalling93/sentinel_1_python.git
Volver a la tabla de contenido
Obtener metadatos de imágenes
con Sentinel_metadata() como met:met.area([29.9,21,56.7,58])met.get_metadata(sensor='s1_slc',start_data='20220109',end_date='20221010')
Filtra las imágenes si quieres.
met.iw() #filer por lo que solo tenemos IW
Mostrando las imágenes antes de la descarga:
met.plot_image_areas() # Mostrando la extensión de las imágenesmet.show_cross_pol(4)
Luego podemos ver el alcance de las imágenes.
Y mostrar las imágenes antes de descargarlas...
Descarga las imagenes
carpeta = f'{os.getenv("raw_data_dir")}/slc_sweden'with Satellite_download(met.products_df) as dwl:os.makedirs(folder, exist_ok=True)#save metadatadwl.products_df.to_pickle(f'{folder} /slc_dataframe.pkl')#descargar el thumbnailsdwl.download_thumbnails(folder=f'{folder}/slc_thumbnails') #descargue las imágenes slc en formato .zip y extráigalas al formato .SAFE..dwl.download_sentinel_1(f'{folder}/slc')
Cargar, calibrar, imagen de filtro moteado en Python
image_paths = glob.glob(f'{os.getenv("raw_data_dir")}/*/*/*.SAFE')img = s1_load(image_paths[0])img =img.calibrate(mode='gamma') # también podría usar, por ejemplo, 'sigma_0' img = img.boxcar(5) #podría hacer fácilmente, por ejemplo, un Lee filtro..img.simple_plot(band_index=0)
Ahora podemos extraer una región de la imagen, definida por índice o conjunto de coordenadas.
indx = img.get_index(lat=57.0047,long=19.399)img[indx[0]-125:indx[0]+125,indx[1]-125:indx[1]+125].simple_plot(band_index=1 )
Volver a la tabla de contenido
Un radar de apertura sintética (SAR) es un instrumento activo que puede utilizarse, por ejemplo, para tareas de vigilancia no cooperativas. Sus mayores ventajas sobre, por ejemplo, MSI, es que funciona de día y de noche y que puede ver a través de las nubes y la lluvia. Al colocar el instrumento SAR en un satélite, es posible adquirir cobertura global con una resolución temporal y espacial específica del diseño. En consecuencia, combinando, por ejemplo, instrumentos AIS y SAR, se puede adquirir vigilancia cooperativa y no cooperativa.
Un radar es un instrumento que emite pulsos electromagnéticos con una firma específica en el espectro de microondas. Para un radar monoestático, el instrumento de radar transmite y recibe la señal de retrodispersión del pulso. La señal de retrodispersión depende de la estructura del objetivo que iluminó y, por tanto, comparando la conocida señal transmitida y recibida, es posible describir las características geométricas y subyacentes del objetivo utilizando la ecuación del radar monoestático:
dónde ?? ¿La señal recibida se deriva de la señal transmitida? ¿La variable? es la longitud de onda específica del diseño del radar y ?(?,?) el patrón de ganancia del radar. La señal se dispersa según la distancia recorrida, ?. Por lo tanto, se puede derivar la sección transversal del radar, ?(?, ?), que describe las características dieléctricas y geométricas del objetivo y depende de los ángulos ? y ?. Sin embargo, en presencia de ruido, se debe agregar otra contribución a la ecuación del radar monoestático. En mi otro repositorio, https://github.com/aalling93/Finding-on-groud-Radars-in-SAR-images, trabajo con interferencia de radiofrecuencia (RFI). Un fenómeno en el que otras señales de otros radares interfieren con la señal SAR. En términos generales, ?(?,?) describe la energía disponible dentro del área objetivo y, por lo tanto, debe normalizarse con el área. El coeficiente de retrodispersión del radar se calcula mediante:
donde se pueden utilizar diferentes áreas dependiendo del problema que se presente. Cuando se utiliza un SAR como radar de imágenes, cada píxel de la imagen tiene un valor de fase y amplitud. Al calibrar la imagen, es posible obtener el coeficiente de retrodispersión del radar como se ve en la ecuación. . En este módulo, es posible descargar, cargar y calibrar imágenes de Sentinel-1 sin la necesidad de software externo o, por ejemplo, el (infame) paquete Snappy.
Dado que un SAR recibe una contribución de retrodispersión de todos los objetos dentro del área iluminada, surge un fenómeno similar al ruido llamado speckle. Esto da como resultado una imagen granular donde cada píxel es una combinación de la retrodispersión del objeto individual en el área. En mi repositorio, https://github.com/aalling93/Custom-made-SAR-speckle-reduction, implementé varios filtros Speckle diferentes y muestro la diferencia en diferentes condiciones. .
Un radar de imágenes SAR se diferencia de un radar normal en que utiliza el movimiento de su plataforma para sintetizar una mejor resolución, de ahí el nombre de radar de apertura sintética. Al tomar fotografías de un objetivo estacionario, se obtiene una frecuencia Doppler a partir de la velocidad de la plataforma. El SAR emite y recibe varios pulsos hacia y desde el mismo objetivo. Cuando el SAR vuela hacia su objetivo, medirá una frecuencia Doppler positiva que irá disminuyendo hasta que esté perpendicular al objetivo, después de lo cual experimentará una frecuencia Doppler negativa creciente.
La señal electromagnética se transmite con polarización horizontal o vertical, y los SAR paramétricos completos son capaces de transmitir polarización tanto horizontal como vertical. Debido a la interacción del pulso transmitido con el objetivo, tanto la señal vertical como la horizontal se reflejan de regreso al SAR. Esto provoca que se produzcan varios mecanismos de dispersión diferentes. Existen varios tipos de mecanismos de dispersión. Para la detección de barcos, los más destacados son la dispersión de superficie y la dispersión de doble rebote.
Una señal transmitida será en parte absorbida y en parte reflejada por el objeto que ilumina. La dispersión superficial es la dispersión que describe la señal reflejada. Si una superficie es completamente lisa (especular), no se refleja ninguna retrodispersión hacia el SAR. Si la superficie es rugosa, se produce una dispersión y parte del pulso incidente se devuelve al SAR. Las superficies rugosas tienen una mayor retrodispersión en comparación con las superficies más lisas. Además, VV y HH tienen una retrodispersión mayor en comparación con VH y HV (HV y VH son casi siempre iguales) tanto para superficies rugosas como lisas. Una superficie húmeda da como resultado una sección transversal de radar más alta. La retrodispersión de una superficie depende de la rugosidad y la constante dieléctrica del objetivo que ilumina. Por lo tanto, la superficie del océano a menudo resultará en una pequeña retrodispersión debido a su superficie húmeda y relativamente lisa (a bajas velocidades del viento), incluso considerando su alta constante dieléctrica en las frecuencias SAR.
Dispersión de doble rebote y ocurre cuando el pulso transmitido se refleja especularmente dos veces desde una esquina hacia el SAR. Esto da como resultado una retrodispersión muy alta. Los barcos suelen tener muchas esquinas y son muy suaves, lo que da como resultado una retrodispersión especialmente alta. Por lo tanto, a menudo es fácil diferenciar, por ejemplo, los barcos de la superficie del océano. Para obtener más información sobre los mecanismos de dispersión en los océanos. Como se mencionó anteriormente, existen varios otros mecanismos de dispersión y, cuando se detectan, por ejemplo, barcos en imágenes SAR en el Ártico, también se debe considerar la dispersión de volumen.
Debido a la geometría del SAR y su plataforma móvil, los sensores de imágenes SAR típicos están diseñados para tomar imágenes enfocadas con buena resolución bajo el supuesto de que su objetivo está estacionario durante la adquisición de la imagen. Este enfoque no se puede realizar en objetivos en movimiento y, por lo tanto, los instrumentos SAR normales no son adecuados para detectar objetos que se mueven rápidamente, como los barcos. El resultado es un fondo estático bien resuelto y un objetivo en movimiento mal resuelto. En tareas de vigilancia no cooperativas, este es un problema importante. Suponiendo que un objetivo se mueve perpendicular a la línea de visión del SAR con una aceleración constante, es posible reducir el problema teniendo en cuenta el desplazamiento Doppler de las imágenes del SAR. Los buques marítimos normalmente no siguen tales patrones. Por lo tanto, se deben tener en cuenta patrones de trayectoria más complejos al observar barcos con instrumentos SAR.
En resumen, utilizando las capacidades de un instrumento SAR, debería ser posible detectar barcos en la superficie del océano.
Yo, Simon Lupemba, Eigil Lippert
Ver archivo de licencia. En breve:
¡Cítame en tu trabajo! algo como: Kristian Aalling Sørensen (2020) sentinel_1_python [Código fuente]. https://github.com/aalling93/sentinel_1_python. correo electrónico: [email protected]
Consigue que tantos como sea posible me sigan en Github. Usted y sus colegas que usan esto al menos. Soy un cazador de likes.
Destaca este repositorio, condicionado a lo mismo que el anterior.
¿Quizás escribirme uno o dos correos electrónicos contándome el increíble trabajo que hice?
Ayúdame a mejorar el trabajo. Siempre estoy buscando colaboradores.