求用SQL server建立图像数据库的案例

求用SQL server建立图像数据库的案例,第1张

Image型信息是二进制的,SQL可能显示不了,软件里可以用

text数据稍要长一点的话,只要转一下就行,convert(nvarchar(4000),texttxt)

从Fortran到arXivorg,这些计算机编码和平台让生物学、气候科学和物理学等学科的发展达到了真正“日新月异”的速度。

2019年,事件视界望远镜团队让世界首次看到了黑洞的样子。不过,研究人员公布的这张发光环形物体的图像并不是传统的,而是经过计算获得的。利用位于美国、墨西哥、智利、西班牙和南极地区的射电望远镜所得到的数据,研究人员进行了数学转换,最终合成了这张标志性的。研究团队还发布了实现这一壮举所用的编程代码,并撰文记录这一发现,其他研究者也可以在此基础上进一步加以分析。

这种模式正变得越来越普遍。从天文学到动物学,在现代每一项重大科学发现的背后,都有计算机的参与。美国斯坦福大学的计算生物学家迈克尔·莱维特因“为复杂化学系统创造了多尺度模型”与另两位研究者分享了2013年诺贝尔化学奖,他指出,今天的笔记本电脑内存和时钟速度是他在1967年开始获奖工作时实验室制造的计算机的1万倍。“我们今天确实拥有相当可观的计算能力,”他说,“问题在于,我们仍然需要思考。”

如果没有能够解决研究问题的软件,以及知道如何编写并使用软件的研究人员,一台计算机无论再强大,也是毫无用处的。如今的科学研究从根本上已经与计算机软件联系在一起,后者已经渗透到研究工作的各个方面。近日,《自然》(Nature)杂志将目光投向了幕后,着眼于过去几十年来改变科学研究的关键计算机代码,并列出了其中10个关键的计算机项目。

这台CDC 3600型计算机于1963年交付给位于科罗拉多州博尔德的国家大气研究中心,研究者在Fortran编译器的帮助对其进行了编程

语言先驱:Fortran编译器(1957年)

最初的现代计算机并不容易 *** 作。当时的编程实际上是手工将电线连接成一排排电路来实现的。后来出现了机器语言和汇编语言,允许用户用代码为计算机编程,但这两种语言都需要对计算机的架构有深入的了解,使得许多科学家难以掌握。

20世纪50年代,随着符号语言的发展,特别是由约翰·巴克斯及其团队在加州圣何塞的IBM开发的“公式翻译”语言Fortran,这种情况发生了变化。利用Fortran,用户可以用人类可读的指令来编程,例如x = 3 + 5。然后由编译器将这些指令转换成快速、高效的机器代码。

不过,这一过程仍然很不容易。早期的程序员使用打孔卡来输入代码,而复杂的模拟可能需要数万张打孔卡。尽管如此,新泽西州普林斯顿大学的气候学家真锅淑郎(Syukuro Manabe)还是指出,Fortran让非计算机科学家也能编程,“这是我们第一次能够自己给计算机编程”。他和同事们利用这种语言开发的气候模型是最早取得成功的模型之一。

Fortran发展至今已经到了第八个十年,它仍然广泛应用于气候建模、流体动力学、计算化学等学科,这些学科都涉及到复杂线性代数并需要强大的计算机来快速处理数字。Fortran生成的代码速度很快,而且仍然有很多程序员知道如何编写。古早的Fortran代码库仍然活跃在世界各地的实验室和超级计算机上。“以前的程序员知道他们在做什么,”美国海军研究院的应用数学家和气候模型师弗兰克·吉拉尔多说,“他们非常注重内存,因为他们拥有的内存非常少。”

信号处理器:快速傅立叶变换(1965)

当射电天文学家扫描天空时,他们捕捉到的是随时间变化的复杂信号杂音。为了理解这些无线电波的本质,他们需要看到这些信号作为频率的函数时是什么样的。一种名为“傅里叶变换”的数学过程可以帮到研究人员,但它的效率很低,对于一个大小为N的数据集需要N^2次计算。

1965年,美国数学家詹姆斯·库利和约翰·杜基想出了一种加速该过程的方法。快速傅里叶变换(FFT)通过递归(一种通过重复将问题分解为同类的子问题而解决问题的编程方法)将计算傅里叶变换的问题简化为N log2(N)步。随着N的增加,速度也会提高。对于1000个点,速度提升大约是100倍;100万个点则是5万倍。

这个“发现”实际上是一个再发现,因为德国数学家高斯在1805年就对此进行了研究,但他从未发表过。而詹姆斯·库利和约翰·杜基做到了,他们开启了傅里叶变换在数字信号处理、图像分析、结构生物学等领域的应用,成为应用数学和工程领域的重大事件之一。FFT在代码中的应用已有很多次,近年一个流行的方案是FFTW,被认为是世界上最快的FFT。

保罗·亚当斯是加州劳伦斯伯克利国家实验室分子生物物理学和综合生物成像部门的主任,他回忆称,当他在1995年改进细菌蛋白质凝胶的结构时,即使使用FFT和超级计算机,也需要“很多个小时,甚至数天”的计算。“如果在没有FFT的情况下尝试做这些,我不知道在现实中应该如何做到,”他说,“那可能要花很长时间。”

分子编目:生物数据库(1965年)

