﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>博客园-GIS雲中飛鹏</title><link>http://www.cnblogs.com/gispeng/</link><description>爲生活奮鬥的GIS青年！誓將夢想進行到底！</description><language>zh-cn</language><lastBuildDate>Sat, 26 Jul 2008 06:53:43 GMT</lastBuildDate><pubDate>Sat, 26 Jul 2008 06:53:43 GMT</pubDate><ttl>60</ttl><item><title>【ArcGIS Server 开发系列】Flyingis六大系列讲座精品PDF奉献</title><link>http://www.cnblogs.com/gispeng/archive/2008/07/24/1250116.html</link><dc:creator>GIS云中飞鹏</dc:creator><author>GIS云中飞鹏</author><pubDate>Thu, 24 Jul 2008 00:00:00 GMT</pubDate><guid>http://www.cnblogs.com/gispeng/archive/2008/07/24/1250116.html</guid><wfw:comment>http://www.cnblogs.com/gispeng/comments/1250116.html</wfw:comment><comments>http://www.cnblogs.com/gispeng/archive/2008/07/24/1250116.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/gispeng/comments/commentRss/1250116.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/gispeng/services/trackbacks/1250116.html</trackback:ping><description><![CDATA[<h2>&nbsp;</h2>
<h2><span style="color: #ff0000">【ArcGIS Server 开发系列】Flyingis六大系列讲座精品PDF奉献<br />
<br />
</span><font color="blue"><strong>为了方便学习将Flyingis六大系列讲整理成一个PDF文件供大家下载：</strong></font></h2>
<p><font color="#0000ff"><strong>下载地址一: (需要注册以后方可正常下载-<a title="点击注册" href="http://bbs.esrichina-bj.cn/ESRI/my.php?item=promotion">点击注册</a>-<a title="点击下载" style="color: #000080" href="http://bbs.esrichina-bj.cn/ESRI/viewthread.php?tid=22555&amp;extra=page%3D1&amp;page=1">点击下载</a>)</strong></font></p>
<p><strong><font color="#0000ff">下载地址二: (需要安装插件方可正常下载-<a title="下载插件" href="http://www.fs2you.com/zh-cn/client/">下载插件</a>-<a title="进入下载" style="color: #000080" href="http://www.fs2you.com/files/3386c66b-5914-11dd-81c3-0014221b798a/">进入下载</a>)</font></strong></p>
<p><br />
<strong><font color="red">内容包括：</font></strong><br />
<a href="http://bbs.esrichina-bj.cn/ESRI/viewthread.php?tid=22547&amp;extra=page%3D1" target="_blank"><strong><font color="magenta">ArcGIS Server 开发系列（一）--编程框架总览</font></strong></a><strong><font color="magenta"> </font></strong></p>
<strong><font color="magenta">
<h2><br />
</font></strong><a href="http://bbs.esrichina-bj.cn/ESRI/viewthread.php?tid=22548&amp;extra=page%3D1" target="_blank"><strong><font color="magenta">ArcGIS Server 开发系列（二）--Web ADF 编程</font></strong></a><strong><font color="magenta"> </font></strong></h2>
<strong><font color="magenta">
<h2><br />
</font></strong><a href="http://bbs.esrichina-bj.cn/ESRI/viewthread.php?tid=22549&amp;extra=page%3D1" target="_blank"><strong><font color="magenta">ArcGIS Server 开发系列（三）--漫游 Graphics data sources</font></strong></a><strong><font color="magenta"> </font></strong><a href="http://bbs.esrichina-bj.cn/ESRI/redirect.php?tid=22549&amp;goto=newpost#newpost" target="_blank"><strong><font color="magenta"><img alt="" src="http://bbs.esrichina-bj.cn/ESRI/images/default/firstnew.gif" onload="attachimg(this, 'load')" border="0"></font></strong></a><strong><font color="magenta"> <br />
</font></strong><a href="http://bbs.esrichina-bj.cn/ESRI/viewthread.php?tid=22550&amp;extra=page%3D1" target="_blank"><strong><font color="magenta">ArcGIS Server 开发系列（四）--ArcGIS Server data </font></strong></a></h2>
<h2><strong><font color="magenta">sources 开发</font></strong><strong><font color="magenta"> </font></strong><a href="http://bbs.esrichina-bj.cn/ESRI/redirect.php?tid=22550&amp;goto=newpost#newpost" target="_blank"><strong><font color="magenta"><img alt="" src="http://bbs.esrichina-bj.cn/ESRI/images/default/firstnew.gif" onload="attachimg(this, 'load')" border="0"></font></strong></a><strong><font color="magenta"> </font></strong></h2>
<strong><font color="magenta">
<h2><br />
</font></strong><a href="http://bbs.esrichina-bj.cn/ESRI/viewthread.php?tid=22551&amp;extra=page%3D1" target="_blank"><strong><font color="magenta">ArcGIS Server 开发系列（五）--自定义 Toolbar 工具</font></strong></a><strong><font color="magenta"> </font></strong></h2>
<strong><font color="magenta">
<h2><br />
</font></strong><a href="http://bbs.esrichina-bj.cn/ESRI/viewthread.php?tid=22553&amp;extra=page%3D1" target="_blank"><strong><font color="magenta">ArcGIS Server 开发系列（六）--自定义 Tasks</font></strong></a></h2>
<h2><br />
<br />
<strong><font size="2"><font color="red">声明:文章仅用于学习与交流，禁止用于任何商业目的!</font></font></strong><br />
<strong><font size="2"><font color="#ff0000">作者博客:<a href="http://flyingis.cnblogs.com/" target="_blank">http://flyingis.cnblogs.com/</a></font></font></strong></h2>
<img src ="http://www.cnblogs.com/gispeng/aggbug/1250116.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41316/" target="_blank">[新闻]腾讯CEO马化腾:中国互联网业准备再过冬</a>]]></description></item><item><title>公司数据部培训讲义:ArcMap数字化培训教程</title><link>http://www.cnblogs.com/gispeng/archive/2008/07/18/1245616.html</link><dc:creator>GIS云中飞鹏</dc:creator><author>GIS云中飞鹏</author><pubDate>Fri, 18 Jul 2008 00:51:00 GMT</pubDate><guid>http://www.cnblogs.com/gispeng/archive/2008/07/18/1245616.html</guid><wfw:comment>http://www.cnblogs.com/gispeng/comments/1245616.html</wfw:comment><comments>http://www.cnblogs.com/gispeng/archive/2008/07/18/1245616.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/gispeng/comments/commentRss/1245616.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/gispeng/services/trackbacks/1245616.html</trackback:ping><description><![CDATA[<font face="Verdana">公司数据部培训讲义:ArcMap数字化培训教程:<br />
点击下载:<br />
<a title="ArcMap培训" href="/Files/gispeng/ArcMap.doc">ArcMap培训</a></font>
<img src ="http://www.cnblogs.com/gispeng/aggbug/1245616.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41315/" target="_blank">[新闻]F8 Keynote Speech[多图]</a>]]></description></item><item><title>如何改变ArcIMS92图例字体大小中?</title><link>http://www.cnblogs.com/gispeng/archive/2008/07/09/1238789.html</link><dc:creator>GIS云中飞鹏</dc:creator><author>GIS云中飞鹏</author><pubDate>Wed, 09 Jul 2008 04:07:00 GMT</pubDate><guid>http://www.cnblogs.com/gispeng/archive/2008/07/09/1238789.html</guid><wfw:comment>http://www.cnblogs.com/gispeng/comments/1238789.html</wfw:comment><comments>http://www.cnblogs.com/gispeng/archive/2008/07/09/1238789.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/gispeng/comments/commentRss/1238789.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/gispeng/services/trackbacks/1238789.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如何改变ArcIMS92图例字体大小中?<br />
<br />
aimsLegend.js 中的addLegendToMap函数中加一个layerfontsize节点，如<br />
<br />
<code id="code0">var legString = '&lt;LEGEND title="' + legTitle + '"&nbsp;&nbsp;layerfontsize="20" font="' + legFont + '" width="' + legWidth + '" height="' + legHeight + '" ';</code>
<img src ="http://www.cnblogs.com/gispeng/aggbug/1238789.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41314/" target="_blank">[新闻]奥运核心资源被分食 搜狐央视网谁忽悠谁？</a>]]></description></item><item><title>在ArcGisEngine 开发中如何在Toolbar控件上添加Combobox等其他控件?</title><link>http://www.cnblogs.com/gispeng/archive/2008/07/09/1238612.html</link><dc:creator>GIS云中飞鹏</dc:creator><author>GIS云中飞鹏</author><pubDate>Wed, 09 Jul 2008 00:50:00 GMT</pubDate><guid>http://www.cnblogs.com/gispeng/archive/2008/07/09/1238612.html</guid><wfw:comment>http://www.cnblogs.com/gispeng/comments/1238612.html</wfw:comment><comments>http://www.cnblogs.com/gispeng/archive/2008/07/09/1238612.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/gispeng/comments/commentRss/1238612.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/gispeng/services/trackbacks/1238612.html</trackback:ping><description><![CDATA[<p><font face="Verdana">&nbsp;在ArcGisEngine 开发中如何在Toolbar控件上添加Combobox等其他控件<br />
<br />
如果在ESRI的Toolbar控件上添加一个Combobox 需要在Command类中实现IToolControl接口<br />
在将指定控件的句柄做为 IToolControl.hwnd 返回即可 <br />
过程描述 <br />
public class MyCombobox:BaseCommand,IToolControl<br />
{<br />
private int _handle=0;<br />
private ICompletionNotify _CompNotify; <br />
public MyCombobox(int handle)<br />
{<br />
_handle = handle;<br />
}</font></p>
<p><font face="Verdana">public override void OnCreate(object hook)<br />
{<br />
// TODO: 添加 SymbolType.OnCreate 实现</font></p>
<p><font face="Verdana">}<br />
#region IToolControl 成员</font></p>
<p><font face="Verdana">public int hWnd<br />
{<br />
get<br />
{<br />
// TODO: 添加 SymbolType.hWnd getter 实现<br />
return _handle;<br />
}<br />
}</font></p>
<p><font face="Verdana">public void OnFocus(ICompletionNotify complete)<br />
{<br />
_CompNotify = complete;<br />
// TODO: 添加 SymbolType.OnFocus 实现<br />
}</font></p>
<p><font face="Verdana">public bool OnDrop(ESRI.ArcGIS.SystemUI.esriCmdBarType barType)<br />
{<br />
// TODO: 添加 SymbolType.OnDrop 实现<br />
if (barType == esriCmdBarType.esriCmdBarTypeToolbar )<br />
{<br />
return true;<br />
}<br />
else return false;<br />
}</font></p>
<p><font face="Verdana">#endregion<br />
} <br />
&nbsp;</font></p>
 <img src ="http://www.cnblogs.com/gispeng/aggbug/1238612.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41314/" target="_blank">[新闻]奥运核心资源被分食 搜狐央视网谁忽悠谁？</a>]]></description></item><item><title>改变HTML Viewer默认的地图工具</title><link>http://www.cnblogs.com/gispeng/archive/2008/07/09/1238605.html</link><dc:creator>GIS云中飞鹏</dc:creator><author>GIS云中飞鹏</author><pubDate>Wed, 09 Jul 2008 00:45:00 GMT</pubDate><guid>http://www.cnblogs.com/gispeng/archive/2008/07/09/1238605.html</guid><wfw:comment>http://www.cnblogs.com/gispeng/comments/1238605.html</wfw:comment><comments>http://www.cnblogs.com/gispeng/archive/2008/07/09/1238605.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/gispeng/comments/commentRss/1238605.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/gispeng/services/trackbacks/1238605.html</trackback:ping><description><![CDATA[<p><font face="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 改变HTML Viewer默认的地图工具<br />
