国产麻豆一级在线观看_国产午夜亚洲精品国产成人小说_国产午夜成人福利在线观看蜜芽_国产天堂亚洲国产碰碰_国产麻豆剧看黄在线观看_国产噜噜在线视频观看_国产精品亚洲二区在线播放

首頁(yè) 新聞中心 技術(shù)博客

ArcGIS地圖要素圖層(Feature Layer)發(fā)布及調(diào)用

發(fā)布時(shí)間:2021-10-08 23:50:26   瀏覽量:3012   作者:GIS前沿

關(guān)鍵詞:ArcGIS,ArcGIS Server,SQL, PostgreSQL

動(dòng)態(tài)地圖服務(wù)主要用于地圖的展示,其還有一個(gè)不足,即它不允許用戶與地圖的子圖層進(jìn)行交互,不能遍歷得到每個(gè)圖層,也不能查詢圖層。這里使用要素圖層(Feature Layer)來(lái)代替它。

Feature Layer可以訪問(wèn)每個(gè)空間要素及其屬性,可以將其看成是ArcMap中的要素類(lèi)(Feature Class),它可以接受用戶的查詢.

1.配置ArcMap、ArcGIS Server和PostgreSQL

由于ArcMap是32位,而PostgreSQL是64位,32位的桌面程序ArcMap無(wú)法連接64位的Postgesql數(shù)據(jù)庫(kù)的,因此,需要將PostgreSQL 32位的動(dòng)態(tài)庫(kù)文件拷貝到ArcMap的bin目錄下。將tools\postgresql-9.0.5-1-windows-x86-dlls目錄下的5個(gè)dll文件(這五個(gè)dll 是從32位的postgressql客戶端中抽取出來(lái))拷貝到ArcMap的bin目錄下,
我的機(jī)器上是C:\Program Files (x86)\ArcGIS\Desktop10.2\bin


跟上述情況類(lèi)似,要從 ArcGIS for Server 連接,則需要 64 位文件。將PostgreSQL 64位的動(dòng)態(tài)庫(kù)文件拷貝到ArcGIS for Server的bin目錄下。將tools\postgresql-9.0.5-1-windows-x64-dlls目錄下的5個(gè)dll文件(這五個(gè)dll 是從64位的postgressql客戶端中抽取出來(lái))拷貝到ArcGIS for Server的bin目錄下,我的機(jī)器上是C:\Program Files\ArcGIS\Server\bin。

如果已經(jīng)運(yùn)行 ArcGIS for Server 正在運(yùn)行,則請(qǐng)重啟 ArcGIS Server 以便識(shí)別放入 bin 目錄的文件。

在 PostgreSQL 中創(chuàng)建地理數(shù)據(jù)庫(kù)依賴于是否存在 ST_Geometry 庫(kù)。為了將空間數(shù)據(jù)存儲(chǔ)在PostgreSQL中,需要利用ST_Geometry 存儲(chǔ)類(lèi)型存儲(chǔ)空間數(shù)據(jù),ST_Geometry 數(shù)據(jù)類(lèi)型可通過(guò)OGC定義的SQL語(yǔ)言來(lái)進(jìn)行訪問(wèn),通過(guò)向表示地理要素的對(duì)象(點(diǎn)、線及面)提供存儲(chǔ)空間,此存儲(chǔ)類(lèi)型擴(kuò)展了數(shù)據(jù)庫(kù)的功能。為了使PostgreSQL支持ST_Geometry 存儲(chǔ)類(lèi)型,需要將st_geometry.dll動(dòng)態(tài)庫(kù)拷貝到PostgreSQL的lib文件夾下。st_geometry.dll可以從ArcGIS桌面安裝目錄下獲得,比如我的在C:\ProgramFiles(x86)\ArcGIS\Desktop10.2\DatabaseSupport\PostgreSQL\Windows64(我的機(jī)器是64位),然后拷貝到C:\Program Files\PostgreSQL\9.0\lib 可以根據(jù)自己的安裝路徑來(lái)設(shè)置。

1.2 創(chuàng)建企業(yè)級(jí)地理數(shù)據(jù)庫(kù)

在Arc Toolbox中打開(kāi)【創(chuàng)建企業(yè)級(jí)地理數(shù)據(jù)庫(kù)】工具箱,如下圖所示。

提供以 postgres 超級(jí)用戶連接 PostgreSQL 數(shù)據(jù)庫(kù)集群所需的信息,以創(chuàng)建數(shù)據(jù)庫(kù)和 sde 用戶。此外,還必須指向在授權(quán) ArcGIS for Server 實(shí)例時(shí)生成的密鑰代碼文件。【實(shí)例】是PostgreSQL運(yùn)行的主機(jī)名,本例中是本機(jī)localhost,數(shù)據(jù)庫(kù)管理員密碼是PostgreSQL超級(jí)用戶的密碼postgres,地理數(shù)據(jù)庫(kù)管理員密碼設(shè)置為sde。點(diǎn)擊【確定】,等待創(chuàng)建成功。


這樣,在 PostgreSQL 中就創(chuàng)建了數(shù)據(jù)庫(kù)、sde 用戶、sde 方案及地理數(shù)據(jù)庫(kù)。

3.連接到已創(chuàng)建的地理數(shù)據(jù)庫(kù)

存儲(chǔ)在地理數(shù)據(jù)庫(kù)中的數(shù)據(jù)應(yīng)歸sde 用戶之外的其他用戶所有。要?jiǎng)?chuàng)建用戶,必須先以數(shù)據(jù)庫(kù)管理員(本例采用 postgres 超級(jí)用戶)連接地理數(shù)據(jù)庫(kù)。