数据库是当今科学研究中不可或缺的组成部分,以至于人们很容易忘记它们也是由软件驱动的。过去的几十年中,数据库资源的规模急剧膨胀,影响了许多领域,但或许没有哪个领域的变化会比生物学领域更引人注目。

蛋白质数据库Protein Data Bank拥有超过17万个分子结构的档案,包括这种细菌的“表达子”(expressome),其功能是结合RNA和蛋白质合成的过程。

今天,科学家所用的庞大基因组和蛋白质数据库源于美国物理化学家玛格丽特·戴霍夫的工作,她也是生物信息学领域的先驱。20世纪60年代初,当生物学家们致力于梳理蛋白质的氨基酸序列时,戴霍夫开始整理这些信息,以寻找不同物种之间进化关系的线索。她与三位合著者于1965年发表了《蛋白质序列和结构图谱》,描述了当时已知的65种蛋白质的序列、结构和相似性。 历史 学家布鲁诺·斯特拉瑟在2010年写道,这是第一个“与特定研究问题无关”的数据集,它将数据编码在打孔卡中,这使得扩展数据库和搜索成为可能。

其他“计算机化”的生物数据库紧随其后。蛋白质数据库Protein Data Bank于1971年投入使用,如今详细记录了超过17万个大分子结构。加州大学圣地亚哥分校的进化生物学家拉塞尔·杜利特尔在1981年创建了另一个名为Newat的蛋白质数据库。1982年,美国国立卫生研究院(NIH)与多个机构合作,成立了GenBank数据库,这是一个开放获取的DNA序列数据库。

这些数据库资源在1983年7月证明了其存在价值。当时,由伦敦帝国癌症研究基金会蛋白质生物化学家迈克尔·沃特菲尔德领导的团队,与杜利特尔的团队各自独立报道了一个特殊的人类生长因子序列与一种导致猴子出现癌症的病毒蛋白质之间的相似性。观察结果显示了一种病毒诱发肿瘤机制——通过模仿一种生长因子,病毒会诱导细胞不受控制地生长。美国国家生物技术信息中心(NCBI)前主任詹姆斯·奥斯特尔说:“这一结果让一些对计算机和统计学不感兴趣的生物学家头脑里灵光一闪:我们可以通过比较序列来了解有关癌症的一些情况。”

奥斯特尔还表示,这一发现标志着“客观生物学的到来”。除了设计实验来验证特定的假设,研究人员还可以挖掘公共数据集,寻找那些实际收集数据的人可能从未想到的联系。当不同的数据集连接在一起时,这种力量就会急剧增长。例如,NCBI的程序员在1991年通过Entrez实现了这一点;Entrez是一个可以让研究人员在DNA、蛋白质和文献之间自由检索和比对的工具。

预测领先者:大气环流模式(1969年)

在第二次世界大战结束时,计算机先驱约翰·冯·诺伊曼开始将几年前用于计算d道轨迹和武器设计的计算机转向天气预测问题。真锅淑郎解释道,在那之前,“天气预报只是经验性的”,即利用经验和直觉来预测接下来会发生什么。相比之下,冯·诺伊曼的团队“试图基于物理定律进行数值天气预测”。

新泽西州普林斯顿的美国国家海洋和大气管理局(NOAA)地球物理流体动力学实验室的建模系统部门负责人Venkatramani Balaji表示,几十年来,人们已经熟知这些方程式。但早期的气象学家无法实际解决这些问题。要做到这一点,需要输入当前的条件,计算它们在短时间内会如何变化,并不断重复。这个过程非常耗时,以至于在天气状况实际出现之前还无法完成数学运算。1922年,数学家刘易斯·弗莱·理查森花了几个月时间计算德国慕尼黑的6小时预报。根据一段 历史 记载,他的结果是“极不准确的”,包括“在任何已知的陆地条件下都不可能发生的”预测。计算机使这个问题变得很容易解决。

20世纪40年代末,冯·诺伊曼在普林斯顿高等研究院建立了天气预报团队。1955年,第二个团队——地球物理流体动力学实验室——开始进行他所谓的“无限预测”,也就是气候建模。

真锅淑郎于1958年加入气候建模团队,开始研究大气模型;他的同事柯克·布莱恩将这一模型应用在海洋研究中。1969年,他们成功将二者结合起来,创造了《自然》杂志在2006年所说的科学计算“里程碑”。

今天的模型可以将地球表面划分为一个个25公里 25公里的正方形,并将大气层划分为数十层。相比之下,真锅淑郎和布莱恩的海洋-大气联合模型划分的面积为500平方公里,将大气分为9个层次,只覆盖了地球的六分之一。尽管如此,Venkatramani Balaji表示,“这个模型做得很好”,使研究团队第一次能够通过计算机预测二氧化碳含量上升的影响。

数字运算机:BLAS(1979年)

科学计算通常涉及到使用向量和矩阵进行相对简单的数学运算,但这样的向量和矩阵实在太多了。但在20世纪70年代,还没有一套普遍认可的计算工具来执行这些运算。因此,从事科学工作的程序员会将时间花在设计高效的代码来进行基本的数学运算,而不是专注于科学问题。

加州劳伦斯利弗莫尔国家实验室的Cray-1超级计算机。在BLAS编程工具于1979年问世之前,并没有线性代数标准可供研究人员在Cray-1超级计算机等机器上工作

