在Pysal中保存完整的QUEEN邻居数组到CSV(人口普查块组)

2024-10-04 07:36:43 发布

您现在位置:Python中文网/ 问答频道 /正文

首先让我说,除了stata.do文件和R中的一些MCMC之外,我还没有在VB中编写过AOL warez group应用程序;因此,我很抱歉从这里开始就和你们在一起。在

我正在写一篇环境正义的论文,研究人口统计数据和人口暴露数据。因为街区群的规模可能相对较小,一个污染源和居住在一个街区群中的人们很容易影响到至少一级邻居。我本来是一个呆子,只是通过FIPS代码聚合起来,但这只是一个糟糕的数学。在

拿到了我想要的ACS年的形状文件,先尝试了arcGIS,但我什么也没得到。然后我读了Pysal的文章并安装了它

导入的形状文件 对所有216000个区块组进行了(12小时)皇后邻居分析

在[52]:w直方图 出局[52]:

[(0,87), (1709年), (23634), (316627年), (448736人), (556952), (642848), (724878), (812646), (96294), (103040), (11515年), (12759人), (十三,十三), (14233), (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(或者说实话,如果我把它复制/粘贴到某个地方,任何东西都可以做),它按fip枚举每个块组(这应该是ACS shapefile用于ID的内容)和它的邻居列表。在

如果我能得到这份名单,我可以把它转移到一个我更舒适的环境。昨天晚上我坐在那里玩了几个小时,结果弄到了几个裂缝numpy.savetext因为FIPS编码是12位数字,所以它只有一列,而且数字是用科学符号存储的。有一次它告诉我元组超出范围,我想那是我得到的最接近的

我之前已经广泛地搜索了数据本身,否则我保证我不会在这里浪费你的时间。在

谢谢你, 戴夫


Tags: 文件数据环境数字do形状人口vb
1条回答
网友
1楼 · 发布于 2024-10-04 07:36:43

您可以用pysal将W写入txt文件。 有许多不同的格式,但“GAL”文件是最简单的。在

它是一个txt文件,第一行是形状的数目。 每个记录是2行

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

例如:

^{pr2}$

…描述了图0-1-2,0有1个邻居(1),1有2个邻居(0,2),依此类推。在

把你的W写到gal文件里。。。在

^{3}$

注意:id是偏移量。0是第一个多边形,1是第二个多边形,依此类推。在

如果你想把偏移量链接到FIPS代码,你需要自己去做。但是,您可以使用pysal按照正确的顺序提取FIPS代码。。在

>>> dbf = pysal.open("/path/to/shapefile.dbf", "r")
>>> print dbf.header
[column names, ... ]
>>> FIPS = dbf.by_col("name_of_fips_code_column")
>>> FIPS = map(str, FIPS) #make sure we're writing strings
>>> out = open('fips.txt','w')
>>> out.write('\n'.join(FIPS))
>>> out.close()

相关问题 更多 >