天天看點

ArcGIS不同版本QueryLayer的功能差別

該翻譯都是大概意思,原則不直譯!

Query layers were first introduced at the 10.0 release primarily to allow ArcMap to integrate data from databases that do not contain the system geodatabase repository tables. Think of query layers as a method for accessing database objects that are not geodatabase-aware, without having to go through the process of registering the objects with ArcSDE or the geodatabase.

QueryLayer的對象最早是從ArcGIS10版本推出的,該功能主要是在ArcMap進行建立,使用QueryLayer是因為存儲在資料庫中的對象沒有注冊在系統Geodatabase的Schema中。是以如果有類似對象的表希望在ArcMap中進行顯示,在ArcGIS10版本隻能通過QueryLayer來通路。

小提示

其實QueryLayer10版本的推出,更多的是解決Native存儲在ArcGIS用戶端的顯示,比如Oracle的Oracle Spatial存儲,該資料并沒有在ArcSDE的Schema中進行注冊,同樣可以通過QueryLayer10進行顯示,不過前提條件是必須以ST_Geometry、SDO_Geometry、Geography、Geometry等進行存儲,安裝資料庫用戶端,而且這種都是隻讀操作。

更多QueryLayer參考

----------------------------------------------------------------------------------

版權所有,文章允許轉載,但必須以連結方式注明源位址,否則追究法律責任!

Blog:               http://blog.csdn.net/linghe301

----------------------------------------------------------------------------------

When first released, the only way to create a query layer was in ArcMap using the Add Query Layer tool, which also required a special connection file (.qcf). This file was required for ArcGIS to connect to databases that did not have a geodatabase component. Native access to both spatial and non-spatial database objects through the ArcGIS client application allowed for the ability to integrate a wider spectrum of data into GIS projects, and provided the ability for modification to include a specific subset of data – similar to a definition query and/or a database view.

在QueryLayer10版本,隻能通過ArcMap的Add Query Layer工具建立QueryLayer對象,而且需要使用一個特殊的連接配接檔案(.qcf),ArcGIS使用該檔案連接配接資料庫無需Geodatabase元件,不管是空間資料庫或者非空間資料,都可以通過ArcGIS用戶端使用這種方式進行連接配接加載和現實,而且在連接配接好空間資料後也可以設定GIS的投影資訊,這種方式有點類似于ArcGIS的定義查詢( definition query)和資料庫視圖。

With the ArcGIS 10.1 release, new functionality was added to make database connections native in ArcGIS, which eliminated the need to create the query connection file (.qcf) when building query layers. Query layers evolved from something that could only be manually built to a behavior that automatically occurs when accessing database objects that are not geodatabase-aware through a database connection file (.sde) in ArcGIS. In other words, query layers are generated dynamically by adding non-geodatabase objects to ArcMap via drag and drop from the Catalog window.

在ArcGIS10.1版本,ArcGIS用戶端可以直接加載原生的(native)資料庫對象,已經無需專門建立Query連接配接檔案(.qcf)來建立。ArcGIS在連接配接Native存儲或者沒有注冊在ArcSDE地理資料庫中的ST_Geometry存儲的空間資料會自動以QueryLayer對象進行顯示,無需進行任何設定。

What is a query layer?

----------------------------------------------------------------------------------

版權所有,文章允許轉載,但必須以連結方式注明源位址,否則追究法律責任!

Blog:               http://blog.csdn.net/linghe301

----------------------------------------------------------------------------------

Are query layers read-only?

Query layers are read only in ArcMap. At the 10.1 release, ArcGIS Spatial Data Server (SDS) services were introduced, which allowed the publishing of database data in an editable feature service. At 10.2, ArcGIS for Server feature access enabled map services were enhanced to allow data to be published from database connections that didn’t contain the geodatabase system tables. This opened up the ability to edit query layers via an ArcGIS for Server feature service and eliminated the need for the ArcGIS Spatial Data Server (SDS).

Query Layer隻能隻讀麼?

ArcMap加載的QueryLayer隻能隻讀。打開編輯是會報相關錯誤資訊的。在ArcGIS10.1版本,ArcGIS 的空間資料伺服器(SDS)釋出的Feature Service可以進行相關的編輯。在ArcGIS10.2版本,使用ArcGIS for Server可以發表Feature Service來對沒有注冊在Geodatabase系統表的資料進行編輯。而且SDS隻是一個過渡版本,估計在新版本這些功能都內建在ArcGIS10.2 for Server。

更多參考:

ArcGIS10.2釋出Oracle Spatial存儲的Feature Service的編輯問題:http://blog.csdn.net/linghe301/article/details/17160919

Ability to edit query layers:

Version Editable?
10.0 No
10.1 Yes – via SDS service
10.2 Yes – via feature access     enabled map service

----------------------------------------------------------------------------------

版權所有,文章允許轉載,但必須以連結方式注明源位址,否則追究法律責任!

Blog:               http://blog.csdn.net/linghe301

----------------------------------------------------------------------------------

To edit the data at 10.1, create a map that contains your database data, and publish that data to the ArcGIS Spatial Data Server service. NOTE: Make sure the layer is not registered with the geodatabase.

ArcGIS10.1版本使用SDS釋出要素類服務可以編輯沒有注冊在Geodatabase的資料