编程世界需要一个标准。1979年,这样的标准出现了:基本线性代数程序集(Basic Linear Algebra Subprograms,简称BLAS)。这是一个应用程序接口(API)标准,用以规范发布基础线性代数 *** 作的数值库,如矢量或矩阵乘法。该标准一直发展到1990年,为向量数学和后来矩阵数学定义了数十个基本例程。

美国田纳西大学计算机科学家、BLAS开发团队成员杰克·唐加拉表示,事实上,BLAS把矩阵和向量数学简化成了和加法和减法一样基本的计算单元。

美国德克萨斯大学奥斯汀分校的计算机科学家Robert van de Geijn指出,BLAS“可能是为科学计算定义的最重要的接口”。除了为常用函数提供标准化的名称之外,研究人员还可以确保基于BLAS的代码在任何计算机上以相同方式工作。该标准还使计算机制造商能够优化BLAS的安装启用,以实现在其硬件上的快速 *** 作。

40多年来,BLAS代表了科学计算堆栈的核心,也就是使科学软件运转的代码。美国乔治·华盛顿大学的机械和航空航天工程师洛雷娜·巴尔巴称其为“五层代码中的机械”。而杰克·唐加拉说:“它为我们的计算提供了基础结构。”

显微镜必备:NIH Image(1987年)

20世纪80年代初,程序员韦恩·拉斯班德在马里兰州贝塞斯达的美国国立卫生研究院的脑成像实验室工作。该实验室拥有一台扫描仪,可以对X光片进行数字化处理,但无法在电脑上显示或分析。为此,拉斯班德写了一个程序。

这个程序是专门为一台价值15万美元的PDP-11小型计算机设计的,这是一台安装在架子上的计算机,显然不适合个人使用。然后,在1987年,苹果公司发布了Macintosh II,这是一个更友好、更实惠的选择。拉斯班德说:“在我看来,这显然是一种更好的实验室图像分析系统。”他将软件转移到新的平台上,并重新命名,建立了一个图像分析生态系统。

NIH Image及其后续版本使研究人员能在任何计算机上查看和量化几乎任何图像。该软件系列包括ImageJ,一个拉斯班德为Windows和Linux用户编写的基于Java的版本;以及Fiji,这是ImageJ的分发版,由德国德累斯顿的马克斯普朗克分子细胞生物学和遗传学研究所的Pavel Tomancak团队开发,其中包括关键的插件。“ImageJ无疑是我们所拥有的最基础的工具,”布洛德研究所(由麻省理工学院和哈佛大学联合创立)成像平台的计算生物学家贝丝·契米妮说,“我从来没有和一个使用过显微镜,但没有使用过ImageJ或Fiji的生物学家说过话。”

拉斯班德表示,部分原因可能是这些工具是免费的。但威斯康星大学麦迪逊分校的生物医学工程师Kevin Eliceiri指出,另一个原因是用户可以很容易地根据自己的需求定制工具。自拉斯班德退休后,Kevin Eliceiri的团队一直领导着ImageJ的开发。ImageJ提供了一个看似简单、极简主义的用户界面,自20世纪90年代以来基本上没有改变。然而,由于其内置的宏记录器(允许用户通过记录鼠标点击和菜单选择的序列来保存工作流)、广泛的文件格式兼容性和灵活的插件架构,该工具具有无限的可扩展性。该团队的编程主管柯蒂斯·鲁登表示,有“数以百计的人”为ImageJ贡献了插件。这些新添加的功能极大扩展了研究人员的工具集,例如在视频中跟踪对象或自动识别细胞的功能。

Kevin Eliceiri说:“这个程序的目的不是做到一切或终结一切,而是服务于用户的目标。不像Photoshop和其他程序,ImageJ可以成为你想要的任何东西。”

序列搜索器:BLAST (1990年)

可能没有什么能比把软件名称变成动词更能说明文化的相关性了。提到搜索,你会想到谷歌;而提到遗传学,研究者会立刻想到BLAST。

通过诸如替代、删除、缺失和重排等方式,生物将进化中的改变蚀刻在分子序列中。寻找序列之间的相似性——特别是蛋白质之间的相似性——可以让研究人员发现进化关系,并深入了解基因功能。在迅速膨胀的分子信息数据库中,想要快速而准确地做到这一点并不容易。

玛格丽特·戴霍夫在1978年提供了关键的进展。她设计了一种“点接受突变”矩阵,使研究人员不仅可以根据两种蛋白质序列的相似程度,还可以根据进化距离来为评估它们的亲缘关系。

1985年,弗吉尼亚大学的威廉·皮尔森和NCBI的大卫·利普曼引入了FASTP,这是一种结合了戴霍夫矩阵和快速搜索能力的算法。

数年后,利普曼与NCBI的沃伦·吉什和斯蒂芬·阿特舒尔,宾夕法尼亚州立大学的韦伯·米勒,以及亚利桑那大学的吉恩·迈尔斯一起开发了一种更强大的改进技术:BLAST(Basic Local Alignment Search Tool)。BLAST发布于1990年,将处理快速增长的数据库所需的搜索速度,与提取进化上更为遥远的匹配结果的能力结合起来。与此同时,该工具还可以计算出这些匹配发生的概率。

