将经度和经度映射到SAS中的状态

时间:2017-02-06 21:46:30

标签: sas latitude-longitude shapefile

我有大约100,000个纬度和经度对(到4位小数),我想将每对配置为美国州。有谁知道如何在SAS中这样做?是否可以将shapefile导入SAS以完成此任务?

1 个答案:

答案 0 :(得分:3)

注意:以下答案假设您拥有SAS Graph许可证,并且已在您的安装中正确设置了地图库。这不适用于SAS University Edition。如果您需要下载MAPS文件,请访问:http://support.sas.com/rnd/datavisualization/mapsonline/index.html

您不需要为美国导入SHP文件,SAS已经内置了这些文件。您可以使用PROC GINSIDE来确定这些点所在的州和/或县。

一个例子就在这里: https://support.sas.com/documentation/cdl/en/grmapref/69722/HTML/default/viewer.htm#p0qjcc8hugcjb2n1x3bmuaar16f0.htm

并在此处复制,用于SO规则。

goptions reset=global border;
data gpscounties;
  input longitude latitude site $;
  x=longitude*arcos(-1)/180;
  x=x*(-1);
  y=latitude*arcos(-1)/180;
datalines;
-77.0348 40.0454 a
-78.4437 39.1623 b
-78.4115 39.3751 c
-78.7646 40.6354 d
;
run;
proc ginside data=gpscounties map=mapssas.counties out=gpscounties;
  id state county;
run;
proc sort data=gpscounties;
  by site;
run;

proc print data=gpscounties;
  var site state county x y;
run;
quit;