如何读取WKT格式文件

我们找到了这些有用的包:

Python - shapely.loads()

R - rgeos

如何读取geojson格式文件

我们找到了这些有用的包:

Python -  jsongeojsonshapely (使用json,然后将其转换成shapely的复杂多边形)

R - geojsonio

如何将几何投影到像素坐标

在我们提供的数据集中,我们创建了一组地理坐标,它们在x = [0,1]和y = [-1.0]的范围内。 这些坐标被变换,使得我们模糊卫星图像被拍摄的位置。 图像来自地球上相同的区域。

为了利用这些图像,我们提供每个图像的网格坐标,以便您知道如何缩放它们并将它们与像素的图像对齐。 在grid_sizes.csv中,给出每个imageId的Xmax和Ymin值。

对于每个图像,您应该能够从图像栅格获取宽度(W)和高度(H)。 对于3391 x 3349 x 3的3波段图像,W为3349,H为3391.然后可以按如下方式缩放数据:

如何将的你结果转为多边形

最好使用cascaded_union()将多边形列表展开为不重叠的多边形。

缩放结果回到原来的坐标:

然后就很容易使用shapely来输出多边形到wtk格式文件:mulitpoly.wkt

如何在Python中打开GeoTiff文件

GDAL功能强大但有点难安装。如果你想去用它读取栅格文件,tifffile是一个轻量的打开GeoTiff文件的包。

例如,下面的代码你能读取16波段的图像:

 import gdal
from gdalconst import * img_filename_16bandA = 'data/16band/6100_1_3_A.tif'
img_filename_16bandM = 'data/16band/6100_1_3_M.tif'
img_filename_16bandP = 'data/16band/6100_1_3_P.tif' datasetA = gdal.Open(img_filename_16bandA, GA_ReadOnly )
datasetM = gdal.Open(img_filename_16bandM, GA_ReadOnly )
datasetP = gdal.Open(img_filename_16bandP, GA_ReadOnly ) print 'Size is ',datasetA.RasterXSize,'x',datasetA.RasterYSize, \
'x',datasetA.RasterCount
print 'Size is ',datasetM.RasterXSize,'x',datasetM.RasterYSize, \
'x',datasetM.RasterCount
print 'Size is ',datasetP.RasterXSize,'x',datasetP.RasterYSize, \
'x',datasetP.RasterCount

输出:

Size is 136 x 134 x 8
Size is 848 x 837 x 8
Size is 3391 x 3348 x 1

 或者你能属于tiffffile:

 import tifffile as tiff
P = tiff.imread(img_filename_16bandP)
tiff.imshow(P)

打如何在R中打开Geo Tiff文件

感谢社区成员smota的提出:

 library(raster)
raster_6044_4_4 <- raster("./data/three_band/6040_4_4.tif")
plot(raster_6044_4_4)
library(rgdal)
gdal_6044_4_4 <- readGDAL(paste0("./data/three_band/", '6040_4_4', ".tif"))
plot(gdal_6044_4_4)

处理图像:

 devtools::install_github("ropensci/geojsonio")
library("geojsonio")
install.packages("rgdal", type = "source")
install.packages("rgeos", type = "source")
library("rgdal")
library("rgeos")
library(ggplot2)
grid_6010_4_4 <-geojson_read("./data/train_geojson/train_geojson/6010_4_4/Grid_6010.geojson", method = local, what= 'sp')
plot(grid_6010_4_4)
ggplot(grid_6010_4_4, aes(long, lat, group = group)) + geom_polygon()

获得Docker?

这个dockerfile应该能对Python使用者有帮助。

                                                                                   ---本文译自:https://www.kaggle.com/c/dstl-satellite-imagery-feature-detection/details/data-processing-tutorial

