由地质公司SAS VA(SAS GRAPH)中的Meridian多边形分隔

时间:2017-04-06 12:08:33

标签: sas shapefile geomap sas-visual-analytics

我正在尝试在Visual Analytics中创建自定义地图到俄罗斯。 所以,我遇到了“分离地区”的麻烦 您可以使用Dal'nevostochnyy (DVFO)库中的MAPSGFK区域来查看此问题的可视化。 enter image description here

我尝试通过此代码修复散点图:

data mps.vaasia1;
set mps.vaasia1;
if LONG < 0 and isoalpha2="RU" then long=long+360 ; 
run;

所以我得到了这个结果(在图片区域Chukotka上,但它没关系)

enter image description here 它比以前的情况更好,但它看起来像拐杖 我尝试使用GREMOVE(也添加参数FUZZ)来组合这两个多边形,但结果是一样的。

UPD:
我使用这段代码来获取坐标:

data ch;
set mapsgfk.Russia;
where id ="RU-77" ;
if LONG LE 0 then  long=long+360 ; 
x=long ;
y = lat;
run;

enter image description here

所以我的问题是:
如何删除两个分隔的区域之间的空间?

谢谢您的回答/评论。

2 个答案:

答案 0 :(得分:1)

这似乎有效,至少对于具体问题。问题是segment对于这些不一样,所以他们得到了边界。以更一般的方式这样做,我不确定是否有好的方法;可能有更好的方法,可能使用GPROJECT,这样可以完全避免这个问题。

但这至少对于这个具体问题是有效的......

data vaasia1;
set mapsgfk.asia1;
if LONG LE 0 and isoalpha2="RU" then do;
  long=long+360 ; 
  if segment=2 then segment=1;
  else if segment=7 then segment=8;
end;
if idname =: 'Dal';
*if long le 0;
run;


proc gmap data=vaasia1 map=vaasia1;
id id;
choro id/nolegend;
run;
quit;

答案 1 :(得分:0)

感谢您@Jor发帖。你的回答让我想到:&#34;可能我不能合并两个poligons因为他们没有共同点?&#34;。所以,我看到这样的任务:

  1. 删除多边形之间的点(下图中的红色方块)
  2. 设置边缘的多边形点坐标等于(蓝色箭头)
  3. enter image description here

    data ch
    /*Drop out dots with coord in red squares*/
    (where=(not(lat > 66 and lat <68 and long >179 and long<181) ));
    set mapsgfk.Russia;
    where id ="RU-77" ;
    
    if LONG LE 0 then  long=long+360 ; 
    
    /*Set coordinates of near edge's points the same*/
    if (long > 179.9 and long < 180.3) then do; 
        long =180;
        if (lat > 68.9 and lat < 69) then lat=68.97;
        if (lat > 65 and lat < 65.1) then lat=65;
        if (lat > 70.9 and lat < 71) then lat=70.95;
        if (lat > 71.5 and lat < 71.6) then lat=71.55;
    end;
    
    x=long ;
    y = lat;
    run;
    
    proc gremove data=ch out=ch;
    by id;
    id id1;
    run;
    
    
    proc gmap data=ch map=ch;
    id id;
    choro id/nolegend;
    run;
    quit;
    

    结果: enter image description here