日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

arcgis与python_Arcgis-ModelBuilder和Python学习

發(fā)布時(shí)間:2025/3/20 python 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 arcgis与python_Arcgis-ModelBuilder和Python学习 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

老師的一個項(xiàng)目,需求如下:

1)arcgis版本使用9.2;

2)需要發(fā)布一個數(shù)據(jù)入庫服務(wù),第三方調(diào)用這個服務(wù),就可以將“水窖”點(diǎn)位數(shù)據(jù)存入到服務(wù)器數(shù)據(jù)庫中的“水窖”圖層;

3)入庫前需要檢查“水窖”點(diǎn)位數(shù)據(jù)的合法性:

a.水窖點(diǎn)位是否在合理的區(qū)域內(nèi):水窖在縣城范圍內(nèi);

b.水窖編號的唯一性:水窖編號和數(shù)據(jù)庫中的水窖記錄編號不存在重復(fù)。

本項(xiàng)目中數(shù)據(jù)入庫服務(wù)是通過ArcServer進(jìn)行發(fā)布,由于考慮到開發(fā)時(shí)間和開發(fā)成本,數(shù)據(jù)入庫服務(wù)不采用Web Service調(diào)用AO方式。

決定使用GP服務(wù)來實(shí)現(xiàn)數(shù)據(jù)入庫:利用Arcgis ModelBuilder和Python腳本進(jìn)行建模,模型需要實(shí)現(xiàn)以上的功能,然后將這個模型發(fā)布成一個GeoProsscessor服務(wù),第三方調(diào)用這個GeoProsscessor服務(wù)就可以實(shí)現(xiàn)數(shù)據(jù)入庫。思想如下:

條件1:水窖點(diǎn)位是否在合理的區(qū)域內(nèi):水窖在縣城范圍內(nèi)

這個可以通過Arcgis ModelBuilder進(jìn)行建模,對新添加的水窖點(diǎn)位數(shù)據(jù)和數(shù)據(jù)庫中的縣城圖層進(jìn)行疊加,如果水窖點(diǎn)落在縣城范圍內(nèi),就滿足合理區(qū)域要求,允許存入到數(shù)據(jù)庫。

條件2:水窖編號的唯一性:水窖編號和數(shù)據(jù)庫中的水窖記錄編號不存在重復(fù)

這個需要考慮錄入新的水窖數(shù)據(jù)時(shí),水窖的編號和數(shù)據(jù)庫中的編號不能存在重復(fù)。如果新錄入的水窖編號和數(shù)據(jù)庫中的水窖編號相同,則覆蓋數(shù)據(jù)庫中的相同水窖編號的水窖記錄。

一、條件1實(shí)現(xiàn)方式:ArcGIS建模

在Arcmap中進(jìn)行建模,在toolbox上右鍵New Toolbox,添加一個新的工具箱,命名為“最終數(shù)據(jù)入庫”

在“最終數(shù)據(jù)入庫”上右鍵,新建一個模型,命名為CheckArea,編輯這個模型,模型視圖如下

1)模型圖的左上方,會理縣界為數(shù)據(jù)庫中的縣界圖層,FeatureSet是模型參數(shù),為新輸入的水窖點(diǎn)位圖層,對兩者進(jìn)行疊加,得到“會理縣界_Intersect.shp”,這個shape文件路徑為in_memory\會理縣界_Intersect.shp,說明這個shape文件是保存在內(nèi)存中的(內(nèi)存中的數(shù)據(jù)文件可以更快的讀寫)。

2)模型圖的左下方,FeatureSet(新輸入的水窖點(diǎn)位圖層)和會理水窖(數(shù)據(jù)庫中的會理水窖圖層)進(jìn)行Append操作,將新添加的水窖點(diǎn)位存入到數(shù)據(jù)庫中的水窖圖層中。

3)為第二步的Append操作設(shè)置前提,前提就是“會理縣界_Intersect.shp”,如果這個圖層存在,說明新添加的點(diǎn)位都在會理縣界內(nèi),這時(shí)可以允許水窖點(diǎn)位數(shù)據(jù)入庫,也就是可以允許Append操作。如果這個圖層不存在,說明新添加的點(diǎn)不在會理縣內(nèi),不允許入庫,因此Append操作不會觸發(fā),并且返回一個“會理縣界_Intersect.shp”前提不為真的錯誤。

