用vb编写Geodatabase数据库连接与矢量数据集创建及导入的代码,怎样连接

用vb编写Geodatabase数据库连接与矢量数据集创建及导入的代码,怎样连接,第1张

详细的解释一下:

1、SDE安装成功后在SQL Server中便会有相关的二维表,但是还不能通过Arc Catalog或者代码连接,必须要进行POST,成功后方能使用。

2、POST时最后一步便会叫你填写SDEserver(服务器名,默认为你计算机名)、service(其实代码中的实例instance就填这个名字,默认为esri_sde)、database(数据库名,默认为sde)、uername(默认为sa)、password(自行设置)。

3、如果POST成功,可以通过打开Catalog的Add Spatial Database Connections,填写上述信息后测试连接是否可用,如果可用,那么你就可以在上述的代码运行d出的窗口中输入相关信息了。

4、说明一下,ArcSDE虽然是架构在SQL Server之上,但是查看或编辑创建的数据集或者要素类这些是在Catalog里,SDE、Catalog、SQL Server、Visual Studio之间的关系是:SDE是桥梁,SQL Server是桥的一头,负责处理连接的请求,空间数据由SDE转换成二维表,SQL Server进行最底层的二维表管理,Catalog是桥的另一头,负责空间数据的可视化查看。Visual Studio是汽车,可以随时从SDE桥梁上经过访问或者编辑SQL Server那一头的数据库。

5、最后回答您的问题:虽然问的比较乱,还是简单回答一下,(1)你用这段代码建立的是与SDE数据库的连接,如果还需要实现你标题的内容(Geodatabase数据库连接与矢量数据集创建及导入的代码)还要别的代码,

(2)建立的数据库是在Catalog中查看,SQL Server肯定也对SDE这个数据库进行了更改,(但是这是SDE和SQL Server负责,具体的更改估计你也找不着)

(3)要填的信息在以上我说的第二点。

现在form中方一个datagridview控件,然后连接好数据库,写上相应的数据库代码,你要先说你的数据库表中有什么列值,才好给你说具体的代码,因为我现在正在做类似的,而且运行成功了

在弃用shp格式之后,一直都用Personal Geodatabase 类型的Geodatabase 存储GIS数据,对File Geodatabase 视而不见,一直以为Personal Geodatabase 效率远高于File Geodatabase,没想到弄错了,事实上正好相反。下面是对比,以后就用File Geodatabase算了。

一、存储方式

File Geodatabase 以一个资料夹方式储存,而Personal Geodatabase 则为一个MS-Access 的mdb 资料库档案。

二、储存限制

1 Personal Geodatabase:相同于MS Accesss 限制,资料库最大为2GB。

2 File Geodatabase:资料库无限制,每个表限制为1TB(1000GB)。

三、平台支援

1 Personal Geodatabase:仅可在Windows 上运行。

2 File Geodatabase:跨平台支援,可在Windows 及UNIX、linux上运行。

四、效能

File Geodatabase 相较于Personal Geodatabase 可快20%到10 倍,这部分随着资料量的增加,效能差异越大。

五、储存空间

同样的资料,在File Geodatabase 中比Personal Geodatabase 和Shapefile占用的硬碟空间更少,通常可以减少50%~70%,最多可减少到1/5。

File Geodatabase中的lock文件

与Personal GDB的单个mdb文件表现形式不同,File GDB是以文件夹的形式存放在磁盘中的,进入File GDB的文件夹可以看到许多凭我们肉眼凡胎无法辨认的文件(你要是能认出来叫你犀利哥~),这向你传递一个信息,没事别到里面瞎逛。

当一个ArcGIS程序,比如ArcMap、ArcCatalog或者ArcGIS Server(将其中的数据发布成了服务),正在访问File GDB时,ArcGIS会给其中相应的数据加上(悲观)锁,表现出来就是在该File GDB的文件夹里多了若干lock结尾的文件。当数据被锁定时,你是无法对其进行修改或删除的。比如ArcMap里加载了一个FeatureClass,这时你无法用ArcCatalog删除它;在ArcCatalog中预览一个FeatureClass,这时你无法用ArcMap编辑它。

除了正在使用的数据会肯定被锁以外,以下情况中还有其他数据也会被锁住:1、正在访问包含在DataSet中的某个FeatureClass时,这个DataSet内的其他FeatureClass也会被锁;2、单独的FeatureClass之间如果做了Relate,那么访问其中一个时其他的也会被锁。

93+sp1以后,每个lock文件的文件名会至少带有以下两个信息:产生该锁的进程的ID号(任务管理器,查看,选择列,勾选PID可查看),以及该进程所在的机器名。当数据被锁定时,除了以上标志明显的lock文件外,还会有一些系统锁文件。所以根据这些lock文件的命名,你就能判断出是哪个进程占用了数据,从而做出正确的处理。

