当ArcGIS10.2遇到Teradata
随着计算机技术的不断发展,GIS技术也紧跟IT技术的热潮,从三维技术、到移动技术,从大数据技术到云计算技术,只要IT有的新技术,Esri都会一直紧跟最新的技术潮流。 那么Teradata作为数据仓库的主要实践者,被广大用户所应用而且有很好的口碑。 Teradata数据
随着计算机技术的不断发展,GIS技术也紧跟IT技术的热潮,从三维技术、到移动技术,从大数据技术到云计算技术,只要IT有的新技术,Esri都会一直紧跟最新的技术潮流。
那么Teradata作为数据仓库的主要实践者,被广大用户所应用而且有很好的口碑。
Teradata数据仓库介绍
Teradata数据仓库拥有全球领先的技术,其主要软件和硬件产品包括:Teradata数据库、Teradata数据仓库软件、企业数据仓库、动态企业数据仓库、数据仓库专用平台。
Teradata数据仓库配备性能最高、最可靠的大规模并行处理 (MPP) 平台,能够高速处理海量数据。它使得企业可以专注于业务,无需花费大量精力管理技术,因而可以更加快速地做出明智的决策,实现 ROI 最大化。Teradata在整体上是按Shared Nothing 架构体系进行组织的,他的定位就是大型数据仓库系统,定位比较高,他的软硬件都是NCR自己的,其他的都不识别;所以一般的企业用不起,价格很贵。由于Teradata通常被用于OLAP应用,因此单机的Teradata系统很少见,即使是单机系统,Teradata也建议使用SMP结构以尽可能地提供更好的数据库性能.
典型案例:上海证券交易所的数据仓库就是teradata,每秒的io能达到2G,有1000多块磁盘,硬件昂贵。全表扫描一个几千万条的记录在几秒就完成了
Teradata对空间数据的支持
Teradata 在 Release 13.0 的版本中增加了空间扩展包,为TD数据库提供了管理和操作空间数据的能力[1]。
从总体上看,Teradata GeoSpatial 扩展包括
1)一系列的空间数据类型:Point, Line, Polygon等空间数据类型;
2)数据类型使用UDT加以实现,存储在 Teradata 的 SYSUDLIB 中;
3)数据类型操作函数使用了开源空间库 Geos, Proj, GDdal/Ogr;
4)SYSSPATIAL 存储所有的元数据表和空间函数;
5)TDGEOINPORT 工具支持从常见空间数据格式数据(Shape, TAB…)到 TD 数据库的数据加载。
此外,目前的 TD 空间数据支持部分的 GIS 数据可视化工具的直接可视化操作。
1)数据加载:空间数据可以使用现有TD的ETL加载工具(如 MultiLoad)进行加载,其支持WKB和WKT格式的空间数据。除此之外,TD还可以通过TDGEOIMPORT加载常见空间数据格式的文件,比如ESRI的Shape文件。
2)函数:用户SYSSPATIAL包含了一系列的函数集,存储过程和数据表,用于空间数据的处理。
3)数据类型:数据库SYSUDTLIB包含了所有的空间数据类型的定义。数据类型定义包含了空间数据类型的结构以及可以对其进行操作的运算函数。
4)查询语言:用户可以使用SQL以及Teradata客户端API和查询工具,通过标准的SQL接口访问空间数据类型。
2. 数据类型与操作
数据类型方面,Teradata Spatial 兼容 SQL/MM 标准。
SQL/MM Geometry Hierarchy
3. 空间元数据
SYSSPATIAL 数据库实际存在两种类型的空间元数据。SYSSPATIAL.GEOMETRY_COLUMNS 表存储了所有包含空间列的数 据表的信息。该表使用 AddGeometryColumn 和 DropGeometryColumn 存储过程进行维护。 SYSSPATIAL.SPATIAL_REF_SYS 存储空间参考相关的信息。该表在安装时进行初始化,存储在该表中的SRS信息将会被 ST_TRANSFORM 使用。
4. 数据构造与上载
空间数据可以使用任何数据上载工具或者客户端 API 加载到数据库中。空间数据构造时支持WKB和WKT形式的构造方法。TDGEOIMPORT 是一个 windows 的客户端工具,其可以将空间数据格式转换为Teradata加载工具兼容的格式。
5. 空间索引
支持 Tessellate Index,本质上是多级网格索引,需要用户输入和调整网格划分的参数,不支持R-tree Index。
1.5 版本的 Teradata GeoSpatial Release的空间扩展从功能和实现的角度相对于PostGIS和Oracle Spatial之类的空间扩展来说,从功能上还相对有限。内核中的针对空间数据优化器路径选择的改进,MPP环境下空间连接的处理,空间算子的执行等内容还没有在该版本中涉及,也希望今后的TD Spatial Release版本能有更多的改进与增强。在使用上,SYSSPATIAL数据库实际存在两种类型的空间元数据。SYSSPATIAL.GEOMETRY_COLUMNS表存储了所有包含空间列的数据表的信息。该表使用AddGeometryColumn和DropGeometryColumn存储过程进行维护。SYSSPATIAL.SPATIAL_REF_SYS存储空间参考相关的信息。该表在安装时进行初始化,存储在该表中的SRS信息将会被ST_TRANSFORM使用。
==================================================================================================
TeraData与ArcGIS10.2
关于数据仓库,最主要的三个产品包括Oracle的exdata,IBM的netezza,以及teradata,前两者都是以一体机的形式展现给客户,也就是硬件软件一块给用户,而后者根据我查看到的资料还有自己的实践好像可以不需要绑定硬件(因为我在官网下载了相关的虚拟机,这个只是猜测),而且ArcGIS从10版本就支持了IBM的netezza,那么本文主要是来看看Esri的ArcGIS是怎么与Teradata进行结合的。
首先了解一下,ArcGIS10.2对teradata的系统需求:http://resources.arcgis.com/en/help/system-requirements/10.2/index.html#//015100000090000000
从系统需求我们可以看到,ArcGIS10.2只支持Teradata14.0以上的版本,而且和其他数据库产品一样包括NoSQL、SQLite等只支持原生的存储以及ST_geometry存储,暂不支持Geodatabase,而且也不支持要素服务。
系统环境
- ArcGIS10.2
- Teradata服务器端
- Teradata ICU library
- Teradata GSS client package
- Teradata ODBC driver
关于Teradata的相关下载地址:
- Teradata服务器:http://downloads.teradata.com/download/database/teradata-express/vmware
- For Windows, see http://downloads.teradata.com/download/connectivity/odbc-driver/windows
- For Linux, see http://downloads.teradata.com/download/connectivity/odbc-driver/linux
说明:
关于ICU、GSS、ODBC,需要根据客户端的位数来进行相关下载,如果使用ArcGIS for Desktop10.2(32Bit)应该下载32Bit的程序包,如果使用ArcGIS for Server 10.2(64Bit )应该下载64Bit的程序包。
Teradata服务器可以下载VM虚拟机(Suse操作系统,Teradata已经安装好了,默认用户root/root),关于更多详细可以参考如下文档:
环境配置
因为我的测试环境是Windows+ArcGIS for Desktop10.2+Teradata,所以我下载的是Windows的Teradata包
下载完毕后,的安装顺序:
1:在ArcGIS客户端机器安装 Teradata ICU library 和 GSS client
2:然后安装 Teradata ODBC driver
配置ODBC 驱动(注意:下载32Bit包需要配置32Bit的ODBC)
- On Windows operating systems, change the following settings in the set the Teradata ODBC Driver Options dialog box:
- Set the session mode to Teradata.
- Select the option to Use Native Large Object Support.
- On Linux operating systems, set the following parameters in the odbc.ini file:
- SessionMode=Teradata
- UseNativeLOBSupport=Yes
关于ArcGIS Server的配置参考:http://resources.arcgis.com/en/help/main/10.2/index.html#/Set_up_a_connection_to_Teradata/019v0000001s000000/
打开32Bit的ODBC,添加teradata驱动
输入DataSource名称,默认:teradata,相关IP输入虚拟机的Teradata服务器的IP,Username和password,输入dbc,点击Options按钮
设置Session Mode和勾选Use Native Large Object Support
设置完毕上面的信息之后,我们就可以使用ArcGIS for Desktop10.2来连接teradata了,设置连接参数
Data Source输入上面我们默认填写的teradata,用户名密码可以输入默认的dbc/dbc(如果上面odbc输入了用户名和密码,可以使用操作系统模式,这个dbc可以类比Oracle的sys/system等)
双击连接可以看到已经连接上了
================================================================
ArcGIS10.2操作Teradata
下面我们就使用ArcGIS for Desktop 10.2来创建或者导入数据到Teradata里面
1:首先,我在Teradata数据里面连接超级用户dbc,创建一个sde用户,永久表空间为200mb,spool空间不能超过100mb
Create user sde as perm=200000000,spool=100000000,password=sde;
关于更多Teradata的基本操作可以参考:http://oracleabc-126-com.iteye.com/blog/1195986
2:然后配置连接界面
3:创建要素类,可以看到使用了Native存储SYSUDTLIB.ST_Geometry存储
关于Teradata的用户
dbc: 安装后包含所有可用空间,跟oracle中的sys用户权限一样。所以不用于日常管理使用。 Sys_Calendar:存储系统日历表和视图。 SysAdmin:包含一些系统表以及网络连接客户端下FastLoad重启所需的表。 SystemFE:用于产生诊断报告供原厂工程师使用,默认密码为service。 Crashdumps:存储PDE dump,空间从dbc分配。推荐至少可容纳三个crashdump。 PUBLIC, EXTUSER, TDPUSER:PUBLIC, EXTUSER被系统软件使用,TDPUSER支持两阶段提交。 Default,All:系统软件使用。 SYSLIB,SYSUDTLIB:SYSLIB用于存储UDF,SYSUDTLIB用于存储UDDT。
4:执行过程中报错
提示没有相关权限。
关于ArcGIS与Teradata的权限问题,我们查看相关帮助:http://resources.arcgis.com/en/help/main/10.2/index.html#/User_privileges_for_using_ArcGIS_with_Teradata/019v0000001v000000/
所以说,我们需要对sde用户赋予上面的权限即可,具体操作过程如下
1:bteq(相当于Oracle的sqlplus)
2:.logon 127.0.0.1/dbc(连接本地服务器的dbc用户)
3:输入dbc密码
------------------------------------
上面的步骤就相当于在Oracle里面sqlplus sys / as sysdba
TDExpress14.0_Sles10:~ # bteq Teradata BTEQ 14.00.00.02 for LINUX. Enter your logon or BTEQ command: .logon 127.0.0.1/dbc .logon 127.0.0.1/dbc Password: *** Logon successfully completed. *** Teradata Database Release is 14.00.00.01 *** Teradata Database Version is 14.00.00.01 *** Transaction Semantics are BTET. *** Session Character Set Name is 'ASCII'. *** Total elapsed time was 1 second. BTEQ -- Enter your SQL request or BTEQ command: grant select on sysspatial.spatial_ref_sys to sde with grant option; grant select on sysspatial.spatial_ref_sys to sde with grant option; *** Grant accepted. *** Total elapsed time was 1 second. BTEQ -- Enter your SQL request or BTEQ command: grant select on sysspatial.geometry_columns to sde with grant option; grant select on sysspatial.geometry_columns to sde with grant option; *** Grant accepted. *** Total elapsed time was 1 second. BTEQ -- Enter your SQL request or BTEQ command: grant select on dbc.tvm to sde with grant option; grant select on dbc.tvm to sde with grant option; *** Grant accepted. *** Total elapsed time was 1 second. BTEQ -- Enter your SQL request or BTEQ command: grant udtusage on sysudtlib to sde with grant option; grant udtusage on sysudtlib to sde with grant option; *** Grant accepted. *** Total elapsed time was 1 second. BTEQ -- Enter your SQL request or BTEQ command: grant insert on sysspatial.spatial_ref_sys to sde with grant option; grant insert on sysspatial.spatial_ref_sys to sde with grant option; *** Grant accepted. *** Total elapsed time was 1 second. BTEQ -- Enter your SQL request or BTEQ command: grant update on sysspatial.geometry_columns to sde with grant option; grant update on sysspatial.geometry_columns to sde with grant option; *** Grant accepted. *** Total elapsed time was 1 second. BTEQ -- Enter your SQL request or BTEQ command: grant execute function on sysspatial to sde with grant option; grant execute function on sysspatial to sde with grant option; *** Grant accepted. *** Total elapsed time was 1 second. BTEQ -- Enter your SQL request or BTEQ command: grant execute procedure on sysspatial to sde with grant option; grant execute procedure on sysspatial to sde with grant option; *** Grant accepted. *** Total elapsed time was 1 second.
5:重新导入数据即可
Executing: FeatureClassToFeatureClass "C:\Program Files\ArcGIS\Desktop10.2\ArcGlobeData\continent.shp" "Database Connections\Connection to teradata.sde" con # "CONTINENT "CONTINENT" true true false 13 Text 0 0 ,First,#,C:\Program Files\ArcGIS\Desktop10.2\ArcGlobeData\continent.shp,CONTINENT,-1,-1" # Start Time: Mon Jul 15 15:34:48 2013 Succeeded at Mon Jul 15 15:39:49 2013 (Elapsed Time: 5 minutes 1 seconds)