Dstl Satellite Imagery Feature Detection-Data Processing Tutorial的更多相关文章

  1. pytorch例子学习-DATA LOADING AND PROCESSING TUTORIAL

    参考:https://pytorch.org/tutorials/beginner/data_loading_tutorial.html DATA LOADING AND PROCESSING TUT ...

  2. Image Processing and Analysis_8_Edge Detection:Design of steerable filters for feature detection using canny-like criteria ——2004

    此主要讨论图像处理与分析.虽然计算机视觉部分的有些内容比如特 征提取等也可以归结到图像分析中来,但鉴于它们与计算机视觉的紧密联系,以 及它们的出处,没有把它们纳入到图像处理与分析中来.同样,这里面也有 ...

  3. Image Processing and Analysis_21_Scale Space:Feature Detection with Automatic Scale Selection——1998

    此主要讨论图像处理与分析.虽然计算机视觉部分的有些内容比如特 征提取等也可以归结到图像分析中来,但鉴于它们与计算机视觉的紧密联系,以 及它们的出处,没有把它们纳入到图像处理与分析中来.同样,这里面也有 ...

  4. Image Processing and Computer Vision_Review:A survey of recent advances in visual feature detection(Author's Accepted Manuscript)——2014.08

    翻译 一项关于视觉特征检测的最新进展概述(作者已被接受的手稿) 和A survey of recent advances in visual feature detection——2014.08内容相 ...

  5. Linux command line exercises for NGS data processing

    by Umer Zeeshan Ijaz The purpose of this tutorial is to introduce students to the frequently used to ...

  6. Chrysler -- CCD (Chrysler Collision Detection) Data Bus

    http://articles.mopar1973man.com/general-cummins/34-engine-system/81-ccd-data-bus CCD (Chrysler Coll ...

  7. [翻译]MapReduce: Simplified Data Processing on Large Clusters

    MapReduce: Simplified Data Processing on Large Clusters MapReduce:面向大型集群的简化数据处理 摘要 MapReduce既是一种编程模型 ...

  8. Spring Data JPA Tutorial Part Nine: Conclusions(未翻译)

    This is the ninth and the last part of my Spring Data JPA tutorial. Now it is time to take a look of ...

  9. SQL Server Reporting Services 自定义数据处理扩展DPE(Data Processing Extension)

    最近在做SSRS项目时,遇到这么一个情形:该项目有多个数据库,每个数据库都在不同的服务器,但每个数据库所拥有的数据库对象(table/view/SPs/functions)都是一模一样的,后来结合网络 ...

随机推荐

  1. css的定位和浮动

    定位 浮动 float代码 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> ...

  2. mint-ui —— navbar和tab-container的区别

    navbar的具体实现 <template> <div class="page-navbar"> <div class="page-titl ...

  3. 【2016北京集训测试赛(八)】 crash的数列 (思考题)

    Description 题解 题目说这是一个具有神奇特性的数列!这句话是非常有用的因为我们发现,如果套着这个数列的定义再从原数列引出一个新数列,它居然还是一样的...... 于是我们就想到了能不能用多 ...

  4. Python 中的重点来了 : 迭代器 生成器

    可迭代的对象:带有__iter__方法的,就是迭代器.字符串,列表,元祖,字典,集合,文件,都是可迭代的 可迭代的对象使用了__iter__方法的,就是迭代器,带有__next__,__iter__方 ...

  5. WeQuant比特币交易策略回测记录

    程序参数 PARAMS = { "start_time": "2017-02-01 00:00:00", "end_time": " ...

  6. 关于原根的存在性及个数(Primitive Root Theorem)

    我在RSA学习总结的第三部分关于Mille-Rabin素数测试的正确性证明里需要用到此定理,由于证明太长,故另开一章于此.(为啥我说话突然文绉绉了Orz,可能是这周辩论打多了) 结论是对素数p,mod ...

  7. 字节序转换与结构体位域(bit field)值的读取 Part 2 - 深入理解字节序和结构体位域存储方式

    上一篇文章讲解了带位域的结构体,在从大端机(Big Endian)传输到小端机(Little Endian)后如何解析位域值.下面继续深入详解字节序,以及位域存储的方式. (1) 我们知道,存储数字时 ...

  8. WEB前端规范命名

    头部 header ----------------用于头部 主要内容 main ------------用于主体内容(中部) 左侧 main-left -------------左侧布局 右侧 ma ...

  9. RGB转MIPI CSI芯片方案TC358746XBG

    型号:TC358746XBG功能:RGB888/666/565与MIPI CSI 互转通信方式:IIC/SPI分辨率:720p电源:3.3/1.2V封装形式:BGA72深圳有现货库存,价格有优势,样片 ...

  10. FileDetector-基于java开发的照片整理工具

    1. 项目背景 开发这个功能的主要原因如下: 1. 大学期间拍摄了约50G的照片,照片很多 2. 存放不规范,导致同一张照片出现在不同的文件夹内,可读性差,无法形成记忆线. 3. 重复存放过多,很多照 ...