4)當(dāng)水窖數(shù)據(jù)入庫完成后,也就是Append操作完成后,刪除內(nèi)存中的“會理縣界_Intersect.shp”,刪除操作以“會理水窖合并后”為前提,當(dāng)這個圖層生成完畢,也就說明數(shù)據(jù)入庫完成,此時(shí),可以刪除“會理縣界_Intersect.shp”圖層了。

二、條件2實(shí)現(xiàn)方式:Python腳本編寫

在“最終數(shù)據(jù)入庫”上右鍵,Add->Script,

General選項(xiàng)卡下設(shè)置:

name:刪除重復(fù)數(shù)據(jù)

label:刪除數(shù)據(jù)庫中的已存在的數(shù)據(jù)

Description:判斷數(shù)據(jù)庫中是否存在重復(fù)數(shù)據(jù),如果存在刪除重復(fù)數(shù)據(jù)

Source選項(xiàng)卡下設(shè)置:

Script File:D:\刪除重復(fù)數(shù)據(jù).py

Parameters選項(xiàng)卡下新建兩個變量:

Display Name???????????????????????? Data Type

NewPoint?????????????????????????????? FeatureSet?????????????????????? (定義Schema為數(shù)據(jù)庫中的水窖圖層)

CheckData?????????????????????????????? Boolean

然后點(diǎn)擊確定,編輯這個腳本:

檢查重復(fù)數(shù)據(jù).py

#coding=gbkimportwin32com.client,arcgisscripting'''將數(shù)據(jù)值寫入到txt文件中'''defWriteDataToFile(value):

file_object=open('D://111.txt','w')

Svalue=str(value)

file_object.write(Svalue)

file_object.close()print'ok''''DeleteData()函數(shù)用于刪除Mdb圖層”S_Layer“中,S_Field字段下值為S_Value的地物數(shù)據(jù)

其中:S_Layer為圖層名稱

S_Field為主鍵字段

S_Value為主鍵字段值

注釋:一個圖層的數(shù)據(jù)在mdb下,主要對應(yīng)S_Layer_SHAPE_Index和S_Layer兩個表'''defDeleteData(S_Layer,S_Field,S_Value):

conn=win32com.client.Dispatch('ADODB.Connection')

DSN='PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA?SOURCE=d:/sampledata/backupfinal.mdb;'conn.Open(DSN)

DeleteSQL1="delete?from"+S_Layer+"_SHAPE_Index?where?IndexedObjectId?in?(select?OBJECTID?from"+S_Layer+"where"+S_Field+"=?'"+S_Value+"')"conn.execute(DeleteSQL1)

DeleteSQL2="delete?from"+S_Layer+"where"+S_Field+"=?'"+S_Value+"'"conn.execute(DeleteSQL2)

conn.close()'''查找輸入?yún)?shù)FeatureSet中的特定字段值,并刪除數(shù)據(jù)庫中已存在相同字段值的地物數(shù)據(jù)'''gp=arcgisscripting.create(9.3)try:

NewPointSet=gp.GetParameter(0)

rows=gp.SearchCursor(NewPointSet)

row=rows.Next()whilerow:

name=row.getValue('水窖編號')

SJname=str(name)

DeleteData('會理水窖','水窖編號',SJname)

row=rows.next()except:printgp.getmessages()

CheckData=True

gp.SetParameter(1,CheckData)

這個腳本就是查找FeatureSet中的水窖數(shù)據(jù),提取出主鍵字段值,并刪除數(shù)據(jù)庫中含有相同字段值的數(shù)據(jù)。

三、建立一個模型命名為“最終入庫檢查”,將條件1的model和條件2的python組合在一起。

四、在Arcgis Server將這個模型發(fā)布為GP服務(wù)

1)登錄ArcGIS Server Manager,點(diǎn)擊左側(cè)的Add new service:

Service Name:

Type:

Geocode Service

Geodata Service

Geometry Service

Globe Service

Geoprocessing Service

Image Service

Map Service

Description:

添加新的點(diǎn)位數(shù)據(jù)到水窖圖層

2)單擊next,選擇Toolbox的存儲位置:

A Toolbox:

