爱情 (1) 安装 (2) 北斗 (1) 毕业 (1) 变量 (1) 测绘局 (1) 测量 (2) 插件 (1) 查询 (1) 常用 (1) 成果转化 (1) 词汇 (1) 慈善 (1) 答辩 (2) 代码 (2) 电台 (1) 发泄 (1) 感悟 (4) 高程 (1) 搞笑 (5) 共产党 (1) 古诗词 (1) 管理 (1) 函数 (3) 绘图 (1) 加密 (1) 交际 (1) 教程 (4) 教育 (2) 解决 (4) 解密 (1) 精度 (1) 酒桌 (2) 开源 (2) 科技 (1) 科学 (1) 刻录 (1) 老外 (1) 励志 (5) 连续剧 (1) 恋爱 (1) 列表 (1) 领导 (1) 美食 (2) 名人 (3) 命令 (4) 区别 (1) 日记 (2) 软件 (12) 商业 (3) 时政 (1) 视频 (1) 数据 (1) 算法 (1) 投影 (2) 图论 (1) 网络 (1) 网站 (1) 卫星 (3) 未成年 (1) 慰问 (1) 文本 (1) 文件 (2) 下载 (4) 笑话 (2) 学习 (9) 遥感 (1) 疑问 (5) 营销 (1) 娱乐 (3) 源代码 (2) 政策 (1) 指导 (3) 智慧 (5) 主成分分析 (2) 抓图 (1) 专家 (1) 资料 (5) 字符串 (1) 最短路径 (1) 坐标 (1) baidu (3) Bernese (1) blog (2) c# (9) China (3) Dijkstra (1) DNS (1) doris (1) dos (1) excel (1) firefox (3) GAMIT (8) gcc (1) GIS (3) GMT (1) GPS (5) ITRF (1) linux (5) mapx (1) matlab (6) movie (4) music (3) oracle (2) pic (1) PPT (3) PROJ.4 (2) python (2) QQ (2) rinex (1) shell (2) sql (1) teqc (3) tools (1) tps (1) ubuntu (5) USA (1) website (1)
显示标签为“软件”的博文。显示所有博文
显示标签为“软件”的博文。显示所有博文

2010年6月7日星期一

把文件刻录为镜像文件iso---软件nero

刻录文件,这里采用比较好的nero软件,Nero Burning Rom V9.0.9.4c 简体中文精简版 | 光碟烧录 程序/含Nero Vision
  • 软件大小:22.53MB
  • 软件类别: 国外软件 / 光盘刻录
  • 下载次数:7094274
  • 软件语言:简体中文
  • 软件授权: 免费软件
  • 评价等级:
  • 开 发 商:Nero Inc
  • 更新时间: 2008-11-05 18:12:02
  • 联 系 人:
  • 软件MD5:点击复制
  • 应用平台: Win2003/WinXP/Win2000/Vista/

下载地址:http://www.duote.com/soft/6227.html
我这里提到的主要是把文件刻录为镜像文件,即iso文件,关键步骤是选择虚拟刻录机(这个nero有提供).下面我找到关于如何把镜像文件刻到光盘中的,不过其中关于选择刻录机的步骤即是我上面提到的关键步骤。
**********************
  第一步:首先准备好你的ISO文件放在你知道的地方,打开Nero Burning ROM,关掉弹出的图1界面保留图2界面如:

图 1



图2


第二步:在保留的图2界面中,点击刻录器在打开的菜单中点击选择刻录器看新开的窗口中看刻录器是否选择 正确(Image Recorder是虚拟刻录机选项不要选择,选择你自己的刻录机后点击确定)如:

图3

  
图4

 
第三步:确定后程序又回到了我们第一步保留的界面再次点击刻录器在打开的菜单中点击刻录映像文件找到 你ISO放的位置选中并双击ISO或选中再点击打开这时候在弹出的新界面中将操作项中的四个小框全打勾(为了刻录的成功率,少损坏光盘),注意:写入速度 --应选24X以下(包括24X)有时间的话可以选8X(为了刻录的盘好用);写入方式--选光盘一次刻录,都选好了然后点击刻录[A]如:
图5


图6


图7


第四步:在新弹出的界面中选择校验写入数据项;刻录时最好不要进行其它计算机程序操作(使用刻录光驱来 刻写光盘消耗的系统资源很大,如果这时我们再运行其他的程序,就有可能会造成数据传输不顺畅,严重的话就有可能导致系统繁忙,响应迟钝或者死机所以,我们 在刻录的过程中,尽量不要执行另外的程序,例如关闭屏幕保护程序定时警报程序计划任务自动拨号自动访问程序以及其他可能会被触发运行的程序)如:
图 8


第五步:漫长的等待后ISO映像文件便刻录成功(光驱会自动弹出刻录好的光盘并有音乐和文字提示)如:
图 9

2010年6月2日星期三

使用 Scrapbook作为个人资料管理系统