版本： ArcIMS&nbsp; 4.0,9.0 平台： N/A <br />
<br />
HTML Viewer默认的地图工具是放大（Zoom In）。根据下列步骤可改变默认工具。 <br />
过程描述 <br />
1. 在文本编辑器中打开HTML Viewer站点中的ArcIMSParam.js 文件。<br />
2. 查找下列代码行：<br />
var useReverseGeocode = false;<br />
3.紧跟该行后有：<br />
var defaultMapTool = "identify";<br />
下列地图工具名字可以替换identify字符串:<br />
"zoomin" <br />
"zoomout" <br />
"pan" <br />
"identify" <br />
"identifyall" <br />
"hyperlink" <br />
"hyperlinkany" <br />
"measure" <br />
"selectbox" <br />
"selectshape" <br />
4.找到下列代码行:<br />
if (aimsClickPresent) clickFunction("zoomin");<br />
5.将其改为:<br />
if (aimsClickPresent) clickFunction(defaultMapTool);<br />
6.保存文件,清除浏览器的缓冲,重新装载该HTML Viewer&nbsp;<br />
&nbsp;</font></p>
<p><font face="Verdana">备注<br />
9.2中无defaultMapTool变量&nbsp;&nbsp; 直接用<br />
"zoomin" <br />
"zoomout" <br />
"pan" <br />
"identify" <br />
"identifyall" <br />
"hyperlink" <br />
"hyperlinkany" <br />
"measure" <br />
"selectbox" <br />
"selectshape" 重一个替换<br />
if (aimsClickPresent) clickFunction("zoomin");<br />
中的zoomin就行！</font></p>
<img src ="http://www.cnblogs.com/gispeng/aggbug/1238605.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41314/" target="_blank">[新闻]奥运核心资源被分食 搜狐央视网谁忽悠谁？</a>]]></description></item><item><title>如何创建从ArcIMS到ArcSDE/Oracle的直接连接?</title><link>http://www.cnblogs.com/gispeng/archive/2008/07/09/1238596.html</link><dc:creator>GIS云中飞鹏</dc:creator><author>GIS云中飞鹏</author><pubDate>Wed, 09 Jul 2008 00:39:00 GMT</pubDate><guid>http://www.cnblogs.com/gispeng/archive/2008/07/09/1238596.html</guid><wfw:comment>http://www.cnblogs.com/gispeng/comments/1238596.html</wfw:comment><comments>http://www.cnblogs.com/gispeng/archive/2008/07/09/1238596.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/gispeng/comments/commentRss/1238596.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/gispeng/services/trackbacks/1238596.html</trackback:ping><description><![CDATA[<p><font face="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如何创建从ArcIMS到ArcSDE/Oracle的直接连接?<br />
相关产品及版本： ArcIMS&nbsp; 4.0.1, 9.0 平台： PC-Intel Windows2000 <br />
提交人： 吴乐茂 <br />
内容摘要 <br />
ArcIMS用户可以不需要ArcSDE应用服务器就可以直接连接和读取Oracle数据库中的空间数据。</font></p>
<p><font face="Verdana">通过Author可以很容易构建从ArcIMS到ArcSDE的连接。 某些情况下可能需要绕过ArcSDE 应用服务器，以提高性能。要做到这点，需要更新axl文件中的SDEWORKSPACE 元素，使用直接连接。 <br />
过程描述 <br />
请参考以下步骤</font></p>
<p><font face="Verdana">1. 打开 Author，访问ArcSDE 数据并保存为一个.axl 文件。 </font></p>
<p><font face="Verdana">2. 在.axl 文件中，更新以下内容： <br />
&lt;SDEWORKSPACE name="sde_ws-0" server="zephyr" instance="port:5151"<br />
database="test" user="test" encrypted="true" password="EPYCJM" geoindexdir="C:DOCUME~1 /&gt;</font></p>
<p><font face="Verdana">3. 作如下改动： <br />
&lt;SDEWORKSPACE name="sde_ws-0" server="zephyr" instance="sde:oracle"<br />
database="test" user="test" encrypted="false" password="test@ora" geoindexdir="C:DOCUME~1 /&gt;<br />
修改以下值: <br />
instance = sde:oracle <br />
encrypted = false <br />
password = password@net_service_name </font></p>
<p><font face="Verdana">4. 当连接到一个远程Oracle服务器或通过Oracle的sqlplus连接时，密码@net_service_name是需要的： <br />
sqlplus/password@net_service_name</font></p>
<p><font face="Verdana">Windows <br />
安装Oracle客户端并运行Net Configuration Assistant来设置一个本地网络服务名。</font></p>
<p><font face="Verdana">UNIX <br />
该值在tnsnames.ora 文件中 </font></p>
<img src ="http://www.cnblogs.com/gispeng/aggbug/1238596.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41314/" target="_blank">[新闻]奥运核心资源被分食 搜狐央视网谁忽悠谁？</a>]]></description></item><item><title>如何在Author中加载SDE栅格图层?</title><link>http://www.cnblogs.com/gispeng/archive/2008/07/09/1238585.html</link><dc:creator>GIS云中飞鹏</dc:creator><author>GIS云中飞鹏</author><pubDate>Wed, 09 Jul 2008 00:30:00 GMT</pubDate><guid>http://www.cnblogs.com/gispeng/archive/2008/07/09/1238585.html</guid><wfw:comment>http://www.cnblogs.com/gispeng/comments/1238585.html</wfw:comment><comments>http://www.cnblogs.com/gispeng/archive/2008/07/09/1238585.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/gispeng/comments/commentRss/1238585.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/gispeng/services/trackbacks/1238585.html</trackback:ping><description><![CDATA[<p><font face="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如何在Author中加载SDE栅格图层?<br />
版本： ArcIMS&nbsp; 9.1 <br />
在Author中加载SDE栅格图层,并保存AXL文件。 <br />
过程描述 <br />
1.使用ArcIMS Author工具正常的连接ArcSDE,添加栅格图像到Axl文件中，但此时，栅格图像不能正常显示，比如出现一整块的红色，忽略；</font></p>
<p><font face="Verdana">2.添加其他图层，保存Axl文件；</font></p>
<p><font face="Verdana">3.使用其他文本编辑器打开Axl文件，找到下列几行：</font></p>
<p><font face="Verdana">&lt;LAYER type="featureclass" name="SDE.SDE.RASTERTEST" visible="true" id="0"&gt;</font></p>
<p><font face="Verdana">&lt;DATASET name="SDE.SDE.RASTERTEST" type="polygon" workspace="sde_ws-0" /&gt;</font></p>
<p><font face="Verdana">&lt;SIMPLERENDERER&gt;</font></p>
<p><font face="Verdana">&lt;SIMPLEPOLYGONSYMBOL boundarytransparency="1.0" filltransparency="1.0" fillcolor="127,227,227" boundarycaptype="round" /&gt;</font></p>
<p><font face="Verdana">&lt;/SIMPLERENDERER&gt;</font></p>
<p><font face="Verdana">&lt;/LAYER&gt;</font></p>
<p><font face="Verdana"></font>&nbsp;</p>
<p><font face="Verdana">4.修改其中的三个地方：</font></p>
<p><font face="Verdana">type="featureclass" 改为：type="image" </font></p>
<p><font face="Verdana">DATASET name="SDE.SDE.RASTERTEST" 改为：DATASET name="SDE.SDE.RASTERTEST.RASTER"</font></p>
<p><font face="Verdana">type="polygon" 改为：type="image"</font></p>
<p><font face="Verdana"></font>&nbsp;</p>
<p><font face="Verdana">5.修改后结果如下：</font></p>
<p><font face="Verdana">&lt;LAYER type="image" name="RASTERTEST" visible="true" id="0"&gt;</font></p>
<p><font face="Verdana">&lt;DATASET name="SDE.SDE.RASTERTEST.RASTER" type="image" workspace="sde_ws-0" /&gt;</font></p>
<p><font face="Verdana">&lt;/LAYER&gt;</font></p>
<p><font face="Verdana"></font>&nbsp;</p>
<p><font face="Verdana">6.此时ArcIMS Author仍然不能正常浏览栅格图像，但ArcIMS Administrator能创建含有栅格图像的服务，Web浏览正常。 <br />
&nbsp;<br />
</font></p>
<img src ="http://www.cnblogs.com/gispeng/aggbug/1238585.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41314/" target="_blank">[新闻]奥运核心资源被分食 搜狐央视网谁忽悠谁？</a>]]></description></item><item><title>ArcSDE中间件技术的生命力</title><link>http://www.cnblogs.com/gispeng/archive/2008/07/08/1238240.html</link><dc:creator>GIS云中飞鹏</dc:creator><author>GIS云中飞鹏</author><pubDate>Tue, 08 Jul 2008 07:42:00 GMT</pubDate><guid>http://www.cnblogs.com/gispeng/archive/2008/07/08/1238240.html</guid><wfw:comment>http://www.cnblogs.com/gispeng/comments/1238240.html</wfw:comment><comments>http://www.cnblogs.com/gispeng/archive/2008/07/08/1238240.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnblogs.com/gispeng/comments/commentRss/1238240.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/gispeng/services/trackbacks/1238240.html</trackback:ping><description><![CDATA[<font face="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ArcSDE中间件技术的生命力(原文作者：蔡晓冰)<br />
&nbsp;&nbsp;&nbsp; 把ArcSDE的技术看成是一种对于空间数据管理而言可有可无的&#8220;鸡肋&#8221;，实际上是一种简单化的、&#8220;形而上学&#8221;的观点。持该观点的思维逻辑是：既然ArcSDE和Oracle Spatial都是用于存储空间数据，那有了Oracle还要ArcSDE何用？显然，该逻辑的前提是将ArcSDE和Oracel Spatial等同起来。错误的前提导致了无效的结论。而导致前提出错的根源，除了非技术的（或者说商业的）原因之外，主要还是对ArcSDE本身以及空间数据管理技术及其发展趋势缺乏深入了解。 首先，ArcSDE和Oracle Spatial的定位不同。Oracle Spatial强调或关心的是使ORACLE DBMS所管理的数据库能够&#8220;空间化（spatially enabled）&#8221;，实际上是在原来的数据库模型上进行了空间数据模型的扩展。同样的工作，除ORACLE外，IBM的DB2和Informix也在做，分别有其Spatial Extender和Spatial Datablade技术。它们的定位应该说是基本一致的。与DBMS厂商不同，ESRI的ArcSDE的定位则是空间数据的管理及应用，而非简单的数据库空间化。也正是由于定位的不同，Oracle Spatial实现的仅仅是&#8220;点、线、面&#8221;等简单空间要素的存储和检索，而ArcSDE则除此之外还能管理面向对象的注记、平面拓扑、线性拓扑、栅格（影像）数据、CAD数据等，同时提供基于版本管理的工作流和长事务处理机制。定位的不同，使得ArcSDE和Oracle Spatial的数据模型、实现技术及客户端应用都存在相当的错位，对于用户而言，二者就不是&#8220;非此即彼&#8221;、&#8220;非0则1&#8221;的互斥之选了。很能说明问题的事实是：ORACLE、IBM、INFORMIX（现在Informix已被IMB并购）等DBMS厂商都是ESRI的合作伙伴，在空间数据管理技术的开发上都与ESRI有较为深层次的合作，ESRI在其中贡献的是其对空间数据管理及应用的深厚底蕴。ESRI和DBMS厂商间是一种各施其长、互惠互利的合作关系. 其次，就空间数据物理模型而言，ArcSDE和Oracle Spatial支持的共五种： A. 压缩二进制LONG RAW；（ArcSDE 支持） B. 压缩二进制LOB；（ArcSDE支持） C. 对象相关VARRAY；（ORACLE 支持） D. OGC空间类型；（ArcSDE支持） E. 规范化存储。（ORACLE支持） 其中，ArcSDE支持的三种格式要么与OGC（OpenGIS Consortium）颁布的规范（Simple Feature Specification for SQL）一致（d）, 要么完全含盖了OGC的规范，并作了相当的扩展。而ORACLE所支持的两种格式都与OGC规范不全相容。这自然会影响到今后完全基于该平台的GIS系统的数据共享和互操作性。而数据共享和系统互操作性是GIS平台本身及其应用发展的关键趋势。 第三、上面提到的空间数据的五种物理实现方式的访问效率从高到低依次为：a、b、c、d、e。ArcSDE的方式效率是最高的。因为要解决面向多用户并发访问的海量空间数据管理和驱动，效率始终是ArcSDE重点考虑的问题。 第四、ORACLE的对象相关VARRAY方式是所谓的&#8220;白箱&#8221;，即数据对象所&#8220;包裹&#8221;的内容是可以直接访问和操纵的。而ArcSDE的方式则是所谓的&#8220;黑箱&#8221;，客户端不能直接在数据库表一级直接操作底层数据对象结构中的内容。&#8220;白箱&#8221;的好处是其客户端可以直接通过SQL访问数据，这也是许多GIS厂商在空间数据管理上避重就轻而直接依赖于Oracle Spatial的原因之一。但正因为如此，数据的一致性成了问题。DB2和Infomix似乎都看到了问题所在，所以也摒弃了&#8220;白箱&#8221;的模式。 从上面四点可以看出，ArcSDE并非因为有了Oracle Spatial就成了多余的东西。相反，对于那些不仅仅满足于将空间数据找个地方存起来的应用，考虑ArcSDE是更合理的选择。 ArcSDE相对于其所选用的DBMS而言，是扮演了一个&#8220;中间件&#8221;的角色。为什么需要中间件？就是因为没有一种数据库平台可以在不同操作系统、不同级别、不同领域的应用中&#8220;大包大揽&#8221;一统天下。而不同的DBMS在数据模型、物理实现等诸多方面都存在很大差异，要靡合这些差异，靠DBMS厂商自身是不可能解决问题的。DBMS厂商当然希望能一统天下，但事实证明，在充分竞争的商业环境里，在可见的将来这是不可能做到的。数据库领域如此、其它如电子商务领域也同样如此。那解决之道何在？答案是：中间件。通过中间件的作用，将不同的操作系统平台和数据库平台的差异之处屏蔽在中间件之后，将面向特定领域<br />
（如空间数据管理及应用）所需的技术高度专业化地实现出来，供不同的客户端高效地共享和互操作。 当然，DBMS不能一统天下，作为空间数据服务器的ArcSDE也不能。在当前除ESRI以外的GIS厂商尚未推出强有力的类似ArcSDE的&#8220;中间件&#8221;之际，诸多GIS厂商对空间数据管理&#8220;中间件&#8221;的攻击实出无奈。但是，信息化社会须以消除信息孤岛为必要条件，而要各信息之岛间能够互联互通互操作，要么把信息平台全都统一，要么以某种方式将不同的平台沟通起来，针对不同的领域，各自建立面向应用的虚拟空间及界面。前者不可能，后者则正在由各色各样的&#8220;中间件&#8221;担纲领衔。&#8220;中间件&#8221;在电子商务和其它互联网应用中正在大行其道（全球产值已逾700亿美元），在空间数据管理领域，ArcSDE只是先行了一步。</font>
<img src ="http://www.cnblogs.com/gispeng/aggbug/1238240.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41313/" target="_blank">[新闻]微软推新型搜索技术"BrowseRank"挑战谷歌</a>]]></description></item><item><title>在Personal Geodatabase中管理栅格数据</title><link>http://www.cnblogs.com/gispeng/archive/2008/07/04/1235430.html</link><dc:creator>GIS云中飞鹏</dc:creator><author>GIS云中飞鹏</author><pubDate>Fri, 04 Jul 2008 03:50:00 GMT</pubDate><guid>http://www.cnblogs.com/gispeng/archive/2008/07/04/1235430.html</guid><wfw:comment>http://www.cnblogs.com/gispeng/comments/1235430.html</wfw:comment><comments>http://www.cnblogs.com/gispeng/archive/2008/07/04/1235430.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/gispeng/comments/commentRss/1235430.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/gispeng/services/trackbacks/1235430.html</trackback:ping><description><![CDATA[<table class="hi" cellspacing="0" cellpadding="0" width="557" border="0">
    <tbody>
        <tr>
            <td width="40" height="33"></td>
            <td valign="bottom" noWrap width="517"><strong><font color="#1577b7" size="4">在Personal Geodatabase中管理栅格数据 </font></strong></td>
        </tr>
        <tr>
            <td height="0"></td>
            <td bgcolor="#1577b7" height="0"><img height="1" src="http://www.esrichina-bj.cn/images/spacer.gif" width="1"  alt="" /></td>
        </tr>
    </tbody>
