Python API提取最接近日期的SAR数据

时间:2019-07-05 08:59:18

标签: python google-earth-engine

我有一个Google Earth引擎javascript代码,可以检测最近的SAR图像中的水像素。代码链接:https://code.earthengine.google.com/0a35eea49123a5390b822bac7afc1b0c。我可以在GEE中运行代码并返回所需的内容(如果位置在水上,则返回1,在陆地上,则返回0)。

我尝试开发以下代码,该代码返回字典,而不是单个预期输出。

@RequestMapping(value = "/uploadFile", method = RequestMethod.PUT, consumes = { "multipart/form-data" })
        public Map<String, String> uploadFile(@RequestParam("uploadfile") MultipartFile pdfFile) throws Exception {


            //Download PDF 
            try { 
            File convFile = new File(pdfFile.getOriginalFilename());
            convFile.createNewFile();
            String zipFile = "D://"+pdfFile.getOriginalFilename()+".zip";  //path


                FileOutputStream fos = new FileOutputStream(zipFile);
                ZipOutputStream zos = new ZipOutputStream(fos);
                 zos.putNextEntry(new ZipEntry(pdfFile.getOriginalFilename()));     
                  zos.write(pdfFile.getBytes());   
                   zos.closeEntry();
                   zos.close();

            }
            catch (IOException ioe) {
                System.out.println("Error creating zip file: " + ioe);
            }

    return null;
    }

是否有任何方法可以从Python获取单个值而不是字典?我需要函数的二进制输出(0或1)。

1 个答案:

答案 0 :(得分:0)

您应该在打印时添加.getInfo(),以从该点获得实际值。 Earth Engine在服务器端处理所有数据,因此您必须显式调用.getInfo()才能返回信息。

这是我使用的示例:

P = AltimeterExtraction() 
x= P.watertestpoint(lat=20.5564,lon=94.818,date1='2019-03-30') 
print(x.getInfo())