我现在用Scrapbook(一 个Firefox的插件)作为我的个人资料管理系统,顺便还存储一点个人效率系统的资料。这里的资料主要是指每天获得的零散的信息(互联网上的阅读等)以 及自己的随手笔记。关于电子书等其他资料和文件系统的管理,以后我会专门撰文叙述。
GTD中提到建立一个简单而高效的个人资料管理系统是具有重要作用的。实际上,我看完GTD这本书就觉得资料管理系统实际上跟个人效率系统是两套不 同的体系。个人效率(时间管理)系统侧重于让我们更有效率的完成工作。而资料管理系统则是为了“有效组织和管理资料,做到随时需要,随时获得”(古道语,虽然我觉得古道把 事情搞得有点麻烦^^)。
于是当时Google了一番,发现善用佳软上有一个系 列“寻找最好用的笔 记软件”,比较的很全面。于是按图索骥,对十来个软件进行了试用,最后选了MyBase作为我的资料管理系统,并花了一两天时间把 以前存在Scrapbook里的零散资料转到了MyBase里。在Windows下,MyBase是不错的笔记软件了,树形组织十分方便,还提供了IE和 Firefox的抓取插件。除了启动慢一点,Firefox抓网页乱码几率很高,搜索基本上没用以外,已经算比较完美了。我也用的很happy。
但是几个月前,我实在受不了越来越慢的Windows,把整个硬盘格了装成了Ubuntu,这下问题来了,MyBase没有提供任何Linux的支持。 试用了Ubuntu下的几个笔记软件,比如BasketJarnal什 么的,也没发现顺手的工具。正巧那几天发现了Scrapbook的几个插件,感觉比较兴奋,于是重新启用Scrapbook。
Scrapbook是Firefox的一个插件,用来保存网页以便离线的时候也可以查阅。目前的版本是1.3.3.2,已经基本上可以胜任一个笔记软件的需求。再加上几个插件,可以让你用的很 High。另外,很重要的一点是,Scrapbook是Firefox的插件,跨平台,而且它所使用的技术、代码、数据格式等都是开放的(Mybase的 数据导出可折腾死我了)。在你觉得某个功能不爽的时候,你甚至可以自己动手来完善它LoL
首先来看一下需要安装的插件,如下图。首先Scrapbook本身,然后是Integrated SearchAutoSave。 安装完Scrapbook之后,就可以整合到Firefox的右键菜单里面。具体的设置各位可以自己琢磨。当然,也有热心用户为Scrapbook专门写 了用 户指南
Firefox Extentions
安装完之后的Scrapbook是什么样子呢?
Firefox Extentions
所有的文件夹都是自己建立,你想怎么组织你的知识管理系统都可以,关键就是要用起来舒服。比如说我就不喜欢清单系统里面的东西太多,于是把每周要回 顾的内容和的清单放到了这里面,每周进行回顾和改进。
图的最上面那个输入框是Integrated Search,它可以让你搜索你的整个Scrapbook资料系统,而且速度很快,这比起Google Desktop这种笨东西来,要好的多了。
分割线是我自己加的,下面是AutoSave保存的网页。因为每天看的东西很多,而我又不是随时记得把网页保存到资料系统里去。AutoSave就 是把每一个我看过的页面保存下来,够暴力吧?但是“一力破十慧”,它还就是好用,我在看东西的时候再也不担心会丢掉有用的内容了。而且没有网络连接的时 候,我想起某个看过的网页也可以拿出来翻翻。什么?担心占的磁盘越来越大?我们这不是在实践GTD么?把“清理资料系统”加入到你的每周回顾里面不就得 了?我已经这么干了四、五周,基本上每次清理的时间不会超过15分钟吧。
需要注意的是,Windows用户的Scrapbook的默认目录是在Application Data下面的mozilla目录,大家还是把它移到数据集中存放的地点吧(Alt+K打开Scrapbook面板,工具->组织)。要不然如果某 次重装忘了备份,就只有泪流满面了。当然,也可以使用上面图中的BackupHelper。不过我在Ubuntu下,主文件夹还是蛮安全的。
好啦,总结一下,Firefox+Scrapbook+Integrated Search+AutoSave=轻便好用一站式个人资料系统,自由开放跨平台,而且将会越来越快(因为Firefox 3会有大的性能提升)。如果你担心你的资料管理系统某天崩掉或者某天你心血来潮要切换到另一个平台,那么试一下Scrapbook吧,应该不会让你失望。
你也使用Scrapbook么?如果你有什么独门秘技,不要藏私哦,欢迎留言与我们分享。
http://www.productivelife.cn/2008/04/personal-km-system.html

2010年6月1日星期二

FWTools 是一套处理GIS和遥感数据的开源工具

FWTools

出自WestWIKI

跳转到: 导航, 搜索


FWTools 是一套处理GIS和遥感数据的开源工具,虽然功能不是很多,但都比较实用,是基础数据处理很好的工具,有过用ArcInfo处理数据经验的人,用 FWTools会感到很温馨。FWTools的核心来源于GDAL实用工具,也有部分用Python代码写的。

目录

[隐藏]

简介

  • FWTools 由6部分组成分别为:
    1. OpenEV: 一个桌面版的矢量和栅格数据的现实和分析工具A high performance raster/vector desktop data viewer and analysis tool.
    2. MapServer: 一个WebGIS软件.
    3. GDAL/OGR: 由一系列命令组成的使用工具,可以读写和处理栅格及矢量数据.
    4. PROJ.4: 命令行模式的投影转换工具.
    5. OGDI: 格式转换工具.
    6. Python: 脚本语言.
  • http://fwtools.maptools.org/ 可下载linux和windows版的安装文件,安装后在首页或开始-FWTools 2.x.x点击FWTools Shell即可进入DOS环境执行相关命令,可以在任何目录下执行相关命令,而不需要在命令前加路径。

FWTools实用工具

  • gdalinfo.exe 显示GDAL支持的各种栅格文件的信息。
  • gdal_translate.exe 在不同的格式间进行转换。同时,潜在的执行了一些切割、重采样和使像素比例变化的任务。
  • gdalwarp.exe 投影转换和投影绑定。同时也可以进行图像镶嵌。这个程序可以重新投影所支持的投影,而且如果图像("raw" with)控制信息也可以把GCPs 和图像存储在一起
  • gdaltindex.exe 创建栅格索引的SHP 文件。它能为每个栅格数据建立一个记录:一个包含栅格名称的属性,以及这个栅格的外边界所组成的多边形。
  • gdal_contour.exe 从一个栅格DEM生成矢量的等值线。
  • gdaltransform.exe 与PROJ相似。进行投投影转换。
  • nearblack.exe 将栅格中接处黑\白的像元置成黑色或白色。这可以用来修补压缩丢失信息而造成的不准确,以便于在镶嵌时将其视为透明。
  • gdal_grid.exe 从分散的点生成栅格,有插值的意思。
  • ogrinfo.exe 显示OGR支持的矢量数据的信息
  • ogr2ogr.exe 进行不同简单矢量格式转换。
  • gdaladdo - 在文件内建立金字塔,提高文件打开和浏览速度.
  • gdalbuildvrt - Build a VRT from a list of datasets.
  • gdaldem - DEM分析与可视化工具,可进行坡度、坡向和山影分析,以及高程分色渲染功能.
  • rgb2pct.py - 将24bit的RGB图像转换为8bit颜色表图像.
  • pct2rgb.py - 将8bit颜色表图像转换为24bit的RGB图像.
  • gdal_merge.py - Build a quick mosaic from a set of images.
  • gdal2tiles.py - 生成 TMS瓦片结构,可用Google Earth(KML)或一般web浏览器进行浏览.
  • gdal_rasterize - 将矢量数据栅格化.
  • gdal_retile.py - Retiles a set of tiles and/or build tiled pyramid levels.
  • gdal_proximity.py - Compute a raster proximity map.
  • gdal_polygonize.py - Generate polygons from raster.
  • gdal_sieve.py - Raster Sieve filter.
  • gdal_fillnodata.py - Interpolate in nodata regions.
  • gdal-config - Get options required to build software using GDAL.

通用参数

所有的GDAL命令行工具程序都支持下面的“通用的”命令行参数。
  • --version
显示gdal版本并退出。
  • --formats
列出所有gdal支持的栅格格式(只读和读写的)并退出。格式支持描述如下:"ro"是只读驱动,'rw'是读写驱动(比如支持 CreateCopy);"rw+"是读写和更新驱动(比如支持 Create)。
  • --format format
列出单个格式驱动的细节信息。格式名需要是在--formats 中列出的格式名。比如 GTiff。
  • --optfile file
读取指定名称的文件并把其中的内容当成参数传入命令行列表。以#开头的行将被忽略,为注释。多字组成的参数需要用双引号来保正其为单一的参数。
  • --config key value
设置配置把指定键设置为某个值,而不必把他们设置为环境变量。一些命令参数键是GDAL_CACHEMAX(用于缓存的内存有多少M)以及 GDAL_DATA(gdal 的数据路径)。单一的驱动会被其他配置参数影响。
  • --debug value
