将纬度和经度映射到 SAS 中的状态
Map latitude and longitude to state in SAS
我有大约 100,000 个纬度和经度对(精确到 4 位小数),我想将每一对分配给美国的一个州。有谁知道如何在SAS中做到这一点?是否可以为此任务将 shapefile 导入 SAS?
注意:以下答案假定您拥有 SAS Graph 的许可证并且地图库已在您的安装中正确设置。这不适用于 SAS 大学版。如果您需要下载 MAPS 文件,请在此处下载:http://support.sas.com/rnd/datavisualization/mapsonline/index.html
您不需要为美国导入 SHP 文件,SAS 已经内置了这些文件。您可以使用 PROC GINSIDE 来确定这些点位于哪个州 and/or 县。
并复制到此处,用于 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;
我有大约 100,000 个纬度和经度对(精确到 4 位小数),我想将每一对分配给美国的一个州。有谁知道如何在SAS中做到这一点?是否可以为此任务将 shapefile 导入 SAS?
注意:以下答案假定您拥有 SAS Graph 的许可证并且地图库已在您的安装中正确设置。这不适用于 SAS 大学版。如果您需要下载 MAPS 文件,请在此处下载:http://support.sas.com/rnd/datavisualization/mapsonline/index.html
您不需要为美国导入 SHP 文件,SAS 已经内置了这些文件。您可以使用 PROC GINSIDE 来确定这些点位于哪个州 and/or 县。
并复制到此处,用于 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;