阿特舒尔表示,计算结果出来得非常快,“你可以输入搜索内容,喝一口咖啡,搜索就完成了。”但更重要的是,BLAST很容易使用。在一个通过邮寄更新数据库的时代,沃伦·吉什建立了一个电子邮件系统,后来又建立了一个基于网络的架构,允许用户在NCBI计算机上远程运行搜索,从而确保搜索结果始终是最新的。

哈佛大学的计算生物学家肖恩·艾迪表示,BLAST系统为当时处于萌芽阶段的基因组生物学领域提供了一个变革性的工具,即一种根据相关基因找出未知基因可能功能的方法。对于各地的测序实验室,它还提供了一个新颖的动词。“它是众多由名词变成动词的例子之一,”艾迪说,“你会说,你正准备BLAST一下你的序列。”

预印本平台:arXivorg (1991年)

20世纪80年代末,高能物理学家经常将他们已投稿的论文手稿副本邮寄给同行,征求他们的意见——但只发给少数人。物理学家保罗·金斯帕格在2017年写道:“处于食物链较低位置的人依赖于一线研究者的成果,而非精英机构中有抱负的研究人员则往往身处特权圈以外。”

1991年,当时在新墨西哥州洛斯阿拉莫斯国家实验室工作的金斯帕格编写了一个电子邮件自动应答程序,希望建立一个公平的竞争环境。订阅者每天都会收到预印本列表,每一篇都与文章标识符相关联。只需通过一封电子邮件,世界各地的用户就可以从实验室的计算机系统中提交或检索论文,并获得新论文的列表,或按作者或标题进行搜索。

金斯帕格的计划是将论文保留三个月,并将内容限制在高能物理学界。但一位同事说服他无限期地保留这些文章。他说:“就在那一刻,它从布告栏变成了档案馆。”于是,论文开始从比各个领域如潮水般涌来。1993年,金斯伯格将这个系统迁移到互联网上,并在1998年将其命名为arXivorg,沿用至今。

arXiv成立已近30年,拥有约180万份预印本,全部免费提供,而且每月有超过15万份论文提交,下载量达3000万次。十年前,《自然-光子学》(Nature Photonics)的编辑在评论arXiv创立20周年时写道:“不难看出为什么arXiv的服务会如此受欢迎,这个系统让研究人员能快速而方便地插上旗帜,显示他们所做的工作,同时避免投稿传统同行评议期刊时的麻烦和时间成本。”

arXiv网站的成功也促进了生物学、医学、 社会 学和其他学科同类预印本网站的繁荣。在如今已出版的数万份关于新冠病毒的预印本中就可以看到这种影响。“很高兴看到30年前在粒子物理学界之外被认为是异端的方法,现在被普遍认为是平淡无奇和自然而然的,”金斯伯格说,“从这个意义上说,它就像一个成功的研究项目。”

数据浏览器:IPython Notebook (2011年)

2001年,费尔南多·佩雷斯还是一位希望“寻找拖延症”的研究生,当时他决定采用Python的一个核心组件。

Python是一种解释型语言,这意味着程序是逐行执行的。程序员可以使用一种称为“读取-评估-打印循环”(read–evaluate–print loop,简称REPL)的计算调用和响应工具,在其中输入代码,然后由解释器执行代码。REPL允许快速 探索 和迭代,但佩雷斯指出,Python的REPL并不是为科学目的而构建的。例如,它不允许用户方便地预加载代码模块,也不允许打开数据可视化。因此,佩雷斯自己编写了另一个版本。

结果就是IPython的诞生,这是一个“交互式”Python解释器,由佩雷斯在2001年12月推出,共有259行代码。十年后,佩雷斯与物理学家布莱恩·格兰杰和数学家埃文·帕特森合作,将该工具迁移到web浏览器上,推出了IPython Notebook,开启了一场数据科学革命。

与其他计算型Notebook一样,IPython Notebook将代码、结果、图形和文本合并在一个文档中。但与其他类似项目不同的是,IPython Notebook是开源的,邀请了大量开发者社区的参与其中。而且它支持Python,一种很受科学家欢迎的语言。2014年,IPython演变为Jupyter,支持大约100种语言,允许用户在远程超级计算机上 探索 数据,就像在自己的笔记本电脑上一样轻松。

《自然》杂志在2018年写道:“对于数据科学家,Jupyter实际上已经成为一个标准。”当时,在GitHub代码共享平台上有250万个Jupyter Notebook;如今,这一数字已经发展到1000万个,在2016年引力波的发现,以及2019年的黑洞成像工作中,它们都发挥了重要的作用。佩雷斯说:“我们对这些项目做出了很小的贡献,这是非常值得的。”

快速学习器:AlexNet(2012年)

人工智能有两种类型。一种是使用编码规则,另一种则通过模拟大脑的神经结构来让计算机“学习”。加拿大多伦多大学的计算机科学家杰弗里•辛顿表示,几十年来,人工智能研究人员一直认为后者是“一派胡言”。但在2012年,他的研究生亚力克斯·克里泽夫斯基和伊尔亚·苏茨克维证明了事实并非如此。

