2016年11月29日星期二

在osx中配置和使用zsh

在osx中配置和使用zsh

查看已安装的shell

cat /etc/shells
结果如下:
/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh

将当前用户的默认shell改成zsh

chsh -s /bin/zsh

2016年11月14日星期一

在sms中划分网格

在sms中划分网格不复杂,我一般按下面的做:sms中网络划分一般在map模块下,根据计算需要用create feature arc创建计算区域,点击build polygons后,选中某个计算区域,双击弹出polygon attributes对话框,在mesh type栏中选择none为空,paving为三角网,patch为四边形网,还有几个选项,确定后,map-2D mesh后,网格会按刚才设定的自动生成。

2016年11月11日星期五

2016年11月6日星期日

2016年10月20日星期四

linux 的 scp 命令



linux 的 scp 命令 可以 在 linux 之间复制 文件 和 目录;

==================
scp 命令
==================
scp 可以在 2个 linux 主机间复制文件;

命令基本格式:
       scp [可选参数] file_source file_target

======
从 本地 复制到 远程
======
* 复制文件:
        * 命令格式:
                scp local_file remote_username@remote_ip:remote_folder
                或者
                scp local_file remote_username@remote_ip:remote_file
                或者
                scp local_file remote_ip:remote_folder
                或者
                scp local_file remote_ip:remote_file

                第1,2个指定了用户名,命令执行后需要再输入密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名;
                第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名;
        * 例子:
                scp /home/space/music/1.mp3 root@www.cumt.edu.cn:/home/root/others/music
                scp /home/space/music/1.mp3 root@www.cumt.edu.cn:/home/root/others/music/001.mp3
                scp /home/space/music/1.mp3 www.cumt.edu.cn:/home/root/others/music
                scp /home/space/music/1.mp3 www.cumt.edu.cn:/home/root/others/music/001.mp3

* 复制目录:
        * 命令格式:
                scp -r local_folder remote_username@remote_ip:remote_folder
                或者
                scp -r local_folder remote_ip:remote_folder

                第1个指定了用户名,命令执行后需要再输入密码;
                第2个没有指定用户名,命令执行后需要输入用户名和密码;
        * 例子:
                scp -r /home/space/music/ root@www.cumt.edu.cn:/home/root/others/
                scp -r /home/space/music/ www.cumt.edu.cn:/home/root/others/

                上面 命令 将 本地 music 目录 复制 到 远程 others 目录下,即复制后有 远程 有 ../others/music/ 目录


======
从 远程 复制到 本地
======
从 远程 复制到 本地,只要将 从 本地 复制到 远程 的命令 的 后2个参数 调换顺序 即可;

例如:
        scp root@www.cumt.edu.cn:/home/root/others/music /home/space/music/1.mp3
        scp -r www.cumt.edu.cn:/home/root/others/ /home/space/music/

最简单的应用如下 :

scp 本地用户名 @IP 地址 : 文件名 1 远程用户名 @IP 地址 : 文件名 2

[ 本地用户名 @IP 地址 :] 可以不输入 , 可能需要输入远程用户名所对应的密码 .

可能有用的几个参数 :

-v 和大多数 linux 命令中的 -v 意思一样 , 用来显示进度 . 可以用来查看连接 , 认证 , 或是配置错误 .

-C 使能压缩选项 .

-P 选择端口 . 注意 -p 已经被 rcp 使用 .

-4 强行使用 IPV4 地址 .

-6 强行使用 IPV6 地址 .



注意两点:
1.如果远程服务器防火墙有特殊限制,scp便要走特殊端口,具体用什么端口视情况而定,命令格式如下:
#scp -p 4588 remote@www.abc.com:/usr/local/sin.sh /home/administrator
2.使用scp要注意所使用的用户是否具有可读取远程服务器相应文件的权限。

2016年10月14日星期五

Windows操作系统自动同步ntp小工具