当ArcGIS使用Teradata对空间数据进行存储,空间数据的空间字段必须为Shape或者在视图的别名为Shape,实际上Teradata的ST_geometry的底层存储为CLOB。
用户必须使用Teradata提供的tessellation(镶嵌)函数对Teradata的ST_geometry列进行创建和维护空间索引信息。这个tessellation空间索引主要被用于预定义的空间范围区域,而且它不能被ArcGIS的空间操作所使用(放大、缩小、漫游类似这种动态输入),但是tessellation索引可以应用于querylayer.
用户使用teradata的ST_geometry只支持二维数据,不支持保护M、Z的数据。
使用ArcGIS将要素类导入到Teradata数据库中,如果要素类的空间投影信息没有存储在teradata的系统表里面,ArcGIS会在Teradata的spatial_ref_sys表和geometry_columns表里面增加相关记录,但是如果更新Teradata的版本,会将这些表删除掉,重新创建然后恢复默认值,所以新增加的投影记录就需要重新输入。
那么在升级teradata之前,需要对这两个表进行备份
具体操作信息:
http://resources.arcgis.com/en/help/main/10.2/index.html#/Teradata_and_ArcGIS/019v0000001t000000/
从上面的描述,我也做了相关测试,移动一下,等了很长时间,大家可以看到上面的空白处,左下角的Drawing...和右下角小地球可以证明,这也验证了Esri帮助上说明的,因为Teradata是数据仓库,并不建议用户在ArcMap上进行视图展现。而且上面所述ArcGIS操作并不适用空间索引。
====================================================================
使用Teradata客户端
其实用户也可以下载Teradata的客户端来更直观的去了解ArcGIS在Teradata的存储,VM虚拟机也自带了一个Teradata Studio Express。
http://downloads.teradata.com/download/tools/teradata-studio
其实还有更好用的Teradata SQL Assistant但是我没有下载到
安装之后,我们连接dbc用户查看
因为这些面包含的点比较多,所以就没有完全列出所有信息
select * from con; *** Query completed. 8 rows found. 3 columns returned. *** Total elapsed time was 3 seconds. OBJECTID Shape ----------- --------------------------------------------------------------- 7 MULTIPOLYGON (((151.540252689999988 -24.04583359,151.54656982 - 5 MULTIPOLYGON (((-39.66893005 -18.32560348,-39.65861511 -18.2786 3 MULTIPOLYGON (((10.9794426 54.3805542,10.94645691 54.38451004,1 1 MULTIPOLYGON (((57.2022171 25.99166107,57.23068237 25.98513222, 8 MULTIPOLYGON (((163.766113280000013 -82.0816803,163.75585937 -8 6 MULTIPOLYGON (((171.1852417 -44.9383316,171.197189329999986 -44 4 MULTIPOLYGON (((0.69465101 5.77336502,0.68798602 5.7538538,0.78 2 MULTIPOLYGON (((-61.69083405 56.54804993,-61.71340179 56.569091
以上就是对ArcGIS10.2与Teradata的简单研究,由于对Teradata这个产品第一次接触,很多命令都不是非常熟悉,以上并没有进行大数据量的分析,仅仅是初次结合的一种尝试。
参考文献:
[1]:http://blog.r-tree.net/
-------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

2024CSRankings全美電腦科學專業排名,剛剛發布了!今年,全美全美CS最佳大學排名中,卡內基美隆大學(CMU)在全美和CS領域均名列前茅,而伊利諾大學香檳分校(UIUC)則連續六年穩定地位於第二。佐治亞理工學院則排名第三。然後,史丹佛大學、聖迭戈加州大學、密西根大學、華盛頓大學並列世界第四。值得注意的是,MIT排名下跌,跌出前五名。 CSRankings是由麻省州立大學阿姆赫斯特分校電腦與資訊科學學院教授EmeryBerger發起的全球院校電腦科學領域排名計畫。該排名是基於客觀的

Windows遠端桌面服務允許使用者遠端存取計算機,對於需要遠端工作的人來說非常方便。然而,當使用者無法連線到遠端電腦或遠端桌面無法驗證電腦身分時,會遇到問題。這可能是由網路連線問題或憑證驗證失敗引起的。在這種情況下,使用者可能需要檢查網路連線、確保遠端電腦是線上的,並嘗試重新連線。另外,確保遠端電腦的身份驗證選項已正確配置也是解決問題的關鍵。透過仔細檢查和調整設置,通常可以解決Windows遠端桌面服務中出現的這類問題。由於存在時間或日期差異,遠端桌面無法驗證遠端電腦的身份。請確保您的計算

計算機的「e」是科學計數法符號,字母"e" 在科學計數法中用作指數分隔符,表示"乘以10 的多少次方",在科學計數法中,一個數通常被寫成M × 10^E的形式,其中M 是介於1到10之間的數,而E表示指數。

<p>MSTeams是與隊友和同事交流、聊天或通話的值得信賴的平台。 MSTeams上的錯誤代碼為80090016以及<strong>您的電腦的受信任的平台模組故障</strong>的訊息可能會導致登入困難。在錯誤代碼解決之前,該應用程式將不允許您登入。如果您在開啟MS團隊或任何其他Microsoft應用程式時遇到此類訊息,那麼本文可以引導您解決問題。 </p><h2&

電腦中cu的意思取決於上下文:1、Control Unit,在電腦的中央處理器中,CU是負責協調和控制整個計算過程的元件;2、Compute Unit,在圖形處理器或其他加速處理器中, CU是處理平行計算任務的基本單元。

使用電腦時,作業系統偶爾也會故障。今天遇到的問題是在存取gpedit.msc時,系統提示無法開啟群組原則對象,因為可能缺乏正確的權限。未能開啟這台電腦上的群組原則對象解決方法:1、存取gpedit.msc時,系統提示無法開啟該電腦上的群組原則對象,因為缺乏權限。詳細資訊:系統無法定位指定的路徑。 2、用戶點擊關閉按鈕後,就彈出如下錯誤視窗。 3.立即查看日誌記錄,並結合記錄信息,發現問題出在C:\Windows\System32\GroupPolicy\Machine\registry.pol文件

steam無法連線至遠端電腦的解決方法:1、在遊戲平台中,點選左上角的「steam」選項;2、開啟選單選擇「設定」選項;3、選擇「遠端暢玩」選項;4、勾選啟動「遠端暢玩」功能,然後點選「確定」按鈕即可。

在當今的數位時代,自動化在簡化和簡化各種任務方面發揮著至關重要的作用。其中一項任務是註銷計算機,這通常是透過從作業系統的使用者介面中選擇註銷選項來手動完成的。但是,如果我們可以使用Python腳本自動執行此程序呢?在這篇文章中,我們將探討如何建立一個Python腳本,只需幾行程式碼就可以登出電腦。在本文中,我們將逐步介紹建立用於登出電腦的Python腳本的過程。我們將介紹必要的先決條件,討論以程式方式註銷的不同方法,並提供編寫腳本的逐步指南。此外,我們將解決特定於平台的注意事項,並重點介紹最佳實