在一年一度的ImageNet比赛中,研究人员被要求在一个包含100万张日常物体图像的数据库中训练人工智能,然后在一个单独图像集上测试生成的算法。辛顿表示,当时最好的算法错误分类了大约四分之一的图像。克里泽夫斯基和苏茨克维的AlexNet是一种基于神经网络的“深度学习”算法,它将错误率降低到了16%。辛顿说:“我们基本上把错误率减半了,或者说几乎减半了。”

辛顿还指出,该团队在2012年的成功反映了足够大的训练数据集与出色的编程,以及新出现的图形处理单元的强大能力的结合。图形处理单元是最初设计用来加速计算机视频性能的处理器。“突然之间,我们可以将(算法)运行速度提高30倍,”他说,“或者说,学习多达30倍的数据。”

真正的算法突破实际上发生在三年前,当时辛顿的实验室创建了一个神经网络,可以比经过几十年改进的传统人工智能更准确地识别语音。“只是稍微好一点,”辛顿说,“但这已经预示了某些东西。”

这些成功预示着深度学习在实验室研究、临床医学和其他领域的崛起。通过人工智能的深度学习,手机能够理解语音查询,图像分析工具能够很容易地在显微照片中识别出细胞;这就是为什么AlexNet会成为众多从根本上改变科学,也改变世界的工具之一。(任天)

在word2016文档中点击插入菜单,在工具栏上找到形状图标在打开的形状下拉菜单中我们找到箭头总汇中的空心箭头,选择其中一个合适的箭头在文档的空白位置拖动,就可以拉出一个空心的箭头了

然后右键点击箭头,在d出菜单中选择添加文字菜单项然后在空心的箭头中输入我们需要的文字就可以了

不过空心箭头输入的汉字只能以中间对齐,而不能自由的拖动位置

一般图像是不保存在数据库的而是先将放在工程下的某个文件夹中,将所在的工程文件路径存在数据库中,当程序加载的时候,从数据库中读取的路径,然后根据路径在工程的文件夹中读取文件

管相荣

(河南省国土资源厅信息中心 郑州 450016)

摘 要:为了满足大区域控制点综合管理时针对多领域的需求,实现数据的共享所面临的坐标系统、属性结构、投影带、行政辖区、影像重叠区等问题,采用省域控制点图形图像数据库建立的案例分析,省域控制点图形图像数据库存储了控制点的属性、空间位置、图形图像等多项信息,叠合了行政辖区、原始影像、接合图表、投影带等信息,为第二次全国土地调查工作的开展提供了宝贵的资料和经验。

关键词:省域 控制点 GPS 控制点图形图像数据库

0 引 言

为确保“2010 年全国耕地面积不少于 18 亿亩(12 亿 hm2)的红线”,国家已经启动第二次全国土地调查,利用先进的技术和方法,力求建立“四级联动、上下互通”、“高保真”的土地利用数据库,实现土地管理的信息化、网络化。河南省作为全国人口和农业大省,土地总面积约167 万 km2,2007 年人均耕地面积 8134 m2,低于全国平均水平,在国家严控耕地面积的严峻形势下,如何摸清土地家底、有效集约管理土地资源尤为重要。近年来,河南省运用先进的“3S”技术和通信技术,已经开展了多项土地资源监测、地籍调查方面的研究。全国高分辨率影像数据处理及数据库建设项目(以下简称“遥感项目”)是第二次全国土地调查的先导,旨在为其提供宝贵的经验。河南省作为项目试点之一,2005 年以 GPS 实测点为控制数据,影像数据均采用SPOT 5 遥感影像,对平顶山、许昌、漯河、安阳四个地市的遥感影像进行处理,精度满足要求。2007 年项目在全省铺开,布设控制点数达上千个,按照《SPOT 5_25 m 数字正射影像图制作技术规定》及《第二次全国土地调查底图生产技术规定》的要求,对影像处理必须精确,影像纠正控制点是土地信息提取的关键所在,如何综合管理这些控制点数据十分必要;同时,就我国 GPS控制网而言,GPS A B C 级点布设达上万个,而以此为基准的下一级 GPS 控制点将更多,对其进行分板机统筹管理也势在必行。

影像纠正控制点的获取途径有两种:一种是 GPS 实测,另一种是从大于等于调查底图比例尺的已有图件上采集。遥感项目河南试点控制数据均为 GPS 实测点,省域控制点管理包括 GPS 实测点和图形图像控制点,涉及跨省域、投影带、属性结构设定、编号、叠加分析、条件查询、图形查询、精度评定、点位分布联测略图等问题,有必要根据实际的工作底图情况,建立控制点图形图像数据库,实现控制点位置信息、属性信息、图形图像信息的统一管理,力图为同类研究提供参考。

1 控制点基础信息获取

11 控制点的布设与测量

项目控制点布设的工作底图是 SPOT 5_25 m 遥感影像,河南省域涉及 80 多景 SPOT 5 影像,受卫星数据获取周期的影响,影像是分批次提供的,为保证项目进度,控制点的布设采用先来先选的原则分批次进行。选取要求有:

(1)选取影像清晰、易于判别、交通便利的明显特征点,如影像特征明显的农村道路交叉路口,并读取概略经纬度;

(2)均匀分布,控制区域大于工作区范围,每景控制点数不少于 25 个,山区适当增加;

(3)边缘选点,相邻影像重叠区不少于 2 个同名公共点;