http://www.timesynctool.com/
NetTime is a Simple Network Time Protocol (SNTP) client for Windows 95/98/Me/NT/2000/XP/Vista/7/8 and Server 2003/2008/2012. (32 bit and 64 bit operating systems are both supported)

2016年8月21日星期日

Cannot restart samba, samba.service is masked

http://askubuntu.com/questions/754572/cannot-restart-samba-samba-service-is-masked



When I try to restart Samba, I am receiving the following error message:

Failed to start samba.service: Unit samba.service is masked.

In addition, when I run systemctl, it shows smbd.service in red showing failed.

At the same time restart began to fail, I have lost the share ability in folders created and cannot access. Any help would be appreciated!!!



Debian and debian-derivatives changed the service name from 'samba' to 'smbd'.

Try service smbd restart

2016年8月1日星期一

CAD多段线实线变成了空心的了怎么办

CAD多段线实线变成了空心的了怎么办

fillmode也用过了,都不行,我现在试试重装CAD,但是估计也不行,因为我在别人电脑上打开是一样的,在他们电脑上改也改不了

最佳答案

fill命令,然后选:开(ON),然 REGEN 重生成模型一下就行了

UTF-8

https://wiki.gentoo.org/wiki/UTF-8
What Is a Locale?

Debian Chroot on Synology NAS

debian-chroot-on-synology-nas

2016年7月28日星期四

arcgis标注导出dxf技巧

 原文
Arcgis数据,不管是点线面,导出成其他格式的文件例如cad格式的,属性都会丢失。

此文介绍一些关于这些问题的解决办法。

假设,我有一个arcgis文件,为“村镇.shp”,村镇.shp文件中有一个相关字段为名称,我要将村镇.shp转成dxf格式的,但我要在图面上保留这个名称属性。

众所周知,cad文件是不带属性的,我要直接把属性转到cad里面,是办不到的。

我只能通过另一种方法,就是把名称这个字段标注在arcgis里面,再把标注和shp文件一起转成dxf文件。

方法如下:

1.打开arcmap,将村镇.shp文件加载进工程文件,在内容列表中,右键刚刚加入的shp文件,图层中的村镇,选择属性,属性——标注,勾选“标注此图层中的要素(L)”,文本字符串中,“标注字段(F):”旁边的下拉框中选择“名称”,根据需要设定文本符号的字体、字号、颜色等,点击确定,其他选项中有“放置属性”和“比例范围”,用以设定标注的权重和显示比例等。

2.右键图层村镇,选择“将标注转换为注记”,打开对话框。存储注记选择“在数据库中”,为以下选项创建注记选择“所有要素”,要素图层是“村镇”,“要素已关联”和“追加”不用勾选,“注记要素类”下面点击文字“村镇注记”后面的文件夹图标,为注记文件找一个存放的位置,注记只能作为要素类被存储,所以,它必须被存放在gdb或者mdb的库中,要是没有库文件的话,就打开arccatalog,在电脑磁盘里面,新建一个个人地理数据库,把村镇注记保存进去,点击转换,转换完成,“村镇注记”被加入工作区中。

3. 打开红盒子工具箱,arctoolbox,arctoolbox——转换工具——转为CAD——要素转为CAD,打开“要素转为CAD”对话框,输入要素加入“村镇”和“村镇注记”,输出类型选择“DXF_R2004”,输出文件选择需要保存的位置并命名,点击确定,名称这个属性就作为注记被转存成了dxf文件,在dxf文件中,村镇和村镇注记是两个层,可以进行需要的处理。



这是一种方法,还有另一种方法,结果相同,就是通过中间程序mapgis完成转换。

1.打开mapgis6.7主菜单——图形处理——文件转换,打开工作窗口,I输入——装入shp文件,将村镇.shp载入,F文件——存点、保存线、保存区(根据shp文件的格式选择点线面),假设我的shp文件是点文件,选择工作区选中“NONAME0.WT”,保存成“村镇.WT”。