ArcMap 的目錄樹(shù)中,展開(kāi)【數(shù)據(jù)庫(kù)連接】節(jié)點(diǎn),然后雙擊【添加數(shù)據(jù)庫(kù)連接】。將打開(kāi)【數(shù)據(jù)庫(kù)連接】對(duì)話框。

提供以 postgres 超級(jí)用戶連接新建數(shù)據(jù)庫(kù)所需的信息。本例中,以 postgres 用戶連接新建的 sde地理數(shù)據(jù)庫(kù):

由于將在地理處理工具中使用此連接文件,因此必須選中【保存用戶名和密碼】。運(yùn)行此工具后,應(yīng)在連接文件中取消選中此選項(xiàng),以不同用戶進(jìn)行連接,或者刪除此連接文件從而防止可以訪問(wèn)此文件的其他用戶以數(shù)據(jù)庫(kù)管理員登錄地理數(shù)據(jù)庫(kù)。

單擊【確定】創(chuàng)建連接。在目錄樹(shù)中的數(shù)據(jù)庫(kù)連接節(jié)點(diǎn)下出現(xiàn)新的連接文件。

接下來(lái),可以運(yùn)行創(chuàng)建數(shù)據(jù)庫(kù)用戶工具。

4.從文件型數(shù)據(jù)庫(kù)遷移到企業(yè)級(jí)地理數(shù)據(jù)庫(kù)

打開(kāi)ArcCatalog,瀏覽到Bestaurants.gdb地理數(shù)據(jù)庫(kù)。
右擊Belize_Landbase,選擇復(fù)制

瀏覽到kobe.localhost.sde數(shù)據(jù)庫(kù)連接,右擊選擇粘貼。對(duì)要素類(lèi)Food_and_Drinks同樣做此操作,彈出以下對(duì)話框。點(diǎn)擊確定,完成數(shù)據(jù)傳輸。

這樣,企業(yè)級(jí)數(shù)據(jù)庫(kù)中就包含如下數(shù)據(jù),注意在要素類(lèi)和關(guān)系類(lèi)之前都有數(shù)據(jù)庫(kù)和用戶名(表示方案,每個(gè)PostghreSQL用戶都自己的方案schema)前綴。

5.發(fā)布要素服務(wù)

在ArcMap中,選擇【文件】菜單的【共享為】-【服務(wù)】,打開(kāi)【共享為服務(wù)】向?qū)А?/p>

選擇【發(fā)布服務(wù)】,點(diǎn)擊【下一步】,服務(wù)名稱(chēng)填寫(xiě)B(tài)elizeFS,表示Belize要素服務(wù),點(diǎn)擊【下一步】,點(diǎn)擊【繼續(xù)】,選擇【功能】中的【Feature Access】來(lái)開(kāi)啟要素服務(wù)

點(diǎn)擊【分析】,錯(cuò)誤如下,要素服務(wù)需要一個(gè)已注冊(cè)的數(shù)據(jù)庫(kù)

右擊該錯(cuò)誤,選擇【顯示數(shù)據(jù)存儲(chǔ)注冊(cè)頁(yè)面】

打開(kāi)【ArcGIS Server屬性】對(duì)話框,點(diǎn)擊加號(hào),選擇【注冊(cè)數(shù)據(jù)庫(kù)】。

在【注冊(cè)數(shù)據(jù)庫(kù)】對(duì)話框中,點(diǎn)擊【導(dǎo)入】,選擇剛建立的數(shù)據(jù)庫(kù)連接(我的是kobe.localhost.sde連接),確保【與發(fā)布者數(shù)據(jù)庫(kù)連接相同】選項(xiàng)選上,給注冊(cè)數(shù)據(jù)庫(kù)起個(gè)名字,點(diǎn)擊【確定】。

完成的數(shù)據(jù)庫(kù)注冊(cè)如下。點(diǎn)擊【確定】。

點(diǎn)擊【分析】,應(yīng)該看不到錯(cuò)誤,但可能還有警告,如下圖所示。

繼續(xù)發(fā)布要素服務(wù),可以成功發(fā)布。

訪問(wèn):http://localhost:6080/arcgis/rest/services/,可以看到發(fā)布的服務(wù)。

在require函數(shù)中加上FeatureLayer:
require([“esri/map”,“esri/layers/featurelayer”, “esri/dijit/Legend”],
function(Map, FeatureLayer, Legend) {
//load the layer into an object
var lyr_foodanddrinks = new esri.layers.FeatureLayer
(“http://localhost:6080/arcgis/rest/services/Belize/MapServer/0”,
{
outFields: [""]
}
);
//load another layer into an object
var lyr_landbase = new esri.layers.FeatureLayer
(“http://localhost:6080/arcgis/rest/services/Belize/MapServer/1”,
{
outFields: ["
"]
}
);
}


來(lái)源:https://blog.csdn.net/qq_43173805/article/details/107839745
主站蜘蛛池模板: 泰兴市| 桃江县| 桦南县| 廉江市| 交城县| 龙岩市| 开封市| 天峨县| 开阳县| 东山县| 澄迈县| 随州市| 大理市| 涞源县| 陆河县| 交口县| 通化市| 新竹县| 牡丹江市| 沅陵县| 留坝县| 衡阳县| 西青区| 平果县| 吴桥县| 聂拉木县| 丹巴县| 昭苏县| 九龙坡区| 慈溪市| 博兴县| 布拖县| 迁安市| 皮山县| 保定市| 黄山市| 会宁县| 和龙市| 房产| 南雄市| 蓝田县|