ArcPy創建ags文件
由於項目需要,在項目開發過程中,需要自己生成一個ags文件,ags文件是ESRI用來保存ArcGIS Server連接信息的文件。故本人根據ArcPy接口,通過Toolbox實現ArcGIS Server文件的自動生成。
ToolBox界面如下圖所示:
在執行過程中用到的腳本語言:
def create_ags(server_url, username, password,out_folder_path):
out_name = Domain2IP(server_url)
use_arcgis_desktop_staging_folder = False
if not os.path.exists(out_folder_path):
os.makedirs(out_folder_path)
postfix = '.ags'
analysis =arcpy.mapping.CreateGISServerConnectionFile("ADMINISTER_GIS_SERVICES", out_folder_path, out_name + postfix server_url, 'ARCGIS_SERVER', use_arcgis_desktop_staging_folder, out_folder_path,
username, password, 'SAVE_USERNAME')
def Domain2IP(url):
try:
pattern = re.compile(r'\d+[\.]\d+[\.]\d+[\.]\d+')
if re.findall(pattern, url):
hostname = url.split('/')[2]
return hostname[0 : hostname.index(':')]
else:
hostname = url.split('/')[2]
return socket.gethostbyname(hostname)
except:
print 'Error'
執行後的結果展示:
執行本ToolBox所需環境:
- ArcGIS Desktop
- ArcGIS Pro
資源
- GitHub Help
- Learn more about ArcGIS Solutions.
- Learn more about ArcGIS Pro for ArcPy.
- Learn more about ArcGIS for ArcPy.
- Learn more about Python
注:源碼查看DataShare