一般来说,lock文件会在生成它的进程正常退出时被自动删除掉。但如果进程没有正常退出,比如崩溃后,由该进程生成的lock文件则会继续存在,但已经没有任何作用。清除这些因意外状况遗留下的lock文件的方法:1、重新开启该进程,则会清理上一次遗留的lock文件;2、用Compact Database工具或ArcCatalog中的右键菜单;3、手动删除。推荐方法2,方法3慎用。除非你有备份,否则误删File GDB文件夹下一个哪怕0k的文件,都有极大的可能造成整个数据库损坏而无法修补。

如果非要用方法3,建议在命令行下用del lock命令删除;如果非要用资源管理器删,建议左手在按住ctrl或shift时,右手食指不要发抖。

六、压缩格式

File Geodatabase 支援一种新的压缩格式,在查询与显示方面均与未压缩格式相同,压缩比率可从2:1 到25:1。

1、空间数据的录入和编辑更加准确。这得益于空间要素的合法性规则检査。

2、更好表达空间数据的相互关系。

3、更好的进行制图。

4、空间数据的表示更为准确。

5、支持空间数据的版本管理和多用户并发 *** 作。

可管理连续的空间数据,无需分块、分幅。

6、在同一数据库中统一地管理各种类型的空间数据。

Geodatabase模型是新一代的地理数据模型,是建立在DBMS之上的统一的、智能化的空间数据库。它较之以前的数据模型更加人性化、智能化。

打开ArcGIS Desktop中的Catalog,在目录树列表中,选择一个文件夹(如果有ArcSDE GeoDatabase则省去这步),在文件夹点击右键,新建ShapeFile文件,或者在空间数据库中New -》要素类FeatureClass(两者其实一样一样的),输入名称,和选择要素类型(有五种 点 线 面 多点 多面||),坐标系也选择一个,一般要和其他要素一样,比如都是China的那个某年的坐标系,点击确定就创建了shape文件(在地理空间数据库中就是建立了一个表,一个要素类而已,下面全部按照shape单独的文件来说,地理空间数据库其实一样。)。

Shape文件添加删除 字段,暂时无法修改字段

============================

在shape文件上点击右键,打开属性,选择字段,默认有FID、Shape和id三个字段,FID就是自动增长的一个id,Shape是类型,这俩必须有,还必须有第三个字段,ArcGIS10好像不能修改id字段,但是可以先添加一个字段,然后再id这一行最左边,点击选择整行进行删除。这样就可以查看,添加或删除字段了,至于修改,和更改顺序(其实更改顺序只是给人看的,没啥用),我暂时不知道如何 *** 作。。。。。。。

Shape文件中对表进行数据的添加删除修改 *** 作

============================

在有了字段后,表还是空的,这里的表其实和数据库里的表table的概念是一模一样的。有了表结构,下面就是对表内容进行进行添加删除修改了。

这个 *** 作需要使用ArcGIS Desktop里的 ArcMap软件。

打开ArcMap之后,首先把 编辑器 和 绘图 工具条 调用出来。在自定义 自定义模式中可以 *** 作,简单的也可以在工具栏空白处点击右键直接打开这些工具条。

将shape文件拖动到左侧的图层上,一般应该有其他的要素类,这样才能作为参考,我这里就光一个shape要素类了,做做实验而已。

然后点击编辑器工具条,点击下拉菜单的开始编辑。如果有多个要素和图层,会让你选择,因为编辑只能编辑一个要素,不能同时编辑俩要素,所以要选择一个。

点击左侧shape的图层,点击编辑工具条下拉菜单的编辑窗口-》创建要素,这是一个关键了。创建就是添加表里的数据了。点击一个模板(有时候也没有,不太清楚这个要素模板怎么回事,没有的话就要用绘图工具了),下面的构造工具就会出现对应的构建工具,比如选择点。

然后就可以在地图上点 一些点了。。一会我再试试线、面和其他,估计都一样的。

创建一个要素,就相当于在table表里添加了一行数据。当然,目前还没有添加,因为还需要保存。

同样在编辑工具条下拉菜单点击保存编辑内容 和 停止编辑,这样就添加了数据了。查看只要在Catalog里的预览中可以查看图形的或者表的数据了。

一般,我们的表里还有一些其他的字段,这个在ArcMap创建要素的时候,可以进行修改,选择要添加其他字段的要素,右键属性,下面就会有自定义字段,可以直接进行修改或者修改了。

以上就是关于用vb编写Geodatabase数据库连接与矢量数据集创建及导入的代码,怎样连接全部的内容,包括:用vb编写Geodatabase数据库连接与矢量数据集创建及导入的代码,怎样连接、C#链接geodatabase数据库的具体步骤、比较shapefile和geodatabase的差异,对应用带来的什么影响等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存