(4)模糊定位、圈定范围,为便于精确定位点的灵活性,采用 800 像素 ×800 像素的正方形选框,外业测量时可以在此选框内灵活定点,一般要求选框中间点位优先选用;

(5)内业选点难以测量时,可适当在该点附近重新选点,外业要作详细记录。

项目区覆盖多景影像,为的是选点均匀,公共点布局合理,在选取某景影像控制点时应同时参照相邻景,单景保证四角有点,其间三角形布点。控制点编号采用××××××_××××××_××,第一个“_”前为控制点所在景号,第一、第二个“_”之间为控制点所在影像的时相,共 6 位,采用年月日格式,第二个“_”后为控制点所在影像内序号,如 273280_061101_10, 表示景号为 273280、时相为 2006 年 11 月 1 日的影像上的第 10 个控制点,另外在测量成果表中增加测量编号和标准编号,测量编号是控制点布设实时编号,对应外业测量表中的序号,标准编号则按 1∶1 万标准图幅为基准,自上而下、自左而右的编号,如I49G030050, 以求更好地管理和应用控制点基础资料,为此我们设计了控制点测量成果表。

考虑到项目区山区、丘陵、平原均有分布,不同地形都选取检查点,在布点时类同控制点选取,只是在影像正射纠正时根据参与运算与否才设定其是控制点或是检查点。三种地形特征检查点可以从不同地形下分析控制点精度,对于布点较为困难的山区,可以打破单景的局限,采用区域布点检查法。

以国家 C 级 GPS 大地控制点为基准,采用静态方式同步进行观测,3 套 GPS 接收机为一组,观测时段长度为 45 min,卫星高度角≥ 15°,有效卫星总数≥ 4 个,作业员现场填写外业测量记录表,测队队员定时进行业内汇合,整个省域全部控制点测量耗时近 1 年,共完成 1454 个控制点的测量。

项目共布设 13 个测区,外业实地测量均采用环形布点形成一个整体的 GPS 控制网,各测区以不同的颜色表示,控制点间平均距离约 13 km,点位序号是项目区需要测量的纠正控制点测量编号,不足 4 位的前加“P”表示,前面加“C”的点则表示已有的 C 级 GPS 控制点。

12 控制点坐标及投影带的设置

控制点有 4 套坐标系统:西安 1980 坐标、北京 1954 坐标、WGS84 坐标、概略经纬度及高程。

项目采用高斯-克吕格投影 3 度分带、1985 国家高程基准、北京 1954 坐标系。河南省域跨越 37、38、39 带,测量的坐标数据存在 3 套数据,通常构建数据库时坐标系统的中央经线为114°,即 38 带。为确保整个省域建库数据为统一的坐标系统,就应把 37 带、39 带内的控制点进行换算,一般采用高斯投影、反算公式间接换带计算。现在把 37 带、39 带的控制点坐标换算成 38 带,见表 1。实测测量时,可通过仪器设置或基于坐标换带公式原理开发的专用软件换算。

表1 GPS 控制点 3 度分带相邻带坐标换算对应表(河南省)

续表

13 属性结构设定

为便于管理控制点图形图像数据库,并为后续国土研究提供基础资料,因此尽可能详述控制点的属性信息。表 2 是设定的控制点库表结构。

表2 控制点文件属性结构一览表

属性结构设定的特色:

(1)3 套编号系统(标准编号、景内编号、测量编号)。标准编号是所有 GPS 实测控制点选取完毕后,为便于管理,以 1∶1 万标准图幅为底图采用“自上而下、自左而右”原则重新编号,命名采用“1∶1 万标准图幅号 _ 图幅内序号”;景内编号则是就单景而言,景号 _ 时相 _ 景内序号命名;测量编号则是在项目实施中实际工作选点编号,作为控制点成果表整理及入库的依据。

(2) 4 套坐标数据(北京 1954 坐标、西安 1980 坐标、WGS84、概略经纬度)。概略经纬度可以对控制点在实地测量前进行模糊定位,此外也为了后期插叙的需要,例如,对一景现实性影像,通过幅宽经纬度可查询到其间大致所覆盖的控制点信息,减少了选点、测点等重复性工作。

(3)挂接点位影像、图形及实地信息。控制点影像库不仅有点的属性描述,也有点位图形和实测信息,使控制点信息更加丰富。

(4)与权属库、接合图表、影像范围图叠合,便于查看控制点的区域型分布、与影像及图幅间的关系。

14 与遥感影像的套合

控制点是遥感影像定位的基本参照信息,已知工作区的 DEM 和影像控制点坐标信息,就可以对影像进行几何纠正和投影差改正,制作数字正射影像图(DOM),提取土地利用现状信息,构建土地利用数据库,此亦第二次全国土地调查的前期业内工作。通常,我们是先在原始影像上布设控制点,测量其坐标信息,然后影像处理,即影像选取点、点定位影像的工作模式。但建立河南省控制点图形图像数据库后,对省域内任意工作区的影像,即没有投影和平面坐标信息的现时性影像,可以通过影像头文件找其所包含的控制点信息,避免了重复选点、测点。