2.图形处理——输入编辑,新建工程文件,添加项目,将“村镇.WT”添加工程文件,勾选复选框,右键选择“编辑”,N点编辑——根据属性标注释,标注域名选择“名称”,标注点位移根据需求设定,添加到文件可以选“村镇.WT”也可以新建一个点文件用以存储注释,点击确定。

3.图形处理——文件转换,F文件——P装入点,将点和注记都加入到工作区,O输出——GIS数据方式输出DXF,选择保存位置并命名,确定。



这是两种arcgis标注导出到cad的方法,因为第二种需要中间程序mapgis,所以第一种方式更合适一些。

2016年7月6日星期三

python 字符串格式化

In [1]:
import sys
sys.version_info[0]
Out[1]:
3
In [2]:
"中".encode("utf8")
Out[2]:
b'\xe4\xb8\xad'
In [3]:
type("中".encode("utf8"))
Out[3]:
bytes
In [5]:
'{:07.2f}'.format(10.555)
Out[5]:
'0010.55'
In [6]:
'{:08.2f}'.format(10.555)
Out[6]:
'00010.55'
In [9]:
'{:07.8f}'.format(10.555)
Out[9]:
'10.55500000'

2016年6月16日星期四

使用pandas读取包含多个sheet的Excel文件


# coding: utf-8

import pandas as pd
import shapefile
import os
# 网格编号    YMSS    HSLS    DDSJ
#os.chdir(r"K:\避洪转移文件")
xlsx = pd.ExcelFile("卫运河左堤风险数据 (2).xlsx")

for wk_sheet_name in xlsx.sheet_names:
    print(wk_sheet_name)
    df = pd.read_excel(xlsx.book,wk_sheet_name, engine='xlrd')
    w = shapefile.Writer()
    w.fields = [('DeletionFlag', 'C', 1, 0), ['YMSS', 'N', 12, 4], ['HSLS', 'N', 12, 4], ['DDSJ', 'N', 12, 4]]
    for i in range(len(df)):
        tmp_rec = df.iloc[i]
        vv = tmp_rec.get_values()
        tmp_lst = [round(i.item(),4)  for i in vv[1:]]
        w.records.append(tmp_lst)
    w.saveDbf(wk_sheet_name + ".dbf")

2016年6月1日星期三

2016年5月31日星期二

arcpy 添加字段,计算形心

import arcpy

# set workspace environment to your GDB
arcpy.env.workspace = r"C:\aka\117"
# list the feature classes
fcList = arcpy.ListFeatureClasses()

fieldName1 = "xCentroid"
fieldName2 = "yCentroid"
fieldPrecision = 18
fieldScale = 11

# loop through list
for fc in fcList:
    print(fc.encode("gbk"))
    Fields_lst = arcpy.ListFields(fc)
    #check if field exists, if not, add it and calculate
    if fieldName1 not in Fields_lst:
        arcpy.AddField_management(fc,fieldName1,"DOUBLE")
        arcpy.CalculateField_management(fc, fieldName1, "!SHAPE.CENTROID.X!","PYTHON_9.3")
       
    if fieldName2 not in Fields_lst:
        arcpy.AddField_management(fc,fieldName2,"DOUBLE")
        arcpy.CalculateField_management(fc, fieldName2, "!SHAPE.CENTROID.X!","PYTHON_9.3")

2016年5月30日星期一

Python 源代码中目录字符串,不能包含“\”,否则会出现莫名其妙的错误

Python 源代码中目录字符串,不能包含“\”,否则会出现莫名其妙的错误

2016年5月18日星期三

Add RFID/NFC read and write to your Pi in an hour!

https://learn.adafruit.com/adafruit-nfc-rfid-on-raspberry-pi/overview

FT232R介绍