Toolbox:

3)一直next,默認(rèn)設(shè)置即可。

4)然后我們就可以看見AddDataToShuiJiao的GP服務(wù)發(fā)布完成。

五、在Arcgis Server中建立一個Application使用這個GP服務(wù)

1)在Manager中新建一個application:

Host

Web application Name:

Description:

Use settings from an existing site:

none

a1

Scyc3S

2)單擊next,添加需要顯示的圖層。

3)單擊next,單擊Add Task,選擇Geoprocessing Task,確定,然后點(diǎn)擊Supporting Service,就可以看到剛才發(fā)布的AddDataToShuiJiao服務(wù),選擇“最終入庫檢查”?這個模型,點(diǎn)擊Apply,然后點(diǎn)擊next,一路默認(rèn)到底。

4)在manager下發(fā)布這個application,勾選ToShuiJiao,然后單擊Deploy。

5)登錄這個Application,我的是http://WYF:8399/ToShuiJiao,然后單擊Geoprocessing Task,就會出現(xiàn)在線數(shù)據(jù)錄入界面。

總結(jié)

以上是生活随笔為你收集整理的arcgis与python_Arcgis-ModelBuilder和Python学习的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 性欧美ⅹxxxx极品护士 | 日本一区二区在线播放 | 丝袜视频在线观看 | 亚洲熟妇无码av在线播放 | 99精品国产一区 | 国产在线观看免费播放 | 成人激情开心 | 99久久久精品 | 日本道中文字幕 | 亚洲欧美综合自拍 | 素人一区 | 三级色视频 | 涩涩视频在线播放 | 精品乱码久久久久久中文字幕 | 69精品一区二区三区 | 你懂的网址在线观看 | 性欧美高清 | 国产猛男猛女超爽免费视频 | a毛毛片| 日韩成人免费观看 | 2019毛片 | 射进来av影视 | 91网站免费在线观看 | 女教师高潮黄又色视频 | 成人免费视 | 午夜毛片视频 | 国产成人av一区二区三区 | 在线免费观看日本 | 黄色免费看视频 | 久久天天躁狠狠躁夜夜av | 51成人精品网站 | 中文字幕第23页 | 日本aaa级片 | 高潮毛片又色又爽免费 | av网址观看 | 91精品一区二区三 | 欧美美女爱爱视频 | 日本韩国欧美一区二区三区 | 曰韩在线 | 一区二区三区久久精品 | 亚洲精品乱码久久久久久蜜桃不卡 | 青娱乐超碰 | 国产在线视频福利 | 色网站入口| 亚洲天堂av中文字幕 | 国产成人精品片 | 国产视频分类 | 91在线日本 | 绿帽av | 就爱操av | 亚洲黄色免费网站 | 在线成人一区 | 自拍偷拍精品视频 | 91视频久久久 | 黑丝扣逼 | 亚洲综合色站 | 亚洲AV无码乱码国产精品色欲 | 中文字幕色网 | 日韩乱码在线观看 | 国产91精品久久久 | 久久亚洲精华国产精华液 | 四虎国产成人精品免费一女五男 | 国产一区自拍视频 | 亚洲欧美中文日韩在线观看 | 插少妇视频 | 日韩欧美激情 | 青青草视频在线观看 | 欧美一级性视频 | 永久免费未网 | 亚洲av无码一区二区三区dv | 亚洲男女一区二区三区 | 中国一级片在线观看 | 精品国产成人av在线免 | 国产精品国产一区 | 国产黄色小说 | 国产综合精品一区二区三区 | 美女啪啪一区二区 | 国产精品网站在线观看 | 欧美一级片网站 | 日干夜操 | 91av手机在线 | 国产丝袜高跟 | 久久高清免费 | 99啪啪| av毛片大全 | 日本一区二区三区四区五区 | 曰本黄色大片 | 欧洲日韩一区二区三区 | 精彩毛片 | 调教驯服丰满美艳麻麻在线视频 | 国产日韩一级片 | 激情伦成人综合小说 | 欧美视频一区二区三区四区在线观看 | 精品少妇人妻AV无码专区在线 | 巨乳女教师的诱惑 | 久久久6| 毛片高清| 午夜国产一区 | 中文字幕一区二区三区电影 |