</table>
<div align="left"></div>
<table height="528" cellspacing="0" cellpadding="0" width="561" border="0">
    <tbody>
        <tr>
            <td width="40" height="528">
            <div align="left"></div>
            </td>
            <td class="hi" valign="top" width="521" height="528">
            <p align="left"><br />
            运行环境：ArcGIS Desktop 9.0<br />
            练习数据：...\ArcTutor\Spatial\landuse </p>
            <p align="left">很多用户都知道，Geodatabase是存储海量栅格数据最有效的方法。但在ArcGIS8.X中，Geodatabase必须通过ArcSDE由关系型DBMS来管理。然而在9版本中，ArcGIS提供了新的工具可以在Personal Geodatabase中管理栅格数据。这篇文章将以栅格数据集的创建和加载为例，来对这些新特性进行介绍。</p>
            <p class="style67" align="left">概述</p>
            <p align="left">在Personal Geodatabase中，栅格数据可以作为栅格目录表（Raster Catalog）或栅格数据集(Raster Dataset)来存储。栅格数据集表现为连续的单幅数据。而栅格目录表是多个栅格的集合。每种存储方式都有各自的优势和局限性，但也有一些规则是两种方式都要遵守的。</p>
            <p align="left">栅格目录表和栅格数据集都可以先创建成一个空的容器，然后再向其中加载数据，或者可以动态创建。创建和加载栅格目录表或栅格数据集可以用ArcToolbox中的数据管理工具。这些工具可以在ArcCatalog的用户界面中找到。</p>
            <p align="left">当创建栅格目录表时，必须设置XY域（所有输入栅格的空间范围的集合），而栅格数据集则不需要。和ArcGIS中所有其它数据集一样，我们强烈建议，要导入目录表或数据集的栅格数据一定要预先定义空间参考，地理坐标系统或投影坐标系统。而这种坐标系统不必要一定和目录表或数据集的坐标系统一致。</p>
            <p align="left">栅格数据集有一个空间参考，在拼接（Mosaic）的过程中，不同坐标系统中的像元会被动态投影到正确的位置上。而在栅格目录表中，每个栅格都会有自己的空间参考，它们和几何空间参考以及栅格列的空间参考都不一样，这些栅格只是在进行显示或分析的时候才会被动态投影。</p>
            <p align="left">与ArcSDE维护的栅格数据不一样，它们是存储在DBMS中，而Personal Geodatabase管理的栅格数据实际上并不存储在Personal Geodatabase中。</p>
            <p align="left">不管是目录表还是数据集，由Personal Geodatabase管理的栅格数据都是存储在一个参考路径中。因为栅格数据的实际容量往往会超出Personal Geodatabase 2 GB的容量限制，所以实际上Personal Geodatabase只存储参考路径。但是，我们建议在引用栅格数据时要使用ArcGIS来操作（复制、更新）,使用Windows的资源管理器会出问题，同样，管理Coverage或GRID也是如此。</p>
            <p class="style67" align="left">选择栅格数据集还是栅格目录表</p>
            <p align="left">决定用数据集还是目录表来存储栅格数据实际上是我们第二步要做的决定。首先需要确认的是栅格数据是否适用于GIS以及是否适于在Personal Geodatabase中存储。 </p>
            <p align="left">我们建议花些时间来对栅格数据进行配准，或者用更好的办法，从销售商那里获取已经配准好的影像。大部分的影像用的是内部配准或world文件。</p>
            <p align="left">GIS会假定所有的数据都是经过配准的，如果栅格没有配准，比如倾斜的图像或扫描文档，在GIS中使用这种数据会出现问题。处理这种图片（例如扫描影像或照片）的最好方法是把它们作为栅格属性和真实世界的点、线、面要素类关联起来。这是在Personal Geodatabase中存储栅格的第三种形式。</p>
            <p align="left">选择要使用Personal Geodatabase后，下一步就是要决定是用单个的拼接栅格数据集还是是用栅格之间相互独立的目录表。一般说来，如果这些栅格是要用来作为一个整体来进行分析，那就用栅格数据集。ArcGIS空间分析工具会把数据集和其他栅格数据一样来对待。（注意：Personal Geodatabase中所有的栅格数据都是被管理的形式）</p>
            <p align="left">栅格数据集是不同的。栅格数据集可以是从其它数据源输入的单幅栅格，例如ESRI Grid，ERDAS IMAGINE IMG，或者TIFF/GeoTIFF影像。另外多幅栅格也可以加载到数据集中组成一幅拼接图像。但这个过程会有某些限制：在创建大栅格数据集时会花一些时间。无论数据集是由单幅图像组成还是由多幅输入栅格拼接成的图像，都会被转换成ERDAS IMAGINE (IMG)文件存储在一个指定的文件夹中，和Personal Geodatabase (MBD) 文件在同一个路径下。这个文件夹和其中的内容都是由Personal Geodatabase管理的。</p>
            <p align="left">目录表中的栅格数据不能作为单幅的拼接图像进行分析，但栅格目录表中的单独的栅格数据集可以。栅格目录表在显示数据以及管理部分或全部重叠的数据时非常有用。</p>
            <p align="left">如果选择栅格目录表，需要决定目录表是否被管理。不被管理的目录表是栅格数据的集合，这些栅格的特性可以完全不同，比如格式、像元大小、位深等。这些栅格甚至可以有自己的空间参考。栅格数据通过栅格目录表中的RASTER字段进行引用，路径名用来查找磁盘上的栅格数据集文件。在被管理的目录表中，栅格被复制成IMG文件，存储在一个和Personal Geodatabase同名并且在同一路径的文件夹中。无论是否被管理，都会在Personal Geodatabase中创建一个新的目录表，把多幅栅格加入其中。</p>
            <p align="left"><span class="style67">具体案例 </span></p>
            <p align="left">下面我们利用ArcTutor中的数据来演示一下栅格数据集的创建和加载过程。<br />
            第一步：在ArcCatalog中新建一个Personal Geodatabase，命名为RPGDB。<br />
            第二步：右健点击RPGDB，选择新建栅格数据集（如图1所示）： </p>
            <p align="center"><a href="http://www.esrichina-bj.cn/library/image/Personal1.gif" target="_blank"><img height="150" src="http://www.esrichina-bj.cn/library/image/Personal11.gif" width="200" border="0"  alt="" /></a><br />
            <em>图1 创建栅格数据集 </em></p>
            <p align="left">第三步：在创建栅格数据集对话框中，输入数据集的名称landuse，其它选项采用缺省值。确认（如图2所示）：</p>
            <p align="center"><a href="http://www.esrichina-bj.cn/library/image/Personal2.gif" target="_blank"><img height="185" src="http://www.esrichina-bj.cn/library/image/Personal21.gif" width="200" border="0"  alt="" /></a><br />
            <em>图2 栅格数据集的参数</em></p>
            <p align="left">第四步：右健点击landuse数据集，选择Load—〉Load Data（如图3所示）： </p>
            <p align="center"><a href="http://www.esrichina-bj.cn/library/image/Personal3.gif" target="_blank"><img height="165" src="http://www.esrichina-bj.cn/library/image/Personal31.gif" width="200" border="0"  alt="" /></a><br />
            <em>图3 向空的栅格数据集中加载数据</em></p>
            <p align="left">第五步：在弹出的mosaic对话框中，选择要加载到数据集中的栅格数据将练习数据...\ArcTutor\Spatial\landuse，确认即可。这样一个栅格数据集就创建完成了（如图4所示）：</p>
            <p align="center"><a href="http://www.esrichina-bj.cn/library/image/Personal4.gif" target="_blank"><img height="191" src="http://www.esrichina-bj.cn/library/image/Personal41.gif" width="200" border="0"  alt="" /></a> <br />
            图4 选择要加载的栅格数据（一幅或多幅都可）</p>
            <p align="left">下面我们看到的就是在ArcCatalog中栅格数据集的预览效果（如图5所示）： </p>
            <p align="center"><a href="http://www.esrichina-bj.cn/library/image/Personal5.gif" target="_blank"><img height="195" src="http://www.esrichina-bj.cn/library/image/Personal51.gif" width="200" border="0"  alt="" /></a><br />
            图5 栅格数据集的预览效果</p>
            <p class="style67" align="left">结论 </p>
            <p align="left">通过在Personal Geodatabase中管理栅格数据，所有的数据—矢量和栅格—都可以集中在一起进行浏览。有很多工具可以用来在Personal Geodatabase中管理栅格数据。</p>
            <p align="left">与栅格目录表和栅格数据集相关的数据存储结构及各自的特性，在本文最后的附图和附表中有说明。</p>
            <p align="center"><strong>Personal Geodatabase中栅格的不同存储形式在数据组织上的对比 </strong></p>
            <table cellspacing="0" cellpadding="0" width="510" border="0">
                <tbody>
                    <tr class="hi">
                        <td width="210"><img height="284" src="http://www.esrichina-bj.cn/library/image/Personal61.gif" width="200"  alt="" /></td>
                        <td width="300"><img height="284" src="http://www.esrichina-bj.cn/library/image/Personal71.gif" width="286"  alt="" /></td>
                    </tr>
                    <tr class="hi">
                        <td valign="top">
                        <p align="center"><strong>不被Geodatabase管理的栅格数据（附图1）</strong></p>
                        <ul>
                            <li>只由栅格目录表和作为要素类的属性的栅格可以不被管理。
                            <li>基于文件的IMG格式的栅格数据通过RASTER字段进行引用。
                            <li>路径名用来定位栅格文件。
                            <li>数据不被复制或转化
                            <li>栅格数据被用户管理，而不是Geodatabase.
                            <li>不被管理的目录表在加载时速度更快一些，因为不用复制栅格数据。 </li>
                        </ul>
                        </td>
                        <td valign="top">
                        <p align="center"><strong>被Geodatabase管理的栅格数据<br />
                        （附图2）</strong></p>
                        <ul>
                            <li>所有的栅格数据集都是被管理的。
                            <li>栅格目录表可以被管理。
                            <li>作为要素类属性的栅格数据可以被管理。
                            <li>栅格数据会被复制到和Personal Geodatabase同名的文件夹中进行存储。
                            <li>栅格数据会被转换成IMG格式的文件。
                            <li>基于文件的IMG格式的栅格数据通过RASTER字段进行引用。
                            <li>数据被Geodatabase管理而不是用户。
                            <li>对于大于2GB的栅格数据，IMG文件会作为头信息创建，而用IGE文件来存储真正的影像。在某些情况下，金字塔文件(RRD)也会超过2GB，这时会创建RDE文件来存储这些信息。 </li>
                        </ul>
                        </td>
                    </tr>
                </tbody>
            </table>
            <p>想进一步了解本文中的相关内容，请关注ESRI中国（北京）培训中心课程《GeoDatabase应用教程》，详细信息请登陆培训中心网站：<a href="http://training.esrichina-bj.cn/" target="_blank">http://training.esrichina-bj.cn/</a>。</p>
            <p>参考文献：<br />
            1、ArcUser Online，Chris Wayne，Managing Rasters in a Personal Geodatabase，July - September 2005 </p>
            </td>
        </tr>
    </tbody>