【FT232R介绍】
       随着电脑技术的发展,并口和串口在PC上慢慢的消失了,现在连台式机都少有并口了。但是对于工程师而言,并口和串口都是必不可少的接口,特别是串口。对于没有串口的电脑,最方便的解决方法就是使用USB转串口芯片来虚拟一个串口出来,很多厂家都有生产这样的芯片,比如silicon LABS的CP210x系列、TI的TUSB3410、南京沁恒的CH34x系列、FTDI的FT232系列、Prolific的PL230x系列、艾科的ARK3116等等。从稳定性角度来讲,还是FT232系列最为可靠,可以用它来安心的调试程序而不用担心蓝屏的情况出现。
        FT232R芯片是一个单芯片解决方案,一般使用基本不需要外设,连晶振、USB匹配电阻、放置产品信息的EEPROM都已经集成在内部了。FT232R还有一些比较有用的功能,具体细节可以参阅FT232R数据手册。

数据手册下载地址:http://www.ftdichip.com/Products/ICs/FT232R.htm

【硬件介绍】
·采用FTDI公司的FT232RL芯片;
·引出FT232RL芯片全部信号端口,TTL/CMOS电平;
·RXD/TXD收发通信指示灯;
·USB供电,可选5V或者3.3V接口电平(如果需要其它电平,可以直接在VCC和GND引脚上提供目标电压)。

【软件介绍】
·FT232R的windows驱动;
·串口调试软件。

驱动下载界面:http://www.ftdichip.com/Drivers/VCP.htm

直接下载(for x86):http://www.ftdichip.com/Drivers/CDM/CDM%202.08.24%20WHQL%20Certified.zip

SPI,UART,I2C都有什么区别,各自的特点是什么?

 SPI,UART,I2C都有什么区别
 
UART用在与主机(比如计算机)接口外设相连。
I2C是由飞利浦公司提出的,用于与芯片与芯片之间的通信。
spi是摩托罗拉最先提出的,用于芯片与芯片间的通信,
与i2c不同的是传输需要四根线,i2c传输需要两根线,所以速率比i2c快。
最早是没有统一的串行接口标准的,
各个公司在自己的领域分别提出来,最终成为了通用的标准。

2016年5月4日星期三

awk 输出 csv 文件中的某些列

 awk 'BEGIN { FS=","; OFS="," }; {print $2,$1,$3}' 等深线__点.xyz  > gcd_dsx.xyz

FS=","  csv文件中的分隔符
OFS=","  awk输出的分隔符

2016年5月1日星期日

中文域名 idna python

>>> url = "http://zyy.q医.com/"

>>> url.encode('idna')

b'http://zyy.xn--q-ju8a.com/'

>>> url5 = url.encode('idna')

>>> type(url5)

<class 'bytes'>

>>> str(url5)

"b'http://zyy.xn--q-ju8a.com/'"

>>> print(url5)

b'http://zyy.xn--q-ju8a.com/'

>>> url5.decode('ascii')

'http://zyy.xn--q-ju8a.com/'

2016年4月1日星期五

Linux下静态库_库的基本概念

http://blog.163.com/xychenbaihu@yeah/blog/static/13222965520101023104745738/

转: linux下gcc -fPIC 作用


 Linux动态库文件搜索路径
http://blog.sina.com.cn/s/blog_690c46500100kxhd.html

http://blog.hehehehehe.cn/a/17195.htm

linux 下使用gcc -fPIC 作用于编译阶段,告诉编译器产生与位置无关代码(Position-Independent Code),
  则产生的代码中,没有绝对地址,全部使用相对地址,故而代码可以被加载器加载到内存的任意
  位置,都可以正确的执行。这正是共享库所要求的,共享库被加载时,在内存的位置不是固定的。

gcc -shared -fPIC -o 1.so 1.c
这里有一个-fPIC参数
PIC就是position independent code
PIC使.so文件的代码段变为真正意义上的共享
如果不加-fPIC,则加载.so文件的代码段时,代码段引用的数据对象需要重定位, 重定位会修改代码段的内容,这就造成每个使用这个.so文件代码段的进程在内核里都会生成这个.so文件代码段的copy.每个copy都不一样,取决于 这个.so文件代码段和数据段内存映射的位置.


