import rasterio import numpy from xml.dom import minidom from socket import * from oct2py import octave from io import BytesIO import base64 from google.cloud import storage from oauth2client.service_account import ServiceAccountCredentials import os import firebase_admin from firebase_admin import credentials from firebase_admin import db from PIL import Image, ImageFilter from send_notification import send_notification from sendemail import sendemail from sen_start_noti import sen_start_noti from send_sar_email import send_sar_email import json import scipy import random import time import datetime from merge_sar import merge_sar from find_sar import find_sar from merge_dem import merge_dem from find_dem import find_dem from scipy import ndimage from make_bigquery import make_bigquery from send_moni_noti import send_moni_noti from send_error_noti import send_error_noti from gmap_image import gmap_image from gmap_image_large import gmap_image_large from datetime import date from find_img import find_img from find_img_large import find_img_large from merge_img import merge_img from all_proc import all_proc from contour_images import contour_images from send_expiring_noti import send_expiring_noti from send_expired_noti import send_expired_noti from make_trial_bigquery import make_trial_bigquery from gen_geotiff import gen_geotiff from sendgeotifs import sendgeotifs from gen_report import gen_report from get_weather_data import get_weather_data from sendonlyreport import sendonlyreport from gen_failed_report import gen_failed_report from sendfailedreport import sendfailedreport #from search_sentinel import search_sentinel from map_coords import map_coords from search_new_sentinel import search_new_sentinel from convert_to_pdf import convert_to_pdf from latlon_jp2_to_pixel import latlon_jp2_to_pixel from gen_geotiff2 import gen_geotiff2 from search_sentinel_again import search_sentinel_again from get_prev_date import get_prev_date from make_bigquery_again import make_bigquery_again import requests import pdftotree from convert_to_html import convert_to_html from map_planet_coords import map_planet_coords from latlon_tif_to_pixel import latlon_tif_to_pixel import cv2 from merge_planet_img import merge_planet_img import csv import math today = date.today() d1 = today.strftime('%Y%m%d') new_field = 0 print(d1) aqw2 = 1 cred = credentials.Certificate('servicekey.json') image_file = "main.tif" with rasterio.open(image_file) as src: band_blue = src.read(1) with rasterio.open(image_file) as src: band_green = src.read(2) # Load red and NIR bands - note all PlanetScope 4-band images have band order BGRN with rasterio.open(image_file) as src: band_red = src.read(3) with rasterio.open(image_file) as src: band_nir = src.read(4) with rasterio.open(image_file) as src: band_redge = src.read(5) # Allow division by zero numpy.seterr(divide='ignore', invalid='ignore') # Calculate NDVI ndvi = (band_nir.astype(float) - band_red.astype(float)) / (band_nir + band_red) ndre = (band_nir.astype(float) - band_redge.astype(float)) / (band_nir + band_redge) vari = (band_green.astype(float)-band_red.astype(float)/(band_green.astype(float) + band_red.astype(float) - band_blue.astype(float))) # Set spatial characteristics of the output object to mirror the input kwargs = src.meta kwargs.update( dtype=rasterio.float32, count = 1) with rasterio.open('band_nir.png', 'w', **kwargs) as dst: dst.write(band_nir.astype(rasterio.float32),1) # Create the file with rasterio.open('ndvi.tif', 'w', **kwargs) as dst: dst.write_band(1, ndvi.astype(rasterio.float32)) with rasterio.open('ndre.tif', 'w', **kwargs) as dst: dst.write_band(1, ndre.astype(rasterio.float32)) with rasterio.open('vari.tif', 'w', **kwargs) as dst: dst.write_band(1, vari.astype(rasterio.float32)) result_status = octave.drone_index('ndvi')