Beginning with ArcGIS 10.2, you should use ArcGIS for Server feature services to publish data from supported database management systems. This allows you to edit query layers via the feature access enabled map services, and takes the place of ArcGIS Spatial Data Server feature services (which have been deprecated).

ArcGIS10.2 使用Server的要素類服務可以直接進行QueryLayer的編輯,以後SDS要素服務可能被遺棄。

How to create a query layer

A query layer can be created manually in ArcMap by building a query against objects that exist within a geodatabase or a database that does not contain the geodatabase system repository tables. You should use this method to create a query layer if you need to define a subset of data. For example, when working with a layer that contains a large number of features, you should use the Add Query Layer tool and include a ‘where’ clause that restricts the number of features that will be included in the query layer.

ArcMap可以手動建立QueryLayer對象,如果該要素類包含大量的資料,使用QueryLayer工具添加Where條件可以過濾相關資料。是以有時候QueryLayer的用法與SDE視圖比較類似

  • Build a Query Layer manually using the ‘New Query Layer’ dialog in ArcMap: File > Add Data > Add Query Layer
  • ArcGIS不同版本QueryLayer的功能差別

A query layer is created when the layer/table that is not registered with the geodatabase is added to ArcMap via these additional methods:

  • Starting at 10.1 – Drag and drop a database layer into ArcMap from ArcCatalog or the Catalog window in ArcMap –The ArcMap Layer properties will display a Data Type of ‘Query Feature Class’ within the source tab
  • Using the Add Data button within ArcMap to add data from a database

在ArcGIS10.1,使用者直接進行拖拽,而無需手動建立!

ArcGIS不同版本QueryLayer的功能差別

Creating a query layer

----------------------------------------------------------------------------------

版權所有,文章允許轉載,但必須以連結方式注明源位址,否則追究法律責任!

Blog:               http://blog.csdn.net/linghe301

----------------------------------------------------------------------------------

Display behavior of database data in ArcGIS

ArcGIS for Desktop reads the layers in a database that contain feature geometry and displays them within ArcCatalog. How these appear in the Catalog tree changed starting at the 10.1 release. When data is viewed in ArcCatalog or the Catalog window in ArcMap, a new icon is displayed.

如果細心的使用者也可以發現,在ArcGIS10.1版本,SDE資料的圖示也發生了相關的變化。

ArcGIS不同版本QueryLayer的功能差別

This icon indicates that the object is a non-geodatabase aware/registered table with a spatial component/column.

該圖示是一個沒有注冊在ArcSDE系統表的資料,是以ArcGIS并不了解該資料是什麼類型(點、線、面等)資料。

  • Dragging a database layer with this icon into ArcMap would create a query layer where the feature geometry is discovered and rendered.
  • Double-clicking this object within ArcCatalog will discover and change the icon to a feature class icon for the specific geometry type that is stored in the geometry column.
  • Within ArcMap the layer will display similarly to a feature class, but checking the layer properties source within ArcMap reveals the Data Type of Query Feature Class.
    ArcGIS不同版本QueryLayer的功能差別

如果使用ArcGIS10.1版本拖拽資料,會彈出Query  Layer對話框,使用者可以設定ObjectID字段、投影資訊、幾何類型等,那麼設定完畢之後,ArcGIS會自動更新點、線、面幾何類型圖示。

ArcGIS不同版本QueryLayer的功能差別

Viewing database data in ArcGIS

----------------------------------------------------------------------------------

版權所有,文章允許轉載,但必須以連結方式注明源位址,否則追究法律責任!

Blog:               http://blog.csdn.net/linghe301

----------------------------------------------------------------------------------

SUMMARY

Important things to note about query layers:

- Query layers only persist within the map document that they were created in

- Query layers do not require a geodatabase

- Query layers are read-only in ArcMap when added directly from a database connection

- Currently, query layers are only editable when accessed via certain types of services:

  • 10.1 – Spatial Data Server feature access enabled services can edit query layers
    • This functionality only existed for one product release as it was incorporated into the feature access enabled map service at the 10.2 release
  • 10.2 – Query layers can be edited as part of a feature enabled map service

- .qcf files are query connection files that were generated for the 10.0 release to allow the connection to a non-geodatabase-aware relational database to build a query layer. Starting at the 10.1 release these were no longer needed, but continued to work.

總結

QueryLayer隻能存儲在地圖文檔中

Query Layer不需要必須存儲在geodatabase中

在ArcMap中加載的QueryLayer隻能隻讀

截止到目前ArcGIS10.2.x版本,隻能通過ArcGIS Server的要素服務來編輯QueryLayer

10.1版本隻能通過SDS要素類服務編輯QueryLayer

10.2版本通過ArcGIS for Server的要素服務來進行編輯。.qcf檔案是ArcGIS10版本的産物,在ArcGIS10.1版本之後就沒有了。

----------------------------------------------------------------------------------

版權所有,文章允許轉載,但必須以連結方式注明源位址,否則追究法律責任!

Blog:               http://blog.csdn.net/linghe301

----------------------------------------------------------------------------------

Additional References:

What’s new for geodatabases in ArcGIS 10 > Data management in geodatabases

What’s new at 10.2 – See ‘Publishing feature services from databases’

FAQ:  What has changed in Query Layers between ArcGIS 10.0 and 10.1?

- See more at: http://blogs.esri.com/esri/supportcenter/2014/04/08/the-evolution-of-query-layers/#sthash.x2swVI0G.dpuf