控制点影像数据与遥感影像的套合、叠加查询分析,需要两者间存在恒定的某种信息。控制点是地球上的固定点,SPOT 5 遥感影像的头文件里显示影像获取时间及影像的经纬度坐标(大地坐标),为避免大地坐标与高斯平面坐标转换时的误差影响影像处理精度,目前只能通过两者的经纬度坐标,对影像包括的控制点信息进行模糊查询,然后再准确定位点。在 MapGIS 平台中,可以通过影像的经纬度坐标将其范围框直接定位到控制点图形图像数据库的平面坐标工程上,很直观地查看三者间的关系,如图 1 所示。

图1 控制点、影像、行政区空间关系图

2 控制点图形图像数据库构建

经过“布点、测点”后,在 ERDAS 软件的 LPS 模块里对控制点进行严格的精度检查,只有满足精度要求后才可入库,具体流程如图 2 所示。同时设定了数据库文件的组织(表 3)。基于上述数据库建设思路,在 MapGIS 平台上构建了控制点图形图像数据库,如图 3 所示。

图2 GPS 控制点图形图像数据库建库流程

图3 河南省 GPS 控制点图形图像数据库

表3 GPS 控制点图形图像数据库文件

3 结 论

控制点作为基础地理数据,其重要性不言而喻,河南省域共布设 1000 多个实测控制点,历时近 1 年,耗费了相当的人力物力,控制点图形图像数据库的建立旨在实现信息共享,避免资源浪费,为国土及其他领域的研究提供了宝贵的基础资料,尤其是在第二次全国土地调查河南工作区,控制点图形图像数据库对调查底图制作起到了十分重要的作用。另外,省域型控制点图形图像的建立也为大区域多数量控制点数据的综合管理提供了点滴参照。当然也有未涉及的内容,如不同等级控制点的管理、控制点的三维布局再现等。

参 考 文 献

GB/T 18314—200《1全球定位系统(GPS)测量规范》[S]

苏小霞,李英成2006全国多级多分辨率图形图像控制点数据库的建立与应用展望[J] 遥感技术与应用,21(3):265~230

王之卓1990摄影测量原理(英文版)[M] 武汉:武汉测绘科技大学出版社

曾福年,赵翠玲2006图像控制点库的建立及应用方法探讨[C]2006 年中国土地学会学术年会论文集

张继贤,马瑞金2000图形图像控制点库及应用[J] 测绘通报(1):15~17

(原载《郑州大学学报(工学版)》2008 年第 2 期)

问题一:数据库怎样可以将放到里面 首先肯定一点,数据库中是可以放数据的!但是这样的话,数据体积会很庞大,当然最好还是把放到文件夹中,数据只用来存放路径,不过最好是存放相对路径,应该以后可能设计到单独放在另一台服务器上,或换了文件夹。

问题二:SQL数据库中能存照片吗? 完全可以存放,但是在数据库中不能以select from a进行查询

但是在相对应得c#、Java中可以查询

是以二进制保存的。

数据库,只要是抽象出来的数据,都可以保存。

而已不能保存的,就是实体,像处啊、鞋子啊、男朋友啊都不姓

问题三:mysql数据库可以存吗? 可以。存的列需要设置成BLOB、MEDIUMBLOB或LONGBLOB等数据类型。

但是以前基本上不会把直接存在数据库里,因为数据库里的数据是为了用来快速分析、快速存取的,数据在mysql里既不能建立索引也不能和其他数据一起分析,存取速度和读写磁盘也没什么区别,每次备份、导入导出数据库时还增加了数据量,降低了效率。所以一般都是把存在系统里,然后把的存放路径放在数据库里。

问题四:如何存入数据库 第一种方式:保存路径至数据库中

第二种方式:数据插入相应表中,参数类型为byte[]

例如:

sql:insert into table(imageColumn) values (@image);

其中@image参数值为byte[]类型的变量

问题五:如何存放在oracle数据库 测试可行。这只是核心Class文件代码,你要是弄不出来,就再联系我,我再把整个项目给你。这是把真个放到数据库

package dao;

import javaioFileInputStream;

import javaioOutputStream;

import javasqlBlob;

import javasqlConnection;

import javasqlPreparedStatement;

import javasqlResultSet;

import javautilScanner;

import oraclesqlBLOB;

