|
需要从DEM提取相应栅格的属性值,代码如下
[Fortran] 纯文本查看 复制代码 04 | INTEGER :: DEMCOLS , DEMROWS |
06 | INTEGER , ALLOCATABLE , DIMENSION ( : , : ) :: PROVALUE |
07 | REAL :: CORNERLON , CORNERLAT , CELLSIZE |
08 | REAL , ALLOCATABLE , DIMENSION ( : , : ) :: DEMLON , DEMLAT |
09 | CHARACTER ( LEN = 30 ) :: DEMTEMP |
10 | OPEN ( UNIT = 1201503 , FILE = "DATA.txt" ) |
11 | READ ( 1201503 , * ) DEMTEMP , DEMCOLS |
12 | READ ( 1201503 , * ) DEMTEMP , DEMROWS |
13 | READ ( 1201503 , * ) DEMTEMP , CORNERLON |
14 | READ ( 1201503 , * ) DEMTEMP , CORNERLAT |
15 | READ ( 1201503 , * ) DEMTEMP , CELLSIZE |
16 | READ ( 1201503 , * ) DEMTEMP , DEMNODATA |
17 | ALLOCATE ( PROVALUE ( DEMROWS , DEMCOLS ) , DEMLON ( DEMROWS , DEMCOLS ) , DEMLAT ( DEMROWS , DEMCOLS ) ) |
19 | DEMLAT ( I , : ) = CORNERLAT + ( DEMROWS - I ) * CELLSIZE |
22 | DEMLON ( : , I ) = CORNERLON + ( I -1 ) * CELLSIZE |
25 | READ ( 1201503 , * ) ( PROVALUE ( I , J ) , J = 1 , DEMCOLS ) |
27 | OPEN ( UNIT = 2201501 , FILE = "ResultsCAREPOINTS.txt" ) |
30 | IF ( ( DEMLON ( J , K ) == 101.95 .AND. DEMLAT ( J , K ) == 27.05 ) .OR. ( DEMLON ( J , K ) == 101.45 .AND. DEMLAT ( J , K ) == 26.95 ) .OR. ( DEMLON ( J , K ) == 101.75 .AND. DEMLAT ( J , K ) == 26.65 ) ) THEN |
31 | WRITE ( 2201501 , '(2F10.3,I10)' ) DEMLON ( J , K ) , DEMLAT ( J , K ) , PROVALUE ( J , K ) |
数据如下:
DATA.zip
(31.26 KB, 下载次数: 1)
我需要提取经纬度坐标为(101.95,27.05),(101.45,26.95),(101.75,26.65)三个点的属性值
但是,结果只能提取出其中的两个点,如图
请各位大侠,帮我看一下
谢谢
|
|