控制调试信息的打印。ON值表示允许调试信息输出,OFF值表示不要输出调试信息。只有在调试信息包含了调试前缀编码中的字符串后其他值才会有选 择。
  • --help-general
给出一个简短的普通的GDAL命令行参数用法信息然后退出。

参考文献

  1. FWTools
  2. http://wiki.woodpecker.org.cn/moin/lilin/gdal-index
  3. GDAL

Proj.4 简明文档 中文

Proj4是一个免费的GIS工具,软件还称不上。它专注于地图投影的表达,以及转换。采用一种非常简单明了的投影表达--PROJ4,比其它的投 影定义简单,但很明显。很容易就能看到各种地理坐标系和地图投影的参数,同时它强大的投影转换功能,也是非常吸引人的。许多的 GIS软件中也将其集成在内。Proj可以在 window的命令下有可运行的 EXE文件,其实它更主要的是一个库!可以用来编一些批处理。在 Linux下除了可以直接运行外,还可以作为库来进行更高功能的开发。

目录

[隐藏]

安装

  • Window下安装:
Proj4的网站下载安装文件,解压 缩,把路径加到环境变量里即可。具体操作步骤在解压后的README有详细说明。
  • Ubuntu Linux下安装: 可以在终端输入:
sudo apt -get install proj
  • Fedora Linux 下安装: 可以在终端输入:
su -c 'yum install proj'

快速开始

在终端或 DOSshell下可以输入(带$的为向终端里输入的命令):
$proj 
Rel. 4.6.0, 21 Dec 2007 
usage: proj [-beEfiIlormsStTvVwW [args]] [+opts[=arg]] [files] 
会显示出 proj的用法。包括参数设置,可选项,和输入文件。

显示参数

对于作地图和 GIS工作者来说投影可谓是一切的基础,投影的正确与否将关第到最终结果正确与否。在 proj里边集成了,许多的制作地图用的投影参数。我们可以使用下边的命令来显示在 proj里的内置的有关地图投影的参数。显示投影类型:
$proj -l 
aea: Albers Equal Area 
aeqd: Azimuthal Equidistant 
... ... ...
wag5: Wagner V 
wag6: Wagner VI 
wag7: Wagner VII 
weren: Werenskiold I 
wink1: Winkel I 
wink2: Winkel II 
wintri: Winkel Tripel 
同样的,还有命令:
$proj -le  
显示支持的椭球体(ellipsoid)信息,显示结果省略。
$proj -ld  
显示Proj4支持的基准面(Datum)信息,显示结果省略。
这两个概念是有区别的。学过地图学的都知道,地图学上对地球上的抽象,第一次抽象为水准面(等重力面),第二次抽象为椭球体 (ellipsoid),第三次抽象现在我认为是将椭球体进行定位之后,所确定的具有明确的方向的椭球体,它的要求能够很好的为当地区的地图制作服务,这 个似乎才可称为基准面(Datum)。当输入:
$ proj -ld 
__datum_id__ __ellipse___ 
__definition/comments______________________________ 
      WGS84 WGS84        towgs84=0,0,0                 
      GGRS87 GRS80       towgs84=-199.87,74.79,246.62  
                         Greek_Geodetic_Reference_System_1987 
      NAD83 GRS80        towgs84=0,0,0                 
                         North_American_Datum_1983 
      NAD27 clrk66       nadgrids=@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat 
上边显示的就是基准面和椭球体的差异。

投影转换

我国常用的地图投影主要有,Albers,Lambert,Gauss-Kruger,UTM投影。
等积投影由于没有面积变形,所以在土地调查,植被盖度分类等涉及到要保持面积不能变形的情况.中国的全国性地图许多采用等积投影。国际上称 为Albers投影,是一种圆锥等积投影。中国所使用的 Albers的参数是双标准纬线,25N,47N,中央经线为 105E,椭球体为Krassovsky。用proj4表示为:
+proj=aea +ellps=krass +lon_0=105 +lat_1=25 +lat_2=47 
下边将用中国的 Albers投影,简称为 Albers_China来作个简单的投影转换。
$proj +proj=aea +ellps=krass +lon_0=105 +lat_1=25 +lat_2=47 
105 36
0.00 3847866.97 
104d36'54 36d25'9 
-33897.90 3895309.74 
104d25'36.9E 36d52'41N 
-50158.40 3947261.73
也可以进行批量转:
$ proj +proj=aea +ellps=krass +lon_0=105 +lat_1=25 +lat_2=47 <
> 105 36 
> 104 36 
> 106 24 
> EOF 
0.00 3847866.97 
-88522.43 3848312.80 
102064.08 2503934.26 
同样也可以进行反转,即将 Albers转为经纬度,只要在命令中加入参数-I
$ proj +proj=aea +ellps=krass +lon_0=105 +lat_1=25 +lat_2=47 -I <
> 0 3847866.97 
> -88522.43 3848312.80 
> 102064.08 2503934.26 
> e 
105dE  36dN 
104dE  36dN 
106dE  24dN 
在这里转换的过程中始终是按经度-纬度,x-y的顺序放进的。你也许会想将它们的方向掉转。如果是输入时想转可在命令中加 -r,如果是输出想掉转,可以是加 -s
$ proj +proj=aea +ellps=krass +lon_0=105 +lat_1=25 +lat_2=47 -r -s  <
> 36 105 
> 33 104 
> e 
3847866.97  0.00 
3509623.92  -91933.97 
同样也可以通过文件来进行批量转换:
lat_lon.test
105dE 36dN 
104dE 36dN 
106dE 24dN 
$ proj +proj=aea +ellps=krass +lon_0=105 +lat_1=25 +lat_2=47 ~/lat_lon.test >alberst.test 
生成的:alberst.test
0.00 3847866.97 
-88522.43 3848312.80 
102064.08 2503934.26 
你也可以在文件中加注释和对坐标点的说明,在转换后仍可以保留:
lat_lon.test 
#it's just a test for convert file format 
105dE 36dN not Lanzhou 
104dE 36dN Lanzhou 
106dE 24dN Unknow place 
命令:
$ proj +proj=aea +ellps=krass +lon_0=105 +lat_1=25 
+lat_2=47 ~/lat_lon.test >albers.test 
albers.test
#it's just a test for convert file format 
0.00 3847866.97 not Lanzhou 
-88522.43 3848312.80 Lanzhou 
102064.08 2503934.26 Unknow place 
在命令上边的~/lat_lon.test是输入的文件~在 linux下指的是当前目录,windows下没试过,不过可以用绝对路径。>是重定向,输出文件。

地图单位

proj4支持许多单位,可以通过 proj -lu,看到支持的单位:
$ proj -lu 
         km 1000.                Kilometer 
          m 1.                   Meter 
         dm 1/10                 Decimeter 
         cm 1/100                Centimeter 
         mm 1/1000               Millimeter 
        kmi 1852.0               International Nautical Mile
其中 proj默认的单位为米(meter),我们设置参数 +units 来控制输入的坐标单位。我们可以将它的输入或输出的数据的单位改为其它:
$ proj +proj=aea +ellps=krass +lon_0=105 +lat_1=25 +lat_2=47 +units=km -I <
> 0 3847.86697 
> -88.52243 3848.31280 
> 102.06408 2503.93426 
> e 
105dE  36dN 
104dE  36dN 
106dE  24dN