public class Insert {

Scanner sc =new Scanner(Systemin);

@SuppressWarnings(deprecation)

public int insertbinary(String pname,String src1){

Connection con = null;

String sql = insert into test values(,);

String sql1 =update test set image= where pname=;

int res = 0;

try {

con=BaseDAOgetConnection();

consetAutomit(false);

PreparedStatement pstm = conprepareStatement(sql);

pstmsetString(1, pname);

EMPTY_BLOB和EMPTY_CLOB返回一个空的LOB定位器,

可以用来初始化一个LOB变量,或在INSERT或UPDATE语句,

初始化LOB列或属性为空。 EMPTY表示LOB初始化,但不填充数据。

pstmsetBlob(2, oraclesqlBLOBempty_lob());

pstmexecuteUpdate();

pstmclose();

pstm = conprepareStatement(select from test where pname=);

pstmsetString(1, pname);

ResultSet rs = pstmexecuteQuery();

rsnext();

BLOB blob = (BLOB) rsgetBlob(2);

OutputStream os = blobgetBinaryOutputStream();

FileInputStream fi = new FileInputStream(src1);

byte[] buff = new byte[1024];

int len = firead(buff);

while (len != -1) {

oswrite(buff);

len = firead(buff);

}

pstm = conprepareStatement(sql1);

pstmsetBlob(1,>>

问题六:如何将储存在MySQL数据库里 通常对用户上传的需要保存到数据库中。解决方法一般有两种:一种是将保存的路径存储到数据库;另一种是将以二进制数据流的形式直接写入数据库字段中。以下为具体方法:

一、保存的上传路径到数据库:

string uppath=;用于保存上传路径

获取上传的文件名

string fileFullname = thisFileUpload1FileName;

获取上传的时间,以时间作为的名字可以防止重名

string dataName = DateTimeNowToString(yyyyMMddhhmmss);

获取的文件名(不含扩展名)

string fileName = fileFullnameSubstring(fileFullnameLastIndexOf(\\) + 1);

获取扩展名

string type = fileFullnameSubstring(fileFullnameLastIndexOf() + 1);

判断是否为要求的格式

if (type == bmp || type == jpg || type == jpeg || type == gif || type == JPG || type == JPEG || type == BMP || type == GIF)

{

将上传到指定路径的文件夹

thisFileUpload1SaveAs(ServerMapPath(~/upload) + \\ + dataName + + type);

将路径保存到变量,将该变量的值保存到数据库相应字段即可

uppath = ~/upload/ + dataName + + type;

}

二、将以二进制数据流直接保存到数据库:

引用如下命名空间:

using SystemDrawing;

using SystemIO;

using SystemDataSqlClient;

设计数据库时,表中相应的字段类型为iamge

保存:

路径

string strPath = thisFileUpload1PostedFileFileNameToString ();

读取

FileStream fs = new SystemIOFileStream(strPath, FileModeOpen, FileAccessRead);

BinaryReader br = new BinaryReader(fs);

byte[] photo = brReadBytes((int>>

问题七:如何在数据库中存储文件 解决方法一般有两种:

一种是将保存的路径存储到数据库;

另一种是将以二进制数据流的形式直接写入数据库字段中。

问题八:如何将存到数据库 通常对用户上传的需要保存到数据库中。解决方法一般有两种:一种是将保存的路径存储到数据库;另一种是将以二进制数据流的形式直接写入数据库字段中。以下为具体方法:

一、保存的上传路径到数据库:

string uppath=;用于保存上传路径

获取上传的文件名

string fileFullname = thisFileUpload1FileName;

获取上传的时间,以时间作为的名字可以防止重名

string dataName = DateTimeNowToString(yyyyMMddhhmmss);

获取的文件名(不含扩展名)

string fileName = fileFullnameSubstring(fileFullnameLastIndexOf(\\) + 1);

获取扩展名

string type = fileFullnameSubstring(fileFullnameLastIndexOf() + 1);

判断是否为要求的格式

if (type == bmp || type == jpg || type == jpeg || type == gif || type == JPG || type == JPEG || type == BMP || type == GIF)

{

将上传到指定路径的文件夹

thisFileUpload1SaveAs(ServerMapPath(~/upload) + \\ + dataName + + type);

将路径保存到变量,将该变量的值保存到数据库相应字段即可

uppath = ~/upload/ + dataName + + type;

}

二、将以二进制数据流直接保存到数据库:

引用如下命名空间:

using SystemDrawing;

using SystemIO;

using SystemDataSqlClient;

设计数据库时,表中相应的字段类型为iamge

保存:

路径

string strPath = thisFileUpload1PostedFileFileNameToString ();

读取

FileStream fs = new SystemIOFileStream(strPath, FileModeOpen, FileAccessRead);

BinaryReader br = new BinaryReader(fs);

byte[] photo = br>>

问题九:怎样数据库access保存jpg 只有两种方法

1存地址,放服务器的一个文件夹里

2存的数据,也就是二进制流

既然第一种你说不行 那只能第二种了。

我只说一下思路,代码网上找一下,多的很,也不麻烦1数据库字段类型为image(sqlserver的是image,不知道access的是不是)

2把文件序列化 放到一个byte[]数组里,然后存到数据库

显示的时候:

1单独在一个页面读出的内容到一个byte[]数组

2用response把这段二进制输出

3在要引用的地方,比如你的image控件,把引用的地址指向这个页面就行了

问题十:如何像数据库中保存? 一般图像是不保存在数据库的而是先将放在工程下的某个文件夹中,将所在的工程文件路径存在数据库中,当程序加载的时候,从数据库中读取的路径,然后根据路径在工程的文件夹中读取文件

保存到数据库中,有两种方法:

1、一种是用大对象,即blob型,对c#不了解,但是java、c++中都有专门 *** 作blob的对象,应该是以二进制流的方式走的。但是不建议采用这样的管理方式,会加重数据库、程序负担,即使是手机开发也是如此。

2、保存在本地,数据库中用字符串存储地址,这样的方式比较好,也较易实现。但是缺乏安全性,把重命名就行了,改个后缀,一般人就不会打开。还是不放心,用二进制加密下就好,这样的程序代价仍然要比存在数据库大对象中要好。

以上就是关于求用SQL server建立图像数据库的案例全部的内容,包括:求用SQL server建立图像数据库的案例、《自然》评选改变科学的10个计算机代码项目、图片存进数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9483675.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存