</table>
<br />
原文地址:<font face="Verdana">http://www.esrichina-bj.cn/library/arcnew19/personal.htm</font>
<img src ="http://www.cnblogs.com/gispeng/aggbug/1235430.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41312/" target="_blank">[新闻]2008年7月26日IT博客精选</a>]]></description></item><item><title>【GIS】坐标系统详解</title><link>http://www.cnblogs.com/gispeng/archive/2008/06/04/1213347.html</link><dc:creator>GIS云中飞鹏</dc:creator><author>GIS云中飞鹏</author><pubDate>Wed, 04 Jun 2008 03:21:00 GMT</pubDate><guid>http://www.cnblogs.com/gispeng/archive/2008/06/04/1213347.html</guid><wfw:comment>http://www.cnblogs.com/gispeng/comments/1213347.html</wfw:comment><comments>http://www.cnblogs.com/gispeng/archive/2008/06/04/1213347.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnblogs.com/gispeng/comments/commentRss/1213347.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/gispeng/services/trackbacks/1213347.html</trackback:ping><description><![CDATA[摘要: 【GIS】坐标系统详解坐标系统是GIS图形显示、数据组织分析的基础，所以建立完善的坐标投影系统对于GIS应用来说是非常重要的，不过由于搞清楚那么多的投影类型、坐标系统是一件很麻烦的事情。上大学那会儿没有好好学地图学（好好学了估计也不会考虑那么多，嘿嘿。），所以现在不得不补补了~~（PS：下周就能回家了，昨天刚买好了火车票，正高兴着呢。。都差不多一年没回家了。。好了，言归正传，下面整理了些东西，搞搞&nbsp;&nbsp;<a href='http://www.cnblogs.com/gispeng/archive/2008/06/04/1213347.html'>阅读全文</a><img src ="http://www.cnblogs.com/gispeng/aggbug/1213347.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41311/" target="_blank">[新闻]微软每年向Apache捐10万美元支持开源软件</a>]]></description></item><item><title>ArcGIS Engine 组件库：查询系统</title><link>http://www.cnblogs.com/gispeng/archive/2008/05/28/1208882.html</link><dc:creator>GIS云中飞鹏</dc:creator><author>GIS云中飞鹏</author><pubDate>Wed, 28 May 2008 01:40:00 GMT</pubDate><guid>http://www.cnblogs.com/gispeng/archive/2008/05/28/1208882.html</guid><wfw:comment>http://www.cnblogs.com/gispeng/comments/1208882.html</wfw:comment><comments>http://www.cnblogs.com/gispeng/archive/2008/05/28/1208882.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/gispeng/comments/commentRss/1208882.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/gispeng/services/trackbacks/1208882.html</trackback:ping><description><![CDATA[<font face="Verdana">ArcGIS Engine 组件库：查询系统<br />
</font><br />
<img alt="" src="http://www.cnblogs.com/images/cnblogs_com/gispeng/arcgis.jpg" border="0" /><br />
<br />
<strong style="font-size: 24pt; color: #ff0000">附件下载：<br />
</strong><br />
<a title="ArcEngine-Com组件库" href="/Files/gispeng/ArcGISCom.rar">ArcEngine-Com组件库</a><br />
<img src ="http://www.cnblogs.com/gispeng/aggbug/1208882.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41310/" target="_blank">[新闻]AOL将关闭3个网站以降低成本 集中发力广告</a>]]></description></item><item><title>Understanding Cursors in ArcObjects(理解ArcObject中的游标Cursor)：：中英文对照！</title><link>http://www.cnblogs.com/gispeng/archive/2008/05/28/1208863.html</link><dc:creator>GIS云中飞鹏</dc:creator><author>GIS云中飞鹏</author><pubDate>Wed, 28 May 2008 01:14:00 GMT</pubDate><guid>http://www.cnblogs.com/gispeng/archive/2008/05/28/1208863.html</guid><wfw:comment>http://www.cnblogs.com/gispeng/comments/1208863.html</wfw:comment><comments>http://www.cnblogs.com/gispeng/archive/2008/05/28/1208863.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/gispeng/comments/commentRss/1208863.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/gispeng/services/trackbacks/1208863.html</trackback:ping><description><![CDATA[<img alt="" src="http://www.cnblogs.com/images/cnblogs_com/gispeng/cursor1.jpg" border="0" /><br />
<img alt="" src="http://www.cnblogs.com/images/cnblogs_com/gispeng/cursor2.jpg" border="0" /><br />
<br />
<img alt="" src="http://www.cnblogs.com/images/cnblogs_com/gispeng/cursor3.jpg" border="0" /><br />
<br />
<br />
<strong style="font-size: 24pt; color: #ff0000; font-family: 楷体_GB2312">英文附件下载：<a title="ArcObject中的游标Cursor" href="http://www.cnblogs.com/Files/gispeng/cursors.pdf">ArcObject中的游标Cursor</a><br />
<br />
<br />
<br />
<br />
中文翻译：<br />
<br />
<p><span style="font-size: 10pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff">&nbsp;&nbsp;<span style="font-size: 18pt">&nbsp;ArcObject中的游标Cursor</span></span></span></p>
<p><br />
<span style="font-size: 10pt"><span style="font-size: 18pt"><span style="font-size: 14pt"><span style="font-size: 14pt; color: #000000">&nbsp;&nbsp;&nbsp; <span style="font-size: 18pt">此文是ArcUser 2006 7－9月一期中的一篇文章，介绍了<br />
Arcobjects中的Cursor对象，给大家介绍了洋人是如何认识Cursor<br />
的。文章内容浅显，易于理解。</span></span></span></span></span></p>
<p><span style="font-size: 10pt"><span style="font-size: 18pt"><span style="font-size: 14pt"><span style="color: #000000"><span style="font-size: 18pt"><span style="font-size: 14pt">作者：Eric Pimpler, President, GeoSpatial Training &amp; Consulting, LLC<br />
翻译：浩淼</span></span></span></span></span></span></p>
<p style="font-size: 14pt"><span style="font-size: 10pt"><span style="font-size: 18pt"><span style="font-size: 14pt"><span style="color: #000000"><span style="font-size: 18pt"><span style="font-size: 14pt">当你听到cursor这个术语的时候，你的脑海中会出现什么？它是在屏幕上显示何处将开始下一个输入活动的符号吗（就是屏幕上的鼠标）？在AO中，cursor代表了一个对要素类或表通过使用属性或空间查询而获得的记录子集。这个子集保存在内存中而不是可视化显示出来。不要将它与选择集（selection set）弄混淆。选择集对象是在ArcMap中用于显示当前被选择的要素或行记录，而cursor缺不是为了显示的目的而使用的。</span></span></span></span></span></span></p>
<p><span style="font-size: 10pt"><span style="font-size: 18pt"><span style="font-size: 14pt"><span style="color: #000000"><span style="font-size: 18pt"><span style="font-size: 14pt">例如，一个查询cursor可以被用于编程产生一个租金表，这个表包含了所有在100中受过涝灾且其财产价值超过了10万美元的平原。AO提供了从地理数据集（要素类）和普通数据表中获取cursor的能力。这些cursor对象允许在一个单个对象中管理记录集。本文将介绍这些AO对象，方法和属性，它们都用于操作cursor对象。</span></span></span></span></span></span></p>
<p><span style="font-size: 10pt"><span style="font-size: 18pt"><span style="font-size: 14pt"><span style="color: #000000"><span style="font-size: 18pt"><span style="font-size: 14pt">Cursor VS FeatureCursor<br />
AO使用何种cursor来管理记录子集取决于数据源的不同。cursor和featurecursor是非常相似的对象，除了cursor是用于操作表，而后者用于操作要素类。换而言之，cursor是一种为了特定目的——操作存储在传统数据库表中的记录子集——而建立的类结构，而featurecursor的记录子集则是存储在shapefile文件、个人geodatabase或企业级geodatabase中。</span></span></span></span></span></span></p>
<p><span style="font-size: 10pt"><span style="font-size: 18pt"><span style="font-size: 14pt"><span style="color: #000000"><span style="font-size: 18pt"><span style="font-size: 14pt">Cursors类型<br />
在Cursor和FeatureCursor类群中有三种类型的cursor。最常用的是Search Cursor，它被用于查询操作以返回一个满足查询条件的记录子集。Search Cursor是一种只读的cursor，你可以用它遍历获取的信息。</span></span></span></span></span></span></p>
<p><span style="font-size: 10pt"><span style="font-size: 18pt"><span style="font-size: 14pt"><span style="color: #000000"><span style="font-size: 18pt"><span style="font-size: 14pt">你不能使用这种游标来插入、更新或删除表中的记录。Insert Cursor是专门用于往一个表中插入一条新记录，而Update Cursor则是用于更新或删除记录，这两个cursor返回的记录可以通过一个属性或空间查询来限定。</span></span></span></span></span></span></p>
<p><span style="font-size: 10pt"><span style="font-size: 18pt"><span style="font-size: 14pt"><span style="color: #000000"><span style="font-size: 18pt"><span style="font-size: 14pt">为了你进行的操作产生恰当类型的cursor是非常重要的。例如，不要产生一个search cursor，如果你试图更新一个表中的记录。正如前面提到的，search cursor是一种让你不能更新数据的只读结构。在本文中，我们将揭示每一种cursor的细节。</span></span></span></span></span></span></p>
<p><span style="font-size: 10pt"><span style="font-size: 18pt"><span style="font-size: 14pt"><span style="color: #000000"><span style="font-size: 18pt"><span style="font-size: 14pt">Cursor Class</span></span></span></span></span></span></p>
<p><span style="font-size: 10pt"><span style="font-size: 18pt"><span style="font-size: 14pt"><span style="color: #000000"><span style="font-size: 18pt"><span style="font-size: 14pt">正如前面提到的，cursor类是用于产生一个与数据库表进行交互交互的对象。在AO中，cursor类是一个非实例化对象，它意味着你必须使用另一个对象来获得一个cursor类的实例。既然如此，在AO中，表类被用于产生一个cursor类的实例，表类包含了三种方法能够产生一个cursor类的实例，而返回的cursor类型取决于程序员调用的方法。Fig1显示了AO中的Table Class的OMD。ITable接口拥有三种方法能够返回特定类型的cursor。ITable接口的Search、Insert和Update方法能够用于返回cursor实例。这些方法的名字与返回的cursor类型相对应。</span></span></span></span></span></span></p>
<p><span style="font-size: 10pt"><span style="font-size: 18pt"><span style="font-size: 14pt"><span style="color: #000000"><span style="font-size: 18pt"><span style="font-size: 14pt">在这些方法其中一个被调用以后，AO返回一个ICursor的实例。Fig2显示了一个Cursor类的OMD，Search、Insert和Update都可以返回一个ICursor的实例。ICursor有一个属性Fields和许多能够操作记录子集的方法，但这些方法是否可用取决于你使用的cursor类型。例如，如果你产生了一个search cursor，当你调用InsertRow和UpdateRow方法聚会返回一个错误。</span></span></span></span></span></span></p>
<p><span style="font-size: 10pt"><span style="font-size: 18pt"><span style="font-size: 14pt"><span style="color: #000000"><span style="font-size: 18pt"><span style="font-size: 14pt">FeatureCursor Class</span></span></span></span></span></span></p>
<p><span style="font-size: 10pt"><span style="font-size: 18pt"><span style="font-size: 14pt"><span style="color: #000000"><span style="font-size: 18pt"><span style="font-size: 14pt">FeatureCursor类与Cursor类非常相似，其区别在于前者是操作地理数据集而后者是操作传统数据库表。shapefile和geodatabase的地理数据集在AO中表现为一个AO 要素类的形式。与cursor类相似，FeatureCursor类也是一个通过FeatureClass对象的方法产生的非实例化对象。与ITable接口类似，IFeatureClass接口也包含了Search、Insert和Update方法用于返回一个IFeatureCursor实例。</span></span></span></span></span></span></p>
<p><span style="font-size: 10pt"><span style="font-size: 18pt"><span style="font-size: 14pt"><span style="color: #000000"><span style="font-size: 18pt"><span style="font-size: 14pt">在其中一个方法被调用后，一个IFeatureCursor的实例将会被返回，IFeatureCursor可以的属性和方法尽管与ICursor的在名字上稍微不同，但其功能却是差别很大，例如，InsertFeature VS InsertRow。</span></span></span></span></span></span></p>
<p><span style="font-size: 10pt"><span style="font-size: 18pt"><span style="font-size: 14pt"><span style="color: #000000"><span style="font-size: 18pt"><span style="font-size: 14pt">使用属性和空间约束条件</span></span></span></span></span></span></p>
<p><span style="font-size: 10pt"><span style="font-size: 18pt"><span style="font-size: 14pt"><span style="color: #000000"><span style="font-size: 18pt"><span style="font-size: 14pt">看看FeatureClass和Table的OMD图，查找Search、Insert和Update方法。注意每一个方法都可以用于返回一个cursor，cursor包含了一个参数，这个参数是IQueryFilter的实例。注意IQueryFilter参数，IQueryFilter是一个可以在内存中产生用于限制记录子集的对象。</span></span></span></span></span></span></p>
<p><span style="font-size: 10pt"><span style="font-size: 18pt"><span style="font-size: 14pt"><span style="color: #000000"><span style="font-size: 18pt"><span style="font-size: 14pt">例如，如果正在查询一个parcel数据库，你可能需要限制返回的parcels结果，让它们的值都大于10万美元。你可以使用IQueryFilter接口来约束。除此以外，如果你使用一个FeatureClass对象，还可以使用ISpatialFilter接口来产生SpatialFilter。这样你可以返回所有在洪水区的parcel（使用空间查询），且其价值高于10万美元（使用属性查询）。记住空间查询只能用于要素类上，如果在一个数据库表上使用空间查询则会返回错误，因为没有地理对象可以用过滤器过虑。让我们看看QueryFilter和SpatialFilter类的细节。</span></span></span></span></span></span></p>
<p><span style="font-size: 10pt"><span style="font-size: 18pt"><span style="font-size: 14pt"><span style="color: #000000"><span style="font-size: 18pt"><span style="font-size: 14pt">QueryFilter</span></span></span></span></span></span></p>
<p><span style="font-size: 10pt"><span style="font-size: 18pt"><span style="font-size: 14pt"><span style="color: #000000"><span style="font-size: 18pt"><span style="font-size: 14pt">在从一个数据集产生一个cursor或featurecursor之前，你能定义一个QueryFilter来设置约束限制返回记录的条数。QueryFilter是一个可产生的类（组件类），你可以在VBA中使用NEW关键字来产生一个此类的实例对象。你将能够使用IQueryFilter接口来处理QueryFilter类来定义一个属性约束。WhereClause属性则用于限制这个查询，下列代码就是一个例子：<br />
Dim pQueryFilter as IQueryFilter<br />
Set pQueryFilter=New QueryFilter<br />
pQueryFilter.WhereClause="Prop_Val&gt;=100000"</span></span></span></span></span></span></p>
<p><span style="font-size: 10pt"><span style="font-size: 18pt"><span style="font-size: 14pt"><span style="color: #000000"><span style="font-size: 18pt"><span style="font-size: 14pt">SpatialFilter</span></span></span></span></span></span></p>
<p><span style="font-size: 10pt"><span style="font-size: 18pt"><span style="font-size: 14pt"><span style="color: #000000"><span style="font-size: 18pt"><span style="font-size: 14pt">SpatialFilter可以用于产生一个基于空间约束的记录子集。它能够使用在FeatureClass上，但不能用于Table。SpatialFilter是一个组件类，也可以使用New关键字来产生一个类的实例。SpatialFilter使用Geometry属性和SpatialRel属性来设置查询约束条件。Geometry属性用于设置一个特定的地理要素，而SpatialRel则用于预设其空间关系，如相交、叠加或相邻。</span></span></span></span></span></span></p>
<p><span style="font-size: 10pt"><span style="font-size: 18pt"><span style="font-size: 14pt"><span style="color: #000000"><span style="font-size: 18pt"><span style="font-size: 14pt">由于SpatialFilter是一种QueryFilter，它也可以访问其所有的属性和方法。因此，你能够使用IQueryFilter的WhereClause属性来绑定空间和属性限制。下面是一个联合使用的例子：<br />
Dim pSpatialFilter As ISpatialFilter<br />
Set pSpatialFilter = New SpatialFilter<br />
Set pSpatialFilter.Geometry = pFloodPolygon<br />
pSpatialFilter.SpatialRel = esriSpatialRelContains<br />
pSpatialFilter.WhereClause = &#8220;prop_val &gt; 100000&#8221;<br />
Set pFCursor = pCustomerLayer.Search(pSpatialFilter,True)</span></span></span></span></span></span></p>
<p><span style="font-size: 10pt"><span style="font-size: 18pt"><span style="font-size: 14pt"><span style="color: #000000"><span style="font-size: 18pt"><span style="font-size: 14pt">使用Cursor来访问记录</span></span></span></span></span></span></p>
<p><span style="font-size: 10pt"><span style="font-size: 18pt"><span style="font-size: 14pt"><span style="color: #000000"><span style="font-size: 18pt"><span style="font-size: 14pt">现在你已经对产生cursor的一般机制有了很好的了解，让我们来看看如何使用一个cursor来访问返回的记录。记住，cursor是仅仅存在内存中的来自一个表或要素类的记录集合。</span></span></span></span></span></span></p>
<p><span style="font-size: 10pt"><span style="font-size: 18pt"><span style="font-size: 14pt"><span style="color: #000000"><span style="font-size: 18pt"><span style="font-size: 14pt">当一个cursor第一次产生后，一个关联指针也产生了。你使用一次可以使用一个cursor来访问一行记录。这个指针可以帮助你追踪目前是哪一条行记录在被访问。使用初始化，指针实际上可以指向第一条记录。为了通过cursor获得第一条记录，你必须调用NextRow或NextFeature方法。这两个方法指向了cursor的下一条记录。但当它第一次调用的时候，实际指向第一条记录。之后每一次调用这些方法都是指向下一条记录。</span></span></span></span></span></span></p>
<p><span style="font-size: 10pt"><span style="font-size: 18pt"><span style="font-size: 14pt"><span style="color: #000000"><span style="font-size: 18pt"><span style="font-size: 14pt">通过某些方法你还可以到达游标中可以记录的末尾位置，如使用NewRow或NewFeature将返回Nothing对象，指示目前已经在cursor的末尾。在AO中的cursor是一个单向移动的对象，它不允许你返回之前的位置。一旦你访问过了一条记录，你就不能再返回去了。</span></span></span></span></span></span></p>
<p><span style="font-size: 10pt"><span style="font-size: 18pt"><span style="font-size: 14pt"><span style="color: #000000">结论</span></span></span></span></p>
<p><span style="font-size: 10pt"><span style="font-size: 14pt; color: #000000">AO cursor结构提供了程序员查询、插入、更新和删除要素类和表中记录的能力。这些易于产生和适用性强的cursor结构诗存在内存中的记录集合，他们能够使用QueryFilter或SpatialFilter来设置约束条件。一旦成生后，这些cursor结构就能够提供一个易于访问、只能向前移的结构来访问单个记录的内容。</span></span></p>
</strong>
<img src ="http://www.cnblogs.com/gispeng/aggbug/1208863.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41310/" target="_blank">[新闻]AOL将关闭3个网站以降低成本 集中发力广告</a>]]></description></item><item><title> GIS.DeveloperUnion小组成立，欢迎GIS爱好者加入讨论！</title><link>http://www.cnblogs.com/gispeng/archive/2008/05/28/1208828.html</link><dc:creator>GIS云中飞鹏</dc:creator><author>GIS云中飞鹏</author><pubDate>Wed, 28 May 2008 00:15:00 GMT</pubDate><guid>http://www.cnblogs.com/gispeng/archive/2008/05/28/1208828.html</guid><wfw:comment>http://www.cnblogs.com/gispeng/comments/1208828.html</wfw:comment><comments>http://www.cnblogs.com/gispeng/archive/2008/05/28/1208828.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/gispeng/comments/commentRss/1208828.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/gispeng/services/trackbacks/1208828.html</trackback:ping><description><![CDATA[<span style="font-family: Times New Roman">与<strong style="color: #0000ff">GIS.DeveloperUnion</strong><span style="color: #800000">(开发者联盟)</span> <strong style="color: #ff0000">团队博客<a href="http://gisunion.cnblogs.com/">http://gisunion.cnblogs.com/</a></strong>对应<br />
的&nbsp;<strong><span style="color: #0000ff">GIS.DeveloperUnion</span><span style="color: #ff0000">开发小组</span></strong><a href="http://space.cnblogs.com/group/GISUnion/">http://space.cnblogs.com/group/GISUnion/</a>成立！<br />
以后大家有了一个固定的讨论区！！！<br />
<strong style="color: #ff00ff">欢迎大家加入！<br />
<br />
</strong></span>
<img src ="http://www.cnblogs.com/gispeng/aggbug/1208828.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41310/" target="_blank">[新闻]AOL将关闭3个网站以降低成本 集中发力广告</a>]]></description></item><item><title>在ArcEngine中创建内存图层[转]</title><link>http://www.cnblogs.com/gispeng/archive/2008/05/27/1208249.html</link><dc:creator>GIS云中飞鹏</dc:creator><author>GIS云中飞鹏</author><pubDate>Tue, 27 May 2008 03:27:00 GMT</pubDate><guid>http://www.cnblogs.com/gispeng/archive/2008/05/27/1208249.html</guid><wfw:comment>http://www.cnblogs.com/gispeng/comments/1208249.html</wfw:comment><comments>http://www.cnblogs.com/gispeng/archive/2008/05/27/1208249.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/gispeng/comments/commentRss/1208249.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/gispeng/services/trackbacks/1208249.html</trackback:ping><description><![CDATA[<p><font face="Verdana">在ArcEngine中创建内存图层[转]</font></p>
<p><font face="Verdana">2008-04-29 10:43&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font></p>
<p><font face="Verdana">arcEngine9.2中新增了一个新的特征，允许创建内存工作空间。当你需要一个这样的图层时,这个图层的属性数据或者几何数据需要频繁的更新，而又不希望因此而带来效率上的问题，你就可以考虑使用内存图层。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 内存图层的创建分为五步：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1、设置属性字段<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2、设置空间参考和几何字段<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3、创建内存工作空间<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4、在内存工作空间中创建特征类<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5、创建特征图层，并将上一步创建的特征类设置为这个特征的图层的特征类</font></p>
<p><font face="Verdana">请看以下完整的示例代码</font></p>
<p><font face="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /// &lt;summary&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /// 在内存中创建图层<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /// &lt;/summary&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /// &lt;param name="DataSetName"&gt;数据集名称&lt;/param&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /// &lt;param name="AliaseName"&gt;别名&lt;/param&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /// &lt;param name="SpatialRef"&gt;空间参考&lt;/param&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /// &lt;param name="GeometryType"&gt;几何类型&lt;/param&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /// &lt;param name="PropertyFields"&gt;属性字段集合&lt;/param&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /// &lt;returns&gt;IfeatureLayer&lt;/returns&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public static IFeatureLayer CreateFeatureLayerInmemeory(string DataSetName, string AliaseName, ISpatialReference SpatialRef, esriGeometryType GeometryType, IFields PropertyFields)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IWorkspaceFactory workspaceFactory = new InMemoryWorkspaceFactoryClass();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ESRI.ArcGIS.Geodatabase.IWorkspaceName workspaceName = workspaceFactory.Create("", "MyWorkspace", null, 0);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ESRI.ArcGIS.esriSystem.IName name = (IName)workspaceName;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ESRI.ArcGIS.Geodatabase.IWorkspace inmemWor = (IWorkspace)name.Open();</font></p>
<p><font face="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IField oField = new FieldClass();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IFields oFields = new FieldsClass();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IFieldsEdit oFieldsEdit = null;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IFieldEdit oFieldEdit = null;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IFeatureClass oFeatureClass = null;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IFeatureLayer oFeatureLayer = null;</font></p>
<p><font face="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oFieldsEdit = oFields as IFieldsEdit;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oFieldEdit = oField as IFieldEdit;</font></p>
<p><font face="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (int i = 0; i &lt; PropertyFields.FieldCount; i++)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oFieldsEdit.AddField(PropertyFields.get_Field(i));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</font></p>
<p><font face="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IGeometryDef geometryDef = new GeometryDefClass();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IGeometryDefEdit geometryDefEdit = (IGeometryDefEdit)geometryDef;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; geometryDefEdit.AvgNumPoints_2 = 5;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; geometryDefEdit.GeometryType_2 = GeometryType;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; geometryDefEdit.GridCount_2 = 1;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; geometryDefEdit.HasM_2 = false;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; geometryDefEdit.HasZ_2 = false;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; geometryDefEdit.SpatialReference_2 = SpatialRef;</font></p>
<p><font face="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oFieldEdit.Name_2 = "SHAPE";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oFieldEdit.Type_2 = esriFieldType.esriFieldTypeGeometry;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oFieldEdit.GeometryDef_2 = geometryDef;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oFieldEdit.IsNullable_2 = true;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oFieldEdit.Required_2 = true;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oFieldsEdit.AddField(oField);</font></p>
<p><font face="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oFeatureClass = (inmemWor as IFeatureWorkspace).CreateFeatureClass(DataSetName, oFields, null, null, esriFeatureType.esriFTSimple, "SHAPE", "");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (oFeatureClass as IDataset).BrowseName = DataSetName;</font></p>
<p><font face="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oFeatureLayer = new FeatureLayerClass();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oFeatureLayer.Name = AliaseName;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oFeatureLayer.FeatureClass = oFeatureClass;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; catch<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; finally<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.Runtime.InteropServices.Marshal.ReleaseComObject(oField);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.Runtime.InteropServices.Marshal.ReleaseComObject(oFields);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.Runtime.InteropServices.Marshal.ReleaseComObject(oFieldsEdit);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.Runtime.InteropServices.Marshal.ReleaseComObject(oFieldEdit);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.Runtime.InteropServices.Marshal.ReleaseComObject(name);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.Runtime.InteropServices.Marshal.ReleaseComObject(workspaceFactory);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.Runtime.InteropServices.Marshal.ReleaseComObject(workspaceName);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.Runtime.InteropServices.Marshal.ReleaseComObject(inmemWor);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.Runtime.InteropServices.Marshal.ReleaseComObject(oFeatureClass);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; catch { }</font></p>
<p><font face="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GC.Collect();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return oFeatureLayer;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</font></p>
<p><font face="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 返回来的这个特征图层就是我们所需要的结果，操作这个内存图层方式和操作物理图层方式完全一样。接下要做的事情就不必我说了吧。<br />
&nbsp;<br />
</font></p>
<img src ="http://www.cnblogs.com/gispeng/aggbug/1208249.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41309/" target="_blank">[新闻]谷歌网页索引数量突破1万亿个</a>]]></description></item><item><title>Customizing the HTML Viewer（最经典定制教程）下载：</title><link>http://www.cnblogs.com/gispeng/archive/2008/05/26/1207716.html</link><dc:creator>GIS云中飞鹏</dc:creator><author>GIS云中飞鹏</author><pubDate>Mon, 26 May 2008 07:36:00 GMT</pubDate><guid>http://www.cnblogs.com/gispeng/archive/2008/05/26/1207716.html</guid><wfw:comment>http://www.cnblogs.com/gispeng/comments/1207716.html</wfw:comment><comments>http://www.cnblogs.com/gispeng/archive/2008/05/26/1207716.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/gispeng/comments/commentRss/1207716.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/gispeng/services/trackbacks/1207716.html</trackback:ping><description><![CDATA[<a title="Customizing the HTML Viewer（最经典定制教程）下载：" href="http://www.cnblogs.com/Files/gispeng/Customizing%20the%20HTML%20Viewer.pdf">Customizing the HTML Viewer（最经典定制教程）下载：</a>
<img src ="http://www.cnblogs.com/gispeng/aggbug/1207716.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41308/" target="_blank">[新闻]预装 Ubuntu 8.04 的 Dell 笔记本发售</a>]]></description></item></channel></rss>