不加fPIC编译出来的so,是要再加载时根据加载到的位置再次重定位的.(因为它里面的代码并不是位置无关代码)
如果被多个应用程序共同使用,那么它们必须每个程序维护一份so的代码副本了.(因为so被每个程序加载的位置都不同,显然这些重定位后的代码也不同,当然不能共享)
我们总是用fPIC来生成so,也从来不用fPIC来生成a.
fPIC与动态链接可以说基本没有关系,libc.so一样可以不用fPIC编译,只是这样的so必须要在加载到用户程序的地址空间时重定向所有表目.

因此,不用fPIC编译so并不总是不好.
如果你满足以下4个需求/条件时,可以不使用-fPIC选项。
1.该库可能需要经常更新
2.该库需要非常高的效率(尤其是有很多全局量的使用时)
3.该库并不很大.
4.该库基本不需要被多个应用程序共享[喝小酒的网摘]http://blog.hehehehehe.cn/a/17195.htm

2016年3月15日星期二

利用Linux的sed命令可以替换文件里的内容

利用Linux的sed命令可以替换文件里的内容
利用Linux的sed命令可以替换文件里的内容。
用法如下:
sed -i ‘s/[匹配字符串]/[替换字符串]/g’ [文件名]
例如:将文件夹内的所有txt文件里的所有 “Test String”替换成“New Test String”
sed -i ‘s/Test String/New Test String/g’ *.txt
注意:
1.空格不需要用escape
2.点符号需要escape: \.
3.在Mac系统的命令行下使用时,需要为原文件设定一个备份文件。
sed -i ‘.bak’ ‘s/Test String/New Test String/g’ *.txt
如果不想设置备份文件时,在第一个单引号里什么都不输入:
sed -i ” ‘s/Test String/New Test String/g’ *.txt

2016年3月6日星期日

ezdxf 中使用中文

如果在ezdxf中使用中文,建议:
1、dxf版本使用cad2007
2、dxf编码 encoding = 'UTF-8'

import ezdxf

dwg = ezdxf.new('AC1021')
dwg.encoding = 'UTF-8'


3、Default measurement units

4、AutoCAD 中,如何将图形单位从英制转换为公制

5、https://ezdxf.mozman.at/docs/howto.html

6、比0.9更高版本的ezdxf生成的dxf文件,不能被autocad2007打开,能被高版本的cad打开。
    conda install -c conda-forge ezdxf=0.9

2016年3月5日星期六

使用iconv批量转换文本文件编码

$ mkdir utf8
$ find . -name '*.html' | xargs -i  iconv -f cp936 -t utf8 {} -o utf8/{}
$ perl -nle 'if (/<!--bodybegin-->/ .. m(<!--bodyend-->)){print}'  13957672.html
$ find . -name '*.html' | xargs -i  sed -i  's/<font color=E6E6DD> www\.6park\.com<\/font>//g' {}

下面的命令不成功
$ find  . -name  '*.html'  -exec  iconv  -f  cp936  -t  utf8 {} -o utf_{}  \;

for i in *.html; do iconv -f "GBK" -t "UTF-8" -o "utf8"$i $i; done

mac osx 系统自带的iconv没有-o选项


https://askubuntu.com/questions/303222/apply-iconv-to-all-of-the-files-in-a-directory

Batch convert latin-1 files to utf-8 using iconv

make iconv replace the input file with the converted output

2016年1月17日星期日

使用ghostscript 将pdf转换为jpg文件

gswin64.exe  -dNOPAUSE -dBATCH -sDEVICE=jpeg -r400 -dFirstPage=3 -dLastPage=4 -sOutputFile="Pic-%d.jpg" dys.pdf

参数说明见 http://www.ghostscript.com/doc/9.18/Devices.htm