首先我要说的是,除了stata .do文件和R中的一些MCMC之外,我还没有编写自VB中的AOL warez组应用程序以来的编码;所以我为你们所有人开始道歉而道歉。
我正在撰写一份环境司法文件,负责人口普查区群层面的人口统计和曝光数据。由于区块组的规模相对较小,污染源和居住在一个区块组中的人们很容易影响至少一级邻居。我将成为一个愚蠢的人,只是通过FIPS代码汇总备份,但这只是糟糕的数学。
获得我想要的ACS年份的形状文件,首先尝试了arcGIS,但我没有到达任何地方。然后我读了关于Pysal并安装了
导入的形状文件 对所有216,000个区块组进行了(12小时)女王邻居分析
在[52]中:w .histogram 出[52]:
[(0,87), (1,709), (2,3634), (3,16627), (4,48736), (5,56952), (6,42848), (7,24878), (8,12646), (9,6294), (10,3040), (11,1515), (12,759), (13,436), (14,233), (15,128), (16,85), (17,44), (18,34), (19,20), (20,21), (21,13), (22,8), (23,7), (24,6), (25,1), (26,3), (27,1), (28,2), (29,1), (30,2), (31,1), (32,0), (33,2), (34,0), (35,1), (36,1), (37,1), (38,0), (39,0), (40,0), (41,0), (42,0), (43,0), (44,0), (45,0), (46,1), (47,0), (48,0), (49,0), (50,0), (51,0), (52,0), (53,0), (54,0), (55,0), (56,0), (57,0), (58,0), (59,0), (60,0), (61,1)]
我需要的是一个.csv(或者老实说,如果我将它复制/粘贴到某个地方会做什么),它通过FIPS枚举每个块组(这应该是ACS shapefile用于ID的内容)和它的邻居列表。 / p>
如果我能够获得该列表,我可以将其移到我更舒服的环境中。昨晚我坐在那里和它一起玩了好几个小时,可以在numpy.savetext上找到一些裂缝来工作,但它只是一个列,并且数字以科学记数法存储,因为FIPS代码是12位数。有一次它告诉我元组超出范围,我认为那是我最接近的
我手头搜索了数据本身,或者我保证不会浪费你的时间。
谢谢你, 戴夫
答案 0 :(得分:1)
您可以使用pysal将W写入txt文件。 有许多不同的格式,但“GAL”文件是最简单的。
这是一个txt文件,第一行是形状的数量。 每条记录都是2行,
if CFArrayGetCount(credentials) > 0 {
let dict = unsafeBitCast(CFArrayGetValueAtIndex(credentials, 0), CFDictionaryRef.self) as NSDictionary
let username = dict[kSecAttrAccount as String] as! String
let password = dict[kSecSharedPassword as String] as! String
dispatch_async(dispatch_get_main_queue()) {
completion(error: nil, username: username, password: password)
}
例如:
id n
id0, id1, ...
where:
id is the id of the polygon,
n is the number of neighbors
id0 is the id of the first neighbor
... and so on
...描述图0-1-2,0有1个邻居(1),1有2个邻居(0,2),依此类推。
将您的W写入gal文件......
3
0 1
1
1 2
0 2
2 1
1
注意:ID是偏移量。 0是第一个多边形,1是第二个,依此类推。
如果您想将偏移链接到FIPS代码,您需要自己完成此操作。但是,您可以使用pysal以正确的顺序提取FIPS代码。
>>> W = pysal.queen_from_shapefile("/path/to/shapefile.shp")
>>> out = pysal.open("output.gal", 'w')
>>> out.write(W)
>>> out.close()