地图投影设置

其实在上边我们已经用到了一些参数。比如进行投影的反转,所使的是-I。还有就是给出的中国等积投影是:
proj +proj=aea +ellps=krass 
+lon_0=105 +lat_1=25 
其中有许多参数前边都加了前缀 + ,这后边的参数是对地图投影的真正的设置,proj命令也将按这个规定来进行转换。这种的参数的形式是 +param=value 为 param(参数)来给定一个value(值),这个值可以是一个以度分秒格式或实数,整数,甚至可以是一个ASCII字符串。 所要注意的是一种拼错了的参数名会被不理会,如果一个参数输入了两次,则第一次输入的将被使用。所以在执行前要将参数检查好。另一个很有用的特点 是,proj会自动决定中央经线并且追加一个+lon_0参数到你的定义中,如果你没有定义中央经线的话。

选择投影

选择投影使用的参数是+proj=name。proj中集成了不少的投影而且还在不断的增加。可惜的对我们中国的并没增加多少!它在这里提供我们增 加我们自己投影的方法。我们可以用命令:
$proj -l #得到内置的投影类型
aea : Albers Equal Area #可以看到 Albers等积投影的在 proj中的值是 aea
$proj -lP #得到更详细的投影信息,投影包含的参数。
aea : Albers Equal Area   #更详细的信息
Conic Sph&Ell 
lat_1= lat_2= 
这样我们就可以来定你想要的投影了。

选择椭球体

虽然投影定了,可是还要确定椭球体。有两种办法:一种是利用内置的一些椭球体。
$proj -le #显示出内置的椭球体。
找几个我国经常用的椭球体:
clrk66 a=6378206.4      b=6356583.8      Clarke 1866 
krass a=6378245.0      rf=298.3         Krassovsky, 1942 
WGS84 a=6378137.0      rf=298.257223563 WGS 84
另一种就是你可以自定义一个你自己的地球,在上边的三个椭球体上就包含了定义一个椭球体的参数。以下面是这几个参数的含义:必须有的:
+a=A   椭球的赤道半径(半长轴)
下边的这些只要一个就行的参数:
+b=B     椭球的极半径(半短轴)
+f=F     椭球的扁率  F=(A-B)/A
+rf=RF   椭球的反扁率  RF=1/F 
+e=E     偏心率
+es=ES   偏心率的平方  E^2
例如指定一个 Clark1866 椭球来作为中国等积投影的参数就可以这样来设置:
$proj +proj=aea +ellps=clrk66 +lon_0=105 +lat_1=25 
105 36                  #可以和上边的 krass椭球体比较
0.00 3850517.66 
104 36 
-88731.89 3850957.52 
106 24 
102046.72 2507997.23
同样也可以自定义:
$ proj +proj=aea +a=6378206.4 +es=.006768658 +lon_0=105 +lat_1=25
或:
$ proj +proj=aea +a=6378206.4 b=6356583.8 +lon_0=105 +lat_1=25
得到结果都是一样的。 如果你仅仅只指定了一个+a则会得到一个正规的球体。例如:
proj +a=1
你会定义一个半径 R=1的单位球体。

通用的参数

我们知道 UTM投影,为确保每个带中的点全为正,在北半球将坐标从每带的中央径线西移 500公里。而南半球为了保证 Y轴为正,不得不还向南移。这样两个参数在 proj中可以用两个参数+x_0和+y_0来确定。 例如在UTM中,
+x_0=5000000 +y_0=0
还有一个是+lat_0:不太清楚,把原文贴过来。
A fourth parameter, lat_0= 0, is used to designate a φcentral parallel and associated y axis origin for several projections. 
还有最后一个+lon_0:指中央径线,在 UTM还有 Albers中要设置。上边的四个参数是可选的如果没有将会默认为 0,除+lon_0,它会计算。这样我们就完成了一个投影的完整定义了,至少我认为这是一种很很简单很优 美的定义投影的方式。通常把这种 proj定义出的投影形式称为 PROJ4格式,例如刚开始写的中国的等积投影:
+proj=aea +ellps=krass +lon_0=105 +lat_1=25
还有中国的 Lambert投影,写法和上边差不多,在 proj4里的投影名称叫+proj=lcc
  • 定义一个 UTM 投影的方法
$proj +proj=utm +zone=48  
105 36   #在离兰州最近的一条中央经线
500000.00 3983948.45  #可以看出西移 500000米
  • 定义一个高斯克吕格(它是横轴墨卡托的一种,也是横轴黑卡托的默认值)
$proj +proj=tmerc +lon_0=105  
#这上边没带,可以简单的算出每个带的中央经线的度数:(带数*6)-3就是中央经线

自定义你的 proj 及内置的其它程序介绍

自定义你的参数

也许我们或许希望将我们常用的地图投影的定义放到文件中,我们只要在需要时将其导入即可。Proj4也提供了这个功能。我们以设置+init参数来 进行。 首先先将地图投影保存到文件中。我们保存地图投影的文件格式如下: proj.dat
  1. 中国全国范围内的Albers投影
 +proj=aea +ellps=krass +lon_0=105 +lat_1=25 +lat_2=47 <> 
上边我们将中国的等积投影保存在名为 proj.dat的文件中。作为这个放置投影的文件的格式是: #表示注释,proj不执行 <...>夹在这里边的是关键字,因为在一个投影文件中可以放多个投影, proj在这个文件里靠关键字来选择投影。<> 最的这个表示投影定义的结束。 中间的部分就表示为定义的投影了。这样我们就可以很简单的使用+init来使用我们定义的这个投影了!
$ proj +init=~/proj.dat:albers_china 
106 36 
88522.43  3848312.80 
105 36 
0.00 3847866.97 
106 24 
102064.08 2503934.26 
+init后边是个等号,之后是你保存投影文件的绝对路径,之后是个冒号,冒号之后则是投影的关键字。由于我是在 LINUX     ‘ ’      上的,  ~  号代表的是当前目录。在 Windows下则要改为类似于:
+init=c:\proj.dat:albers_china
其实在 proj初使时它已经有一些默认的值了,比如椭球体默认为 WGS84。如果要更改这些。可以参考后边所列的参考书。

proj4 里的其它程序

其实在你安装完 proj4之后,不光只安装了个 proj程序,还包括其它的几个,以及一个 lib。先介绍其内置的几个其它函数。
  • invproj 反转,将 xy转换为 lonlat。相当于 proj -I
  • cs2cs 是从一个投影转到另一个投影,具体的使用方法是:
$ cs2cs +init=~/proj.dat:albers_china +to +proj=utm +zone=48 +ellps=krass 
88522.43 3848312.80 
590130.56 3984481.41 0.00 
+to 前一你输入的坐标所属的投影,后边是要转出的投影。这就解决了,如果要用 proj在两个坐标系间转,必须要先转为经纬度。其它的参数可以参照proj的设置。
  • nad2nad 这是他们给他们自己国家的两个基准面进行基准面转换所作的。
转个原文吧,不知道我们什么时候用上自己的基准面转换,从 54转 80。。
Program  nad2nad  is  a  filter  to convert data between North America  Datum  1927  (NAD27)  and  North  American Datum 1983.  nad2nad can option-ally process both State Plane Coordinate  System  (SPCS)  and  Universal Transverse Mercator (UTM) grid data as well as geographic  data  for  both   input and output.  This can also be accomplished with the cs2cs program. 
  • geod 这是个很有意思的,在定义了椭球体之后可以求出地表任意两点的大圆距离,以及两点的相对方位。当然也可以有它的反函数,invgeod。其使用方法,可以 看帮助,一目了然。

Proj 的参数全解

下边将 Proj程序进行一个小的总结,对它所包含的所有参数进行说明。投影变换的命令为:
proj [-control] [+control] [files]
在 unix,Linux上还包括一个反变换:
invproj [files]
代表输入的数据文件,执行顺序是从左向右,如里这里为空的话,则程序默认是从标准输入设备中输入,即键盘。 [-control] 参数被用来制约控制,数据的输入输出,和选择要计算的基本信息。下边将每个 -control 参数进行说明。
  • -I 进行投影的反转换。在上边说到的 unix下的有反转程序 invproj在windows下只要加上它,就可以进行反转。从投影坐标转为地理坐标。
  • -l[p|P|e|u|d] 显示出 proj内置的一些地球参数。
    • -lp显示投影。-lP显示投影里的参数比较详细。
    • -le显示内置的椭球体,看完之后,基本上够用的。
    • -lu显示 proj支持的长度单位。
    • -ld显示基准面,很少基本上都是美国的,也只有 WGS84我们现在用的比较多。
  • -b 用来把从标准输入输出中的数据当做二进制。输入数据被认为是双精度浮点。当 proj作为一个子程序时非常有用,可以忽略格式操作。
  • -i 仅选择输入为二进制,参考(-b)
  • -o 仅选择输出为二进制,参考(-b)
  • -ta 指定一个字符来作为注释来不被执行,仅只能使用 ASCII 字符。(默认为#号,例如可以改为-t%,这就将%作为注释符)
  • -e string 来作为当输出错误时输出的信息。注意 -e 空一格,之后再输入你想要达到的输出时输出的信息。默认的错误输出是 *\t*。所要注意的是如果选了-b,-o,-i的话,错误的消息将被使用系统的 HUGE VAL 输出。
  • -r 这个用来反转输入坐标的顺序,如果使用的话会将输入默认的longtitude-latitude或者x-y改变为latitude-lontitude 或y-x。
  • -s 将输出的顺序进行反转。参考 -r
  • -m 是指将输出的值按比例进行缩小放,主要用来用来进行单位转换,因为proj 默认的输出单位是米,如果你想输出为千米时就可以用它来指定。例如:-m 1:1000 或使用 -m 1/1000 都是可以的。也可将其放大使用 -m 1:0.1 显示为分米为最小单位。
  • -f format 来对输出进行精度规范,输出的小数点精度。默认的格式为%.2f,即输出两位小数。对于经纬度则采用十进制来表示。例如:将输出的小点数位保留五 位,-f%.5f。
  • -[w|W]n 用来控制当使用度分秒格式时,秒的位数。n 是个小于10的数。
    • -wn 指保留的秒的精度是n位,如果在某一位后全为0时就不输出。
    • -Wn 则强制将后边的0补上,要求小数位为一个定长。这个有时很有用,在规定格式方面。
  • -v 来显示你的选择的投影的信息
  • -V 来显示更详细的你选择投影的信息,增加了椭球体。主要用来检查你的输入是否是你想定义的投影,保证没有错误。
  • -E
  • -S 来把每一点在投影后的各种变形显示出来。将这些信息显示在<>里。分别包括 h,k,s,omega,a 和 b。
[+control] 有加号的地图参数都和地图的投影有关,并且不同的投影对其中的有些参数不包括。除了+init 外,其它的带+号的参数都可以作为初始文件中,或默认的文件。这些选择是从按从左到右的顺序进行处理的。当出现重复时,以前边的参数为准。
  • +proj=name 这是经常必选的一个地图投影转换函数。Name 是一个投影名称。
  • +init=file:key 名为 file 的文件使用 key 关键字,选择包含了控制参数的投影。
  • +R=R 当把地球当成球体计算时,所要设置的半径。
  • +ellps=acronym 选择一个 proj 里的椭球体。Acronym 为椭球体名。
  • +a=a 设置椭球体的半长轴为a,单位为米
  • +es=e^2 设置椭球体的偏心度的平方。同样的也可以用+b=b,+e=e,
  • +rf=1/f,+f=f。来设置,椭球体参数。可以参考上边的说明。
  • +x_0=x0 设置假东,例如在gauss-kruge 中,东偏 5000000 米。主要用来保持坐标的非负。
  • +y_0=y0 设置假北,主要用来保持坐标非负。
  • +lon_0=c 高置中央经线。通常和+lat_0,一起决定投影的地理起点。
  • +lat_0=d 参考上边的。
  • +units=name 设置地图坐标的单位。
  • +geoc 地理坐标将被认为是地心坐标,当使用这个参数的时候。
  • +over 使用该参数时,把经纬不限制在-180~+180 间。
举例:
$ proj +proj=goode     
389 36 
2611721.44    4007501.67 
29 36                        #当不使用时,会自动将经度换到范围
2611721.44    4007501.67 
$ proj +proj=goode  +over    #使用关键字时,则不会转换。
389 36 
35033090.98  4007501.67 
29 36 
2611721.44    4007501.67 
在安装Proj4的位置,有一个默认的文件夹,来指示不满足要求的初始化文件名称,以及投影的默认文件proj_def.dat。环境变量 PROJ_LIB 可以用来给出另一个新的文件夹。

在Python里使用的Proj4

proj不光是一些应用程序的集合,它更是一个库,其它语言可以来调用它,来进行更高级的开发和应用。在 proj安装上之后,它本身作为库,可以被 C\C++来调用。而 proj本身是一个开源的项目,同时 Python也是一个开源的 编程语言。Proj理所应当的能够用在 Python里。在 Python里的 Proj库称为 Pyproj。在 windows和 Linux下都很好安装。现在 Pyproj的所需的python版本为 2.5。pyproj可从:http://code.google.com/p/pyproj/ 下载。
Pyporj是 Python下的 proj。可以很方便的对点来进行地图投影转换。同时在它的基础上开发出更高级的应用。Pyproj包里包括两个类,Proj类和Geod类。
Proj类相当于前面所说的 proj的功能。可以进行地图投影的变换从经纬度转为 xy投影坐标,也可以反转。也可以在不同的地图投影之间转换。Geod类相当于前边介绍的 proj里的一个应用程序 Geod。可以很方便的计算地球上任意两点的大圆距离,以及它们的相对方位。同时,也可根据方位和大圆距离来反算出另一点的经纬度。 其处理的输入坐标可以是 python数组,list\元组,scalar 或者 numpy/Numeric/numarray arrays。 在导入 Pyproj后可以用其内部的函数 test()会运行一些例子。下边介绍 Proj类和 Geod类,以及 transform函数。

Proj 类

Proj类主要是进行经纬度与地图投影坐标转换,以及反转。可以参考前边对 proj的介绍。 当初始化一个 Proj类的时例时,地图投影的参数设置可以用关键字\值的形式。关键字和值的形式也可以用字典,或关键字参数,或者一个 proj4 字符串(与 proj的命令兼容)。当调用一个包含经纬度的 Proj类的实例时,将会把十进制的经纬度,转换成为地图的 xy坐标。如果可选的关键字'inverse'等于 True的时候(默认为假),则进行相反的转换。如果关键字'radians'为 True的话(默认为假),则经纬度的单位则是弧度,而不是度。如果可选的关键字'errcheck' 为真的话(默认为假),一个异常将会被给出,如果转换无效的话。如果为假的话,且转换无效时,没有异常抛出,但会返会一个无效值 1.e30。
可以将经纬度分别存入一个 list或 array。可以进行更高效率的转换。输入的值应当是双精度(如果输入的不是,它们将会被转为双精度)。
虽然 Proj可以和 numpy and regular python array objects,python sequences and scalars,但是用 array 对象速度快一些。
初始化一个投影: Proj4投影控制参数或者是以字典形式给出,或者是以关键字参数给出,也可以用 proj4的形式给出字符串。 例:
>>> from pyproj import Proj  #从 pyproj导入 Proj类
>>> p=Proj('+proj=aea +lon_0=105 +lat_1=25 +lat_2=47 +ellps=krass') #初使化一个投影-中国等积投影,使用 proj4格式
>>> x,y=p(105,36)  #进行转换
>>> print '%.3f,%.3f' %(x,y) #按格式输出
-0.000,3847866.973 
>>> lon,lat=p(x,y,inverse=True)  #进行投影反转
>>> print '%.3,%.3' %(lon,lat)  #xy为上边转的数值
>>> print '%.3f,%.3f' %(lon,lat)      
105.000,36.000                     
>>> import math  #验证关键字 radians
>>> x,y=p(math.radians(105),math.radians(36),radians=True) 
>>> print '%.3f,%.3f' %(x,y) 
-0.000,3847866.973 
>>> lons=(105,106,104)   
>>> lats=(36,35,34) 
>>> x,y=p(lons,lats)  #将经纬度放入元组中
>>> print '%.3f,%.3f,%.3f' %x    #普通打印
-0.000,89660.498,-90797.784 
>>> print '%.3f,%.3f,%.3f' %y 
3847866.973,3735328.476,3622421.811 
>>> type(x)    #输出的类型为元组
 
>>> zip(x,y)   用 zip函数包装
[(-1.1262207710106308e-09, 3847866.9725167281), 
(89660.498484069467, 3735328.4764740192), 
(-90797.783903947289, 3622421.8109651795)]
>>> utm=Proj(proj='utm',zone=48,ellps='WGS84') 
>>> x,y=utm(105,36)   #用关键字定义一个投影。
>>> x,y 
(500000.00000000116, 3983948.4533358263) 
两个 Proj实例的函数:
is_geocent(self) 返回 True当投影为 geocentric (x/y) coordinates。
is_latlong(self) 返回 True当为地理坐标系经纬度时。
举例:
>>> utm.is_geocent() #很纳闷,看来有必要弄清什么是 geocentric
False 
>>> utm.is_latlong() 
False 
>>> latlong=Proj('+proj=latlong') 
>>> latlong.is_latlong() 
True 
>>> latlong.is_geocent() 
False

transform()函数

transform()函数是在 pyproj库下,可以进行两个不同投影的转换。相当于 proj程序里的 cs2cs子程序。 用法如下:
transform(p1, p2, x, y, z=None, radians=False)
x2, y2, z2 = transform(p1, p2, x1, y1, z1, radians=False)
在 p1,p2两个投影间进行投影转换。将把在 p1坐标系下的点(x1,y1,z1)转换到 p2所定义的投影中去。z1是可选的,如果没有设 z1的话将会假定为 0,并仅仅返回 x2,y2。 使用这个函数的时候要注意不要进行基准面的变换(datum)。关键字radians只有在 p1,p2中有一个为地理坐标系时才起作用,并且把是地理坐标系的投影的值会当作弧度。判断是否为地理坐标可以用 p1.is_latlong() 和 p2.is_latlong()函数。 输入的 x,y,z可以是分别是数组或序列的某一种形式。 举例:
>>> import pyproj 
>>> albers=Proj('+proj=aea +lon_0=105 +lat_1=25 +lat_2=47 +ellps=krass') 
>>> utm=Proj(proj='utm',zone=48,ellps='krass') 
>>> albers_x,albers_y=albers(105,36) 
>>> albers_x,albers_y (-1.1262207710106308e-09, 3847866.9725167281) 
>>> utm_x,utm_y=utm(105,36) 
>>> utm_x,utm_y 
(500000.00000000116, 3984019.0588136762) 
#下边直接从 albers转为 utm坐标
>>>to_utm_x,to_utm_y=pyproj.transform(albers,utm,albers_x ,albers_y) 
>>> to_utm_x,to_utm_y 
(500000.00000000116, 3984019.0588136753) 

Geod类

主要用来求算地球大圆两点间的距离,及其相对方位,以及相反的操作。同时也可以在两点间插入 N等分点。
该类主要包括三个函数:
fwd(self,lons,lats,az,dist,radians=False)
参数为经度,纬度,相对方位,距离。
  • 正转换,返回经纬度,以及 back azimuths。可以用 numpy and regular python array objects, python
sequences and scalars。如果 radians为真把输入的经纬度单位当作弧度,而不是度。距离单位为米。
inv(self, lons1, lats1, lons2, lats2, radians=False)
  • 反变换,已知两点经纬度,返回其前方位解,后方位角,以及距离。
npts(self, lon1, lat1, lon2, lat2, npts, radians=False)
给出一个始点(lon1,lat1)和终点(lon2,lat2)以及等份点数目 npts。举例(懒得写了,照抄过来,已验证):
>>> from pyproj import Geod
>>> g = Geod(ellps='clrk66') # Use Clarke 1966 ellipsoid.
>>> # specify the lat/lons of Boston and Portland.
>>> boston_lat = 42.+(15./60.); boston_lon = -71.-(7./60.)
>>> portland_lat = 45.+(31./60.); portland_lon = -123.-(41./60.)
>>> # find ten equally spaced points between Boston and Portland.
>>> lonlats = g.npts(boston_lon,boston_lat,portland_lon,portland_lat,10)
>>> for lon,lat in lonlats: print '%6.3f  %7.3f' % (lat, lon)
43.528  -75.414
44.637  -79.883
45.565  -84.512
46.299  -89.279
46.830  -94.156
47.149  -99.112
47.251  -104.106
47.136  -109.100
46.805  -114.051
46.262  -118.924
初始化一个 Geod类实例:使用关键字方法来传一个椭球体,椭球体为 proj中支持的任何一个。
>>> g=Geod(ellps='krass')  
同时也可以指定 a,b,f,rf,e,es来设定地球椭球体。
>>> miniearth=Geod(a=2,b=1.97) #单位为米
这样对于一个确定的实例就可以使用上边的三个函数了。实例(继续照抄过来):
>>> from pyproj import Geod
>>> g = Geod(ellps='clrk66') # Use Clarke 1966 ellipsoid.
>>> # specify the lat/lons of some cities.
>>> boston_lat = 42.+(15./60.); boston_lon = -71.-(7./60.)
>>> portland_lat = 45.+(31./60.); portland_lon = -123.-(41./60.)
>>> newyork_lat = 40.+(47./60.); newyork_lon = -73.-(58./60.)
>>> london_lat = 51.+(32./60.); london_lon = -(5./60.)
>>> # compute forward and back azimuths, plus distance
>>> # between Boston and Portland.
>>> az12,az21,dist = g.inv(boston_lon,boston_lat,portland_lon,portland_lat)
>>> print "%7.3f %6.3f %12.3f" % (az12,az21,dist) -66.531 75.654  4164192.708
>>> # compute latitude, longitude and back azimuth of Portland,
>>> # given Boston lat/lon, forward azimuth and distance to Portland.
>>> endlon, endlat, backaz = g.fwd(boston_lon,boston_lat, az12, dist)
>>> print "%6.3f  %6.3f %13.3f" % (endlat,endlon,backaz)
45.517  -123.683        75.654
>>> # compute the azimuths, distances from New York to several
>>> # cities (pass a list)
>>> lons1 = 3*[newyork_lon]; lats1 = 3*[newyork_lat]
>>> lons2 = [boston_lon, portland_lon, london_lon]
>>> lats2 = [boston_lat, portland_lat, london_lat]
>>> az12,az21,dist = g.inv(lons1,lats1,lons2,lats2)
>>> for faz,baz,d in zip(az12,az21,dist): print "%7.3f %7.3f %9.3f" % (faz,baz,d)
54.663 -123.448 288303.720
-65.463  79.342 4013037.318
51.254 -71.576 5579916.649

参考资料

贡 献者

  • 侯伟:yjphhw@sohu.com

计算椭球上两点间的距离 geod

计算椭球上两点间的距离(大地线),采用proj程序中的geod,命令如下:
zhao@zhao-laptop:~$ geod +ellps=WGS84 -I
20dN 110dE 21dN 110dE
0d    180d    110710.615

在ubuntu上安装proj 投影转换程序

在ubuntu上安装proj 投影转换程序。采用apt-get智能方式,
zhao@zhao-laptop:~$ proj
程序 'proj' 尚未安装。  您可以通过输入以下命令安装:
sudo apt-get install proj
bash: proj:找不到命令
zhao@zhao-laptop:~$ sudo apt-get install proj
[sudo] password for zhao:
正在读取软件包列表... 完成
正在分析软件包的依赖关系树      
读取状态信息... 完成            
建议安装的软件包:
  proj-ps-doc
下列【新】软件包将被安装:
  proj
共升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 430 个软件未被升级。
需要下载 406kB 的软件包。
操作完成后,会消耗掉 1991kB 的额外磁盘空间。
获取:1 http://cn.archive.ubuntu.com hardy/universe proj 4.6.0-1 [406kB]
下载 406kB,耗时 2s (203kB/s)
选中了曾被取消选择的软件包 proj。
(正在读取数据库 ... 系统当前总共安装有 121468 个文件和目录。)
正在解压缩 proj (从 .../archives/proj_4.6.0-1_i386.deb) ...
正在设置 proj (4.6.0-1) ...

Processing triggers for libc6 ...
ldconfig deferred processing now taking place
zhao@zhao-laptop:~$ proj
Rel. 4.6.0, 21 Dec 2007
usage: proj [ -beEfiIlormsStTvVwW [args] ] [ +opts[=arg] ] [ files ]
zhao@zhao-laptop:~$

2010年5月30日星期日

linux平台 下载软件multiget 不错

这个软件的有编译好的一个文件,拿来直接用即可,当然也可自己手动编译源代码。地址如下:
http://sourceforge.net/projects/multiget/files/

在ubuntu上安装filezilla ftp软件

安装ftp软件在ubuntu上,比较容易,

zhao@zhao-laptop:~$ sudo apt-get install filezilla
[sudo] password for zhao:
正在读取软件包列表... 完成
正在分析软件包的依赖关系树      
读取状态信息... 完成            
已经不需要下列自动安装的软件包:
  libevent1 tsocks
使用 'apt-get autoremove' 来删除它们。
将会安装下列额外的软件包:
  filezilla-common
推荐安装的软件包:
  filezilla-locales
下列【新】软件包将被安装:
  filezilla filezilla-common
共升级了 0 个软件包,新安装了 2 个软件包,要卸载 0 个软件包,有 430 个软件未被升级。
需要下载 1207kB 的软件包。
操作完成后,会消耗掉 3596kB 的额外磁盘空间。
您希望继续执行吗?[Y/n]y
获取:1 http://cn.archive.ubuntu.com hardy/universe filezilla-common 3.0.7.1-0ubuntu3 [258kB]
获取:2 http://cn.archive.ubuntu.com hardy/universe filezilla 3.0.7.1-0ubuntu3 [949kB]
下载 1207kB,耗时 30s (39.6kB/s)                                              
选中了曾被取消选择的软件包 filezilla-common。
(正在读取数据库 ... 系统当前总共安装有 121311 个文件和目录。)
正在解压缩 filezilla-common (从 .../filezilla-common_3.0.7.1-0ubuntu3_all.deb) ...
选中了曾被取消选择的软件包 filezilla。
正在解压缩 filezilla (从 .../filezilla_3.0.7.1-0ubuntu3_i386.deb) ...
正在设置 filezilla-common (3.0.7.1-0ubuntu3) ...
正在设置 filezilla (3.0.7.1-0ubuntu3) ...

zhao@zhao-laptop:~$

2010年5月29日星期六

linux平台上抓图--gimp

原来这个软件有这个功能,而且可以指定区域抓图,很专业,而且抓完的图,可以马上进行专业级别的编辑处理。如图:

2010年5月20日星期四

在linux上安装google earth(R)

On my phone (Android based) I use Google maps like crazy (I’d get lost in my own house I’m convinced). It keeps me from getting lost and misdirected. When at home, however, I like to refer to Google Earth to aid me in my quest to know my surroundings a bit better. Now, Google Earth is nothing new. It’s been around for a while and in use by millions. But many people don’t know that Google Earth has a Linux client that can be installed on just about any Linux distribution (so long as it meets the minimum requirements).

In this article I will walk you through the installation of Google Earth for your Linux machine. Once complete, you’ll be zooming around the globe with ease.

Minimum requirements

As always, you should check to make sure your machine meets (or exceeds preferably) the minimum requirements for installation. The minimum requirements are:

  • Kernel: 2.4 or later
  • glibc: 2.3.2 w/ NPTL or later
  • XFree86-4.0 or x.org R6.7 or later
  • CPU: Pentium 3, 500Mhz
  • System Memory (RAM): 256MB
  • Hard Disk: 400MB free space
  • Network Speed: 128 Kbits/sec
  • Graphics Card: 3D-capable with 16MB of VRAM – Screen: 1024×768, “16-bit High Color” screen

The recommended requirements are:

  • Kernel 2.6 or later
  • glibc 2.3.5 w/ NPTL or later
  • x.org R6.7 or later
  • System Memory (RAM): 512MB
  • Hard Disk: 2GB free space
  • Network Speed: 768 Kbits/sec
  • Graphics Card: 3D-capable with 32MB of VRAM
  • Screen: 1280×1024, 32 bit color

If your machine meets these, let’s move on.

Installation

You will need to download the binary installation file from the Google Earth download page. Once you have that on your hard drive (let’s assume it was downloaded to ~/Downloads) it’s time to get to work. The first steps are:

  1. Open a terminal window.
  2. Change to the ~/Downloads directory.
  3. Issue the command chmod u+x GoogleEarthLinux.bin to give the file executable permissions.
  4. Issue the command sudo ./GoogleEarthLinux.bin to start the installation process.

NOTE: If you are not on a machine that uses sudo then remove sudo from the command in line four above and, instead, su to the root user for installation.

Figure 1

After you issue the command for installation the GUI install window will appear (see Figure 1). In this window you need to configure the

Install path: This is where you want the package to be installed.

Symbolic link: Do you want to create a global executable in /usr/local/bin (You want to do this, otherwise the executable for the application will not be global).

Binary path: Where do you want the symbolic link to be placed.

The defaults, in most cases, should work fine, so click the Begin Install button which will start the installation. The installation should only take a few seconds and you will be ready to go. Upon completion of installation the installer will allow you to start the program by clicking the Start button. If you don’t want to run it then you can always use the command googleearth to start Google Earth.

Final thoughts

In my experience Google Earth on Linux runs as well as it does on any other platform. And, as you can see, the installation is nearly as simple. Do enjoy your Google Earth experience.

2010年5月15日星期六

M_Map: A mapping package for Matlab

http://www.eos.ubc.ca/~rich/map.html

Instead you have to figure out how to save all your data, and then read it into another program (like, for example GMT ), and then spend all that extra time figuring out why it doesn't give you what you expected it would...or you can invest in Matlab's own mapping toolbox (with a similarly steep learning curve)... or not!

M_Map is a set of mapping tools written for Matlab v5 and later. These include:

  1. Routines to project data in 19 different spherical projections (and determine inverse mappings)
  2. A grid generation routine to make nice axes with limits either in lat/long terms or in planar X/Y terms.
  3. A coastline database (with 1/4 degree resolution)
  4. A global elevation database (1 degree resolution)
  5. Hooks into freely available high-resolution coastline and bathymetry databases

Announcing M_Map v1.4e! (updated Oct/09)


















2010年4月9日星期五

与matlab软件媲美的免费Octave

http://zh.wikipedia.org/zh-cn/GNU_Octave

Octave 是一个旨在提供与Matlab语法相容的开放源码科学计算及数值分析的工具;它同时也是GNU计划成员之一。

GNU Octave


开发 John W. Eaton
最新版本 3.2.4 / 2010年1月28日
最新预览版本 3.3.50 / 2009年9月12日
操作系统 跨平台
类型 数学软件
许可协议 GNU通用公共许可证
网站 http://www.gnu.org/software/octave/


历史
该软件肇始于1988年,其初衷是提供一些化学反应设计课程的辅助工具。

系统性开发则是由John W. Eaton在1992年接手才开始的。 第一个alpha测试版是在1993年1月4日释出,1.0稳定版则是在同年2月17日释出。最新的3.2.4稳定版在2010年1月28日释出。

其名称与音乐上的八度没有直接关系。该软件乃是以一位早期开发群的成员,同时也以敏于处理数值逼近问题著称的前教授命名。

[编辑]技术细节
Octave是以C++的标准模板函式库编程而成。
Octave有自己Octave语言直译器。
Octave可以动态外挂模组扩充。
Octave的直译器可用gnuplot及Grace产生图表及打印。
[编辑]Octave语言
Octave语言是直译式及结构化(类于C语言)的编程语言,支援许多C语言的标准函式库提供的功能,同时可以使用UNIX的系统呼叫以进行扩充增进功能,但不支援以引用的方式传递参数。

Octave程式包含了许多脚本函式呼叫,它本身是以矩阵为基础并提供许多矩阵的操作函式。它并非面向对象编程语言但支援资料建构。

它的语法基本上与Matlab一致,严谨编写的程式码应同时可在Matlab及Octave执行。

由于Octave是以GNU通用公共许可证授权,所以可以自由地复制、流通与使用。Octave可在大部份的类Unix操作系统中执行,亦可在Microsoft Windows中执行。

[编辑]特殊功能
变量及函式名称自动补齐
在命令列按下TAB键,Octave会自动补齐变量,函式或档案的名称。Octave会依据光标之前的文字来补齐。

指令回溯
在互动模式下,Octave会将历次指令存在暂存盘中以俟呼叫与编辑。

资料建构
Octave包含了初步的资料建构功能,例如:

octave:1> x.a = 1; x.b = [1, 2; 3, 4];x.c = "string";
octave:2> x.a
x.a = 1
octave:3> x.b
x.b =

1 2
3 4

octave:4> x.c
x.c = string

短路逻辑算符
Octave的`&&'及`||'的逻辑算符是在短路的方式下运算(如同C语言中的相仿算符),相反于逐算子算符`&' 及`|'。

递增与递减算符
Octave如同C语言一样具有可前置或后置的递增与递减算符。

例外处理
Octave以提供初步的LISP式unwind_protect例外处理模式。通常unwind_protect的表述区段可表示如下:

unwind_protect
body
unwind_protect_cleanup
cleanup
end_unwind_protect

变量长度参数表列
Octave提供用于处理未指明参数个数时的函式呼叫机制:利用特殊的varargin作为参数来呼叫函式。

function s = plus (varargin)
if (nargin==0)
s = 0;
else
s = varargin{1} + plus (varargin{2:nargin});
endif
endfunction

变量长度回传表列
单一函式可以varargout这一特殊回传值来回传任意数目的值,例如:

function varargout = multiassign (data)
for k=1:nargout
varargout{k} = data(:,k);
endfor
endfunction

[编辑]MATLAB相容性
Octave最初便是模彷Matlab而设计,自然与Matlab有许多相同的功能。 这也使得一部分Matlab程序可以直接或经过少量修改在Octave上运行,一些软件开发小组也使用两者兼容的语法,直接开发可以同时在Matlab和Octave使用的程序。

矩阵为基础资料型别之一
内建支援复数
内建功能强大的数学函式及可扩充的函式库
使用者可自定函式

浏览统计