SWM格式稀疏权重矩阵转换为方阵形式全过程分享
在进行空间统计实验过程中,经常涉及到空间权重矩阵的处理,有时候需要将ArcGIS生成的swm格式的权重矩阵转换为形如“0 1”的方阵格式。这里将我的办法整理出来。
1.用如下工具箱生成swm格式的权重矩阵
2.将swm格式的权重矩阵转换为dbf属性表
3.用excel打开dbf将其转换为txt文本文件
4.写程序转换格式并保存
代码如下:
- static void Main(string[] args)
- {
- //读取文件并转换格式
- StreamReader sr = File.OpenText("E:\\AcaDissertation\\Data\\weight_arc.txt");
- double[,] weights = new double[, ];
- while (sr.ReadLine() != null)
- {
- string[] line = sr.ReadLine().Split('\t');
- weights[int.Parse(line[])-, int.Parse(line[])-] = double.Parse(line[]);
- }
- SaveMatrix(weights, "E:\\AcaDissertation\\Data\\weight_mat.txt");
- Console.WriteLine("好了!");
- }
- // 保存矩阵到文件
- public static void SaveMatrix(double[,] InMatrix, string OutFileName)
- {
- int row = InMatrix.GetLength(), col = InMatrix.GetLength();
- FileStream aFile = new FileStream(OutFileName, FileMode.OpenOrCreate);
- StreamWriter sw = new StreamWriter(aFile);
- for (int i = ; i < row; i++)
- {
- for (int j = ; j < col; j++)
- {
- sw.Write("{0}{1}", InMatrix[i, j], " ");
- }
- sw.WriteLine();
- }
- sw.Close();
- }
最后的最后,转换后的权重矩阵为:
SWM格式稀疏权重矩阵转换为方阵形式全过程分享的更多相关文章
- python 稀疏向量和矩阵的表示形式
http://blog.csdn.net/nkwangjie/article/details/17502443 http://blog.csdn.net/bitcarmanlee/article/de ...
- jquery如何将获取的颜色值转换为十六进制形式
jquery如何将获取的颜色值转换为十六进制形式:大家或许已经注意到了,在谷歌.火狐和IE8以上浏览器中,获取的颜色值是RGB形式,例如rgb(255,255,0),感觉非常不适应,或者在实际编码中不 ...
- awk函数实现将点分式形式的掩码转换为十进制形式的掩码
在用awk处理文本时,需要将源数据为点分式形式的掩码转换为十进制形式的掩码,下边的函数可简单实现: 转换功能函数cdr2mask function cdr2mask(mask_point) { num ...
- JSon_零基础_008_将JSon格式的"数组"字符串转换为List集合
将JSon格式的"数组"字符串转换为List集合. 应用此技术从一个json对象字符串格式中得到一个java对应的对象. JSONObject是一个“name.values”集合, ...
- JSon_零基础_007_将JSon格式的"数组"字符串转换为Java对象"数组"
将JSon格式的"数组"字符串转换为Java对象"数组". 应用此技术从一个json对象字符串格式中得到一个java对应的对象. JSONObject是一个“n ...
- java语言将任意一个十进制数数字转换为二进制形式,并输出转换后的结果
package com.llh.demo; import java.util.Scanner; /** * * @author llh * */ public class Test { /* * 将任 ...
- 【RS】Sparse Probabilistic Matrix Factorization by Laplace Distribution for Collaborative Filtering - 基于拉普拉斯分布的稀疏概率矩阵分解协同过滤
[论文标题]Sparse Probabilistic Matrix Factorization by Laplace Distribution for Collaborative Filtering ...
- spark 创建稀疏向量和矩阵
http://blog.csdn.net/canglingye/article/details/41316193 [相互转换]:http://stackoverflow.com/questions/3 ...
- 利用sed将xml报文转换为分隔符形式报文
原始xml文本如下 <?xml version="1.0" encoding="utf-8"?> <Message> <Heade ...
随机推荐
- git管理测试生产环境代码
利用post-update实现简单钩子 #!/bin/bash cd /www/test || exit #进入指定的目录 unset GIT_DIR #清楚环境变量 git checkout mas ...
- poj3253 Fence Repair
http://poj.org/problem?id=3253 Farmer John wants to repair a small length of the fence around the pa ...
- 调试必备---console
一.前言 可能很多前端er会习惯用 alert() 方法来进行调试,但我相信更多的人会使用 console.log(),因为它不用像 alert() 那样会有字符长度限制,也不会中止程序的进程,而且还 ...
- VS2010无法调试问题解决
最近,因为公司开发的需要,对开发环境进行全面的升级,在这其中也遇到了不少问题,在之后将陆续整理出来,以便以后查看. 之前开发环境:VS2008,ArcGIS9.3,ArcEngine9.3,Oracl ...
- echarts在IE8下遮挡其他组件的问题
echarts的图在IE8下会浮在上层遮挡住其他组件,解决方式是页面中引入 <meta http-equiv="X-UA-Compatible" content=" ...
- Java Bean Validation 最佳实践
参数校验是我们程序开发中必不可少的过程.用户在前端页面上填写表单时,前端js程序会校验参数的合法性,当数据到了后端,为了防止恶意操作,保持程序的健壮性,后端同样需要对数据进行校验.后端参数校验最简单的 ...
- django之DB操作
先来区分一下什么是一对一.多对多 一对一:子表从母表中选出一条数据一一对应,母表中选出来一条就少一条,子表不可以再选择母表中已被选择的那条数据: 一对多:子表从母表中选出一条数据一一对应,但母表的这条 ...
- WCF中的流
https://msdn.microsoft.com/zh-cn/library/ms733742.aspx
- WinSCP无法连接 ubuntu 的解决方法
ubuntu默认不安装sshd服务 需要sudo apt-get install ssh 你可以在ubuntu本机ssh localhost测试是否成功安装了ssh 因为WinSCP是基于ssh的sf ...
- Oculus中OVRPlayerController飞行视角的制作
最近项目上的事,忙的不可开交.忙里偷闲,记录下Oculus飞行视角的制作 师兄给我的要求是,带上Oculus,通过remote和头盔操作,可以完成飞行我的解决办法:1.消除重力的影响,如同在真空中,就 ...