久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

深耕商務建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

ArcGIS Engine桌面GIS開發(fā)實戰(zhàn):COM組件嵌入與離線空間分析

ArcGIS Engine桌面GIS開發(fā)實戰(zhàn):COM組件嵌入與離線空間分析 簡介本資源是面向GIS開發(fā)初學者與進階工程師的ArcGIS Engine組件式開發(fā)系統(tǒng)教程聚焦桌面端GIS應用定制化開發(fā)能力培養(yǎng)解決從理論認知到代碼落地的關鍵斷層問題。壓縮包共3030個文件47.98MB涵蓋950個C#源碼文件含csproj與sln工程結構、366個位圖資源、294個resources本地化資源及202個resx多語言配置支撐完整項目構建與界面開發(fā)另有9個PPT課件系統(tǒng)講解GIS基礎、Engine架構、IMapControl/IFeatureLayer等核心接口、地圖操作、空間分析及.NET組件開發(fā)全流程。目前已有168人學習下載配套源碼嚴格對應課件章節(jié)含地圖加載、圖層管理、數(shù)據(jù)編輯、自定義工具等典型場景實現(xiàn)所有工程可直接編譯運行并附帶gdb地理數(shù)據(jù)庫、adf柵格數(shù)據(jù)、lyr圖層文件等真實GIS數(shù)據(jù)樣本便于邊學邊練、快速復現(xiàn)專業(yè)GIS功能。1. ArcGIS Engine組件式開發(fā)不是插件也不是二次開發(fā)平臺而是“可嵌入、可裁剪、可部署”的桌面GIS內(nèi)核級集成方案你手頭有個老系統(tǒng)用的是C# WinForms寫的業(yè)務流程現(xiàn)在要加一個地圖模塊——能加載本地Shapefile、支持點選查詢、畫多邊形做空間分析但又不能讓用戶額外裝ArcMap也不愿上WebGIS走瀏覽器。這時候ArcGIS Engine不是“備選”而是當時2010–2018主流期最穩(wěn)的落地解法。它不依賴ArcGIS Desktop運行環(huán)境卻能復用ArcObjects全部地理處理能力不是黑匣子SDK而是把GIS內(nèi)核拆成COM組件讓你在VS里像拖Button一樣拖MapControl、TOCControl、ToolbarControl。課件講清了Engine與ArcGIS Desktop、ArcGIS Server、ArcGIS Runtime的本質區(qū)別前者是“進程內(nèi)嵌入”后者是“服務調(diào)用”或“輕量渲染”。源碼包不是Demo合集而是按真實項目節(jié)奏組織的6個遞進模塊從基礎地圖加載與圖層控制到地理數(shù)據(jù)庫編輯、空間查詢、緩沖區(qū)分析再到自定義工具條與GP工具調(diào)用。適合有C# WinForms基礎、需交付離線GIS功能的桌面端開發(fā)者尤其匹配某高校地理信息實驗室的畢業(yè)設計支撐需求、某市自然資源局歷史系統(tǒng)升級場景。這不是教你怎么點菜單而是教你把GIS能力真正“焊進”自己的程序里。2. 環(huán)境搭建與組件注冊VS2010 .NET Framework 3.5 ArcGIS Engine Runtime 的三重對齊ArcGIS Engine開發(fā)不是裝完VS就能跑它對開發(fā)環(huán)境有剛性約束。核心矛盾在于ArcObjects SDK面向COM而.NET Framework版本、Visual Studio版本、Engine Runtime版本必須形成閉環(huán)。常見誤操作是直接用VS2019新建項目結果引用ArcGIS Engine庫時爆紅——因為ArcObjects 10.8及之前版本官方僅支持VS2010/2012/2015且.NET Framework最高只認到3.5 SP1注意不是4.x不是4.7.2。下面步驟是某導師在模擬項目X中驗證過的最小可行路徑。2.1 開發(fā)機必備組件清單與安裝順序提示安裝順序不可顛倒。Runtime必須先于SDK安裝否則VS向導無法識別組件。組件版本要求安裝說明驗證方式Windows操作系統(tǒng)Windows 7 SP1 / Windows 10 180964位必須關閉UAC或以管理員身份運行安裝程序winver命令確認系統(tǒng)版本.NET Framework3.5 SP1非4.x控制面板→啟用或關閉Windows功能→勾選“.NET Framework 3.5包括.NET 2.0和3.0”reg query HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5 /v Install返回0x1Visual StudioVS2010 SP1或 VS2012 Update 5安裝時務必勾選“Visual C#”和“Visual C”組件新建C# Windows Forms App能編譯運行ArcGIS Engine Runtime與SDK同版本如10.7.1運行Setup.exe選擇“Runtime”類型安裝注冊表檢查HKEY_LOCAL_MACHINE\SOFTWARE\ESRI\ArcGIS Engine\Runtime存在ArcObjects SDK for .NET同Runtime版本安裝后自動向VS添加模板和引用向導VS2010新建項目→模板中可見“ArcGIS Engine Application”2.2 在VS2010中創(chuàng)建Engine項目并引用核心庫新建項目時不要選“空Windows窗體應用”而應使用SDK自帶模板——它已預置好必需的引用和配置。若模板未出現(xiàn)請手動執(zhí)行以下操作# 步驟1確認ArcObjects SDK安裝路徑典型為 # C:\Program Files (x86)\ArcGIS\DeveloperKit10.7.1\DesktopDotNet\ # 步驟2在VS2010中右鍵項目→“添加引用”→“瀏覽”→定位到 # C:\Program Files (x86)\ArcGIS\DeveloperKit10.7.1\DesktopDotNet\Assemblies\ # 依次添加以下4個核心DLL缺一不可 # ESRI.ArcGIS.System.dll # ESRI.ArcGIS.Controls.dll # ESRI.ArcGIS.Carto.dll # ESRI.ArcGIS.Geometry.dll邏輯說明ESRI.ArcGIS.Controls.dll提供MapControl、TOCControl等可視化控件ESRI.ArcGIS.Carto.dll負責圖層管理、符號化、地圖繪制ESRI.ArcGIS.Geometry.dll是空間運算底層ESRI.ArcGIS.System.dll是所有ArcObjects對象的根基。這四個DLL構成Engine開發(fā)的“最小運行集”比全量引用20個DLL更穩(wěn)定也避免GAC沖突。2.3 初始化ArcGIS License必須在Main()入口前完成Engine所有功能的前提是獲取合法許可。許可初始化代碼絕不能寫在窗體Load事件里而必須放在Program.cs的Main()方法最頂部。這是血淚經(jīng)驗——某同學曾把初始化放在Form1_Load中結果首次調(diào)用IWorkspaceFactory.Open()時靜默失敗調(diào)試器無報錯只返回null。// Program.cs using System; using ESRI.ArcGIS.RuntimeManager; using ESRI.ArcGIS.esriSystem; static class Program { [STAThread] static void Main() { // 關鍵必須在Application.Run前調(diào)用 if (!RuntimeManager.Bind(ProductCode.Engine)) { MessageBox.Show(無法綁定ArcGIS Engine運行時許可); return; } // 啟動許可檢查Engine需要Desktop Basic或更高 IAoInitialize aoInit new AoInitializeClass(); esriLicenseStatus status aoInit.Initialize(esriLicenseProductCode.esriLicenseProductCodeEngine); if (status ! esriLicenseStatus.esriLicenseAvailable) { MessageBox.Show($許可初始化失敗狀態(tài)碼{(int)status}); return; } Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new MainForm()); } }參數(shù)說明ProductCode.Engine表示目標運行時為Engine而非DesktopesriLicenseProductCodeEngine對應Engine Runtime許可級別非ArcView/Editor/Info。若現(xiàn)場只有Engine Runtime安裝無Desktop此初始化即為唯一許可來源若同時裝有Desktop則Engine可降級使用Desktop許可但反之不行。3. 核心控件集成MapControl與TOCControl的雙向綁定與事件聯(lián)動Engine開發(fā)中MapControl地圖顯示與TOCControl內(nèi)容列表不是獨立控件而是通過IMapControlEvents2和ITOCControlEvents形成強耦合。課件源碼中第2個模塊MapAndTOCDemo完整演示了二者如何實現(xiàn)“圖層開關同步”、“圖層順序拖拽”、“右鍵菜單聯(lián)動”三大剛需。很多新手卡在“點了TOC里的圖層卻不高亮地圖上對應要素”本質是沒建立事件橋接。3.1 MapControl與TOCControl的宿主關系設定TOCControl本身不持有地圖數(shù)據(jù)它必須明確指定“為哪個MapControl服務”。這個綁定不是UI拖放完成的而是代碼級強制關聯(lián)// MainForm.cs 構造函數(shù)中 public MainForm() { InitializeComponent(); // 步驟1為MapControl設置初始地圖文檔可為空 axMapControl1.LoadMxFile(); // 加載空地圖避免首次渲染異常 // 步驟2將TOCControl指向該MapControl關鍵 axTOCControl1.SetBuddyControl(axMapControl1); // 步驟3啟用TOCControl的交互能力默認禁用 axTOCControl1.Enabled true; axTOCControl1.AllowDragDrop true; // 允許拖拽調(diào)整圖層順序 }邏輯說明SetBuddyControl()是TOCControl的“認親”方法它內(nèi)部會訂閱MapControl的MapChanged、LayerAdded等事件并反向觸發(fā)TOC刷新。若跳過此步TOC永遠顯示空白或舊狀態(tài)。AllowDragDroptrue開啟圖層順序重排這是用戶最常提出的“為什么不能拖動圖層”的根源。3.2 圖層可見性同步解決TOC勾選不生效的地圖刷新問題TOCControl點擊圖層復選框時默認只改變圖層Visible屬性但MapControl不會自動重繪——必須手動觸發(fā)刷新。課件源碼中采用事件監(jiān)聽強制刷新組合拳// 訂閱TOCControl的OnItemChecked事件 private void axTOCControl1_OnItemChecked(object sender, ITOCControlEvents_OnItemCheckedEvent e) { // e.item是ITOCControlItem需轉換為ILayer ILayer layer e.item as ILayer; if (layer null) return; // 強制設置圖層可見性TOC可能未及時更新圖層狀態(tài) layer.Visible e.checkedState; // 關鍵通知MapControl重繪否則地圖不變 axMapControl1.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeography, null, null); } // 同時訂閱MapControl的OnAfterDraw事件確保地圖變化后TOC同步 private void axMapControl1_OnAfterDraw(object sender, IMapControlEvents2_OnAfterDrawEvent e) { if (e.drawPhase esriViewDrawPhase.esriViewGeography) { // 地圖地理要素繪制完成后刷新TOC顯示如比例尺變更導致圖層自動隱藏 axTOCControl1.Update(); } }參數(shù)說明PartialRefresh()第一個參數(shù)指定刷新范圍esriViewGeography表示僅重繪地理要素比FullRefresh快5倍以上第二個null表示刷新整個視圖第三個null為可選區(qū)域矩形。axTOCControl1.Update()是TOC主動拉取MapControl當前圖層狀態(tài)的“后悔藥”防止因異步操作導致狀態(tài)錯位。3.3 自定義TOC右鍵菜單添加“縮放到圖層”與“刪除圖層”功能原生TOCControl右鍵菜單只有“屬性”和“移除”實戰(zhàn)中必須擴展。課件源碼CustomTOCMenu.cs封裝了可復用的菜單構建邏輯// 在TOCControl的OnMouseDown事件中構建右鍵菜單 private void axTOCControl1_OnMouseDown(object sender, ITOCControlEvents_OnMouseDownEvent e) { if (e.button 2) // 右鍵 { ITOCControlItem item axTOCControl1.HitTest(e.x, e.y) as ITOCControlItem; if (item ! null item is ILayer) { ContextMenuStrip menu new ContextMenuStrip(); ToolStripMenuItem zoomToLayer new ToolStripMenuItem(縮放到圖層); zoomToLayer.Click (s, args) ZoomToLayer((ILayer)item); menu.Items.Add(zoomToLayer); ToolStripMenuItem removeLayer new ToolStripMenuItem(刪除圖層); removeLayer.Click (s, args) RemoveLayer((ILayer)item); menu.Items.Add(removeLayer); menu.Show(axTOCControl1, e.x, e.y); } } } private void ZoomToLayer(ILayer layer) { IActiveView activeView axMapControl1.ActiveView; IEnvelope env layer.AreaOfInterest; // 獲取圖層空間范圍 if (env ! null !env.IsEmpty) { activeView.Extent env; activeView.Refresh(); } } private void RemoveLayer(ILayer layer) { IMap map axMapControl1.Map; int index map.LayerCount - 1; while (index 0) { if (map.get_Layer(index) layer) { map.DeleteLayer(index); break; } index--; } axMapControl1.Refresh(); // 刷新地圖 }邏輯說明HitTest()通過坐標定位被點擊的TOC項避免誤操作AreaOfInterest比Extent更可靠——它返回圖層實際數(shù)據(jù)范圍而非圖層初始加載范圍DeleteLayer()必須從后往前遍歷因為刪除操作會改變索引從前遍歷會導致漏刪。4. 空間數(shù)據(jù)加載與編輯Shapefile直讀、Geodatabase事務控制與要素類創(chuàng)建Engine開發(fā)中數(shù)據(jù)加載不是“打開文件”那么簡單。Shapefile需處理編碼兼容性Geodatabase需管理工作空間與事務而要素編輯必須遵循IWorkspaceEdit生命周期。課件源碼第3模塊DataLoadingAndEditing覆蓋了這三類高頻場景其中“中文路徑Shapefile亂碼”和“Geodatabase編輯未提交”是兩大翻車重災區(qū)。4.1 Shapefile安全加載繞過ANSI編碼陷阱的UTF-8兼容方案Windows系統(tǒng)下ArcGIS Engine默認用系統(tǒng)ANSI編碼如GBK讀取Shapefile的.dbf文件。當路徑含中文或字段名含中文時IFeatureClass.GetFeatureCount()可能返回-1IFeatureCursor.NextFeature()拋出HRESULT E_FAIL。課件給出兩種實測有效解法// 方案1使用IWorkspaceFactory2接口推薦Engine 10.2 IWorkspaceFactory2 shpFactory new ShapefileWorkspaceFactoryClass() as IWorkspaceFactory2; // 設置編碼為UTF-8關鍵參數(shù) shpFactory.WorkspaceFactoryProperties CODEPAGE65001; IWorkspace workspace shpFactory.OpenFromFile(D:\數(shù)據(jù)\行政區(qū)劃.shp, 0); IFeatureWorkspace featureWorkspace workspace as IFeatureWorkspace; IFeatureClass fc featureWorkspace.OpenFeatureClass(行政區(qū)劃); // 方案2傳統(tǒng)IWorkspaceFactory 手動設置環(huán)境變量兼容舊版 IWorkspaceFactory shpFactoryOld new ShapefileWorkspaceFactoryClass(); // 在Open前設置系統(tǒng)環(huán)境變量需管理員權限 Environment.SetEnvironmentVariable(ARCGIS_SHAPE_ENCODING, UTF-8); IWorkspace workspaceOld shpFactoryOld.OpenFromFile(D:\數(shù)據(jù)\行政區(qū)劃.shp, 0);參數(shù)說明CODEPAGE65001是UTF-8的Windows代碼頁編號ARCGIS_SHAPE_ENCODING是ArcGIS內(nèi)部識別的環(huán)境變量僅對Shapefile有效。方案1更優(yōu)雅但要求Engine 10.2及以上方案2兼容性更好但需注意環(huán)境變量設置時機——必須在OpenFromFile()前且對同一進程內(nèi)所有Shapefile生效。4.2 Geodatabase編輯事務BeginEditOperation → StopEditOperation 的強制閉環(huán)在File Geodatabase或Personal Geodatabase中編輯要素必須顯式開啟/關閉編輯會話。課件源碼中EditGeodatabase.cs嚴格遵循四步法private void EditFeaturesInGDB() { IWorkspace workspace OpenGDBWorkspace(); // 打開.gdb目錄 IWorkspaceEdit workspaceEdit workspace as IWorkspaceEdit; try { // 步驟1開啟編輯會話必須 workspaceEdit.StartEditing(true); // true表示編輯可撤回 workspaceEdit.StartEditOperation(); // 開啟單個編輯操作 // 步驟2執(zhí)行編輯增刪改 IFeatureClass fc GetFeatureClass(workspace, Buildings); IFeatureBuffer buffer fc.CreateFeatureBuffer(); buffer.set_Value(fc.FindField(NAME), 新建筑); IFeature feature fc.CreateFeature(buffer); // 步驟3停止編輯操作必須 workspaceEdit.StopEditOperation(); // 步驟4停止編輯會話必須 workspaceEdit.StopEditing(true); // true表示保存更改 } catch (Exception ex) { // 關鍵異常時必須回滾否則鎖表 try { workspaceEdit.AbortEditOperation(); } catch { } try { workspaceEdit.StopEditing(false); } // false表示放棄更改 catch { } throw; } }邏輯說明StartEditOperation()和StopEditOperation()構成原子操作單元一個StopEditOperation()對應一個StartEditOperation()StopEditing(true)才真正寫入磁盤。若忘記StopEditOperation()StopEditing(true)會靜默失敗若忘記StopEditing().gdb文件將被鎖定后續(xù)任何操作都報“文件正被另一進程使用”。4.3 動態(tài)創(chuàng)建要素類定義幾何類型、字段與空間參考的完整鏈路課件源碼第4模塊CreateFeatureClassDemo演示了如何在空Geodatabase中創(chuàng)建帶空間參考的點要素類。核心是IFeatureClassDescription與IGeoDatasetSchemaEdit的配合private IFeatureClass CreatePointFeatureClass(IWorkspace workspace, string className) { IFeatureWorkspace fws workspace as IFeatureWorkspace; // 定義空間參考WGS84地理坐標系 ISpatialReferenceFactory srFactory new SpatialReferenceEnvironmentClass(); ISpatialReference sr srFactory.CreateGeographicCoordinateSystem((int)esriSRGeoCSType.esriSRGeoCS_WGS1984); // 創(chuàng)建字段集合 IFields fields new FieldsClass(); IFieldsEdit fieldsEdit fields as IFieldsEdit; fieldsEdit.AddField(CreateOIDField()); // OBJECTID fieldsEdit.AddField(CreateShapeField(sr)); // SHAPE點類型 fieldsEdit.AddField(CreateTextField(NAME, 50)); fieldsEdit.AddField(CreateIntegerField(AREA)); // 創(chuàng)建要素類描述 IFeatureClassDescription fcDesc new FeatureClassDescriptionClass(); fcDesc.InstanceMinimumHeight 0; fcDesc.InstanceMinimumWidth 0; // 執(zhí)行創(chuàng)建 IFeatureClass fc fws.CreateFeatureClass( className, fields, null, // CLSID默認 null, // EXTCLSID默認 esriFeatureType.esriFTSimple, // 簡單要素類 SHAPE, // 形狀字段名 // 模板空 ); // 設置空間參考必須否則SHAPE字段無坐標系 IGeoDataset geoDataset fc as IGeoDataset; geoDataset.SpatialReference sr; return fc; } private IField CreateShapeField(ISpatialReference sr) { IField field new FieldClass(); IFieldEdit fieldEdit field as IFieldEdit; fieldEdit.Name_2 SHAPE; fieldEdit.Type_2 esriFieldType.esriFieldTypeGeometry; fieldEdit.GeometryDef_2 CreateGeometryDef(esriGeometryType.esriGeometryPoint, sr); return field; }參數(shù)說明CreateGeometryDef()需傳入esriGeometryType.esriGeometryPoint明確指定點類型SpatialReference必須賦值給IGeoDataset而非僅設在字段上——這是90%新手遺漏的步驟導致創(chuàng)建的要素類在ArcMap中顯示“未知坐標系”。5. 空間分析與GP工具調(diào)用緩沖區(qū)生成、空間查詢與地理處理模型嵌入Engine開發(fā)的價值高峰在于復用ArcGIS成熟的空間分析能力。課件源碼第5模塊SpatialAnalysisDemo不滿足于調(diào)用ITopologicalOperator.Buffer()這種基礎接口而是打通了“代碼調(diào)用GP工具”這一企業(yè)級剛需——讓業(yè)務系統(tǒng)直接運行ModelBuilder導出的.tbx工具或調(diào)用內(nèi)置GP函數(shù)如Buffer_analysis。這比手寫算法更可靠也比Web API更可控。5.1 緩沖區(qū)分析ITopologicalOperator vs GP Buffer_analysis 的選型對比課件明確指出簡單單要素緩沖用ITopologicalOperator批量/復雜參數(shù)緩沖必須用GP。原因在于前者不支持融合Dissolve、不支持多環(huán)緩沖、不支持距離字段動態(tài)計算。// 方案1ITopologicalOperator適合單要素、固定距離 private IGeometry CreateBufferByTopo(IFeature feature, double distance) { ITopologicalOperator topoOp feature.Shape as ITopologicalOperator; topoOp.IsKnownSimple_2 false; topoOp.Simplify(); return topoOp.Buffer(distance); } // 方案2GP Buffer_analysis推薦全參數(shù)支持 private void RunBufferGPTool(string inputFC, string outputFC, string distance) { // 獲取GP工具對象 IGeoProcessor gp new GeoProcessorClass(); // 設置環(huán)境可選 IVariantArray parameters new VarArrayClass(); parameters.Add(inputFC); // 輸入要素類 parameters.Add(outputFC); // 輸出要素類 parameters.Add(distance); // 緩沖距離支持字段名如BUFFER_DIST parameters.Add(FULL); // 側類型 parameters.Add(ROUND); // 末端類型 parameters.Add(ALL); // 融合類型關鍵 // 執(zhí)行工具 IGeoProcessorResult result gp.Execute(Buffer_analysis, parameters, null); if (result.Status ! esriJobStatus.esriJobSucceeded) { throw new Exception($GP執(zhí)行失敗{result.Messages}); } }邏輯說明Buffer_analysis的ALL參數(shù)實現(xiàn)圖層內(nèi)所有要素緩沖區(qū)自動融合省去后續(xù)Dissolve_management步驟distance參數(shù)支持字符串如50 Meters或字段名比硬編碼靈活得多。IGeoProcessorResult.Messages包含詳細日志是排查GP失敗的唯一依據(jù)。5.2 空間查詢IQueryFilter的WHERE子句與空間關系雙重過濾課件強調(diào)IQueryFilter不是SQL執(zhí)行器而是空間查詢的“過濾器框架”。其WhereClause處理屬性條件Geometry與SpatialRel處理空間條件二者AND關系組合。private IFeatureCursor QueryByLocationAndAttribute(IFeatureClass fc, IGeometry queryGeom) { IQueryFilter filter new QueryFilterClass(); // 屬性條件只查STATUSACTIVE的要素 filter.WhereClause STATUS ACTIVE; // 空間條件與queryGeom相交 filter.Geometry queryGeom; filter.SpatialRel esriSpatialRelEnum.esriSpatialRelIntersects; // 關鍵設置空間參考否則空間關系判斷失效 if (queryGeom.SpatialReference null) { queryGeom.SpatialReference fc.ShapeCopy.SpatialReference; } return fc.Search(filter, false); } // 使用示例點擊地圖獲取點查詢周邊500米內(nèi)所有學校 private void axMapControl1_OnMouseDown(object sender, IMapControlEvents2_OnMouseDownEvent e) { if (e.button 1) // 左鍵 { IPoint clickPoint axMapControl1.ToMapPoint(e.x, e.y); // 構建500米緩沖區(qū)作為查詢范圍 ITopologicalOperator topo clickPoint as ITopologicalOperator; IGeometry buffer topo.Buffer(500); IFeatureCursor cursor QueryByLocationAndAttribute(schoolsFC, buffer); IFeature feature; while ((feature cursor.NextFeature()) ! null) { Console.WriteLine($找到學校{feature.get_Value(feature.Fields.FindField(NAME))}); } } }參數(shù)說明esriSpatialRelIntersects是最常用空間關系其他如esriSpatialRelWithin完全包含、esriSpatialRelContains包含查詢幾何需按業(yè)務精確選擇ToMapPoint()將屏幕像素轉為地圖坐標是點擊查詢的起點不可用ScreenDisplay.DisplayTransformation.ToMapPoint()替代。5.3 嵌入ModelBuilder工具.tbx文件的注冊、發(fā)現(xiàn)與參數(shù)傳遞課件源碼第6模塊EmbedModelTool展示了如何將ModelBuilder導出的.tbx工具無縫接入C#程序。核心是IGeoProcessor的工具箱注冊與動態(tài)參數(shù)構建private void RunModelTool() { IGeoProcessor gp new GeoProcessorClass(); // 步驟1注冊工具箱.tbx文件路徑 string toolboxPath C:\Tools\AnalysisModels.tbx; gp.AddToolbox(toolboxPath); // 步驟2獲取工具信息驗證是否存在 IGPTool tool gp.GetToolByName(SchoolAccessibilityModel, AnalysisModels); if (tool null) { throw new Exception(未找到指定工具); } // 步驟3構建參數(shù)數(shù)組順序必須與工具參數(shù)順序一致 IVariantArray parameters new VarArrayClass(); parameters.Add(D:\Data\Schools.shp); // 輸入學校 parameters.Add(D:\Data\Roads.shp); // 輸入道路 parameters.Add(D:\Output\Accessibility); // 輸出路徑 parameters.Add(500); // 緩沖距離字符串 parameters.Add(MINUTES); // 時間單位 // 步驟4執(zhí)行支持異步 IGeoProcessorResult result gp.Execute(tool.Name, parameters, null); // 步驟5獲取輸出參數(shù)Model可能有多個輸出 object outputValue; result.GetParameterValue(2, out outputValue); // 索引2對應第三個參數(shù)輸出路徑 Console.WriteLine($模型輸出{outputValue}); }邏輯說明AddToolbox()注冊后工具即可通過GetToolByName(toolName, toolboxAlias)獲取參數(shù)索引從0開始必須與ModelBuilder中參數(shù)順序嚴格一致GetParameterValue()用于提取模型執(zhí)行后的輸出值是自動化流水線的關鍵環(huán)節(jié)。6. 部署與避坑Engine Runtime打包、許可分發(fā)與64位兼容性終極排查寫完代碼只是開始部署到客戶機器才是真正的考驗。ArcGIS Engine的部署不是復制DLL那么簡單它涉及Runtime安裝、許可綁定、GAC注冊、甚至操作系統(tǒng)位數(shù)匹配。課件源碼附帶的DeploymentGuide.pdf和SetupBuilder項目正是為解決這些“寫代碼時看不見上線后全爆發(fā)”的問題而生。下面這5條是某公司交付12個Engine項目后總結的硬核避坑清單。6.1 避坑Runtime版本錯配、許可未綁定、GAC未注冊的三重靜默失敗現(xiàn)象原因解決程序啟動白屏無報錯任務管理器中進程秒退Engine Runtime未安裝或安裝版本與開發(fā)版本不一致如開發(fā)用10.7.1客戶機裝10.8在客戶機運行EngineRuntimeSetup.exe與開發(fā)環(huán)境同版本安裝時勾選“Desktop Runtime”和“Engine Runtime”用ArcGIS Administrator確認已激活Engine許可MapControl顯示灰色右下角提示“Not licensed”程序未調(diào)用RuntimeManager.Bind(ProductCode.Engine)或Bind()在Application.Run()之后執(zhí)行將RuntimeManager.Bind()和AoInitialize.Initialize()嚴格置于Program.Main()第一行用Reflector檢查ESRI.ArcGIS.System.dll是否被正確加載添加Shapefile后地圖無顯示axMapControl1.Map.LayerCount為0ESRI.ArcGIS.Controls.dll未注冊到GAC或VS引用路徑指向開發(fā)機SDK路徑而非GAC在客戶機以管理員身份運行gacutil -i C:\Program Files (x86)\ArcGIS\DeveloperKit10.7.1\DesktopDotNet\Assemblies\ESRI.ArcGIS.Controls.dll發(fā)布時確保引用屬性Copy LocalFalse依賴GAC調(diào)用GP工具時報“Failed to execute (Buffer)”且無詳細錯誤GeoProcessor未設置Environment.OutputWorkspace或輸出路徑不存在/無寫權限在Execute()前添加gp.SetEnvironmentValue(workspace, C:\Temp)確保輸出文件夾存在且程序有寫權限64位系統(tǒng)上程序崩潰事件查看器報“試圖加載格式不正確的程序”VS項目平臺目標設為AnyCPU或x64但Engine Runtime僅提供32位COM組件在VS中將項目屬性→“生成”→“目標平臺”強制設為x86發(fā)布時檢查axMapControl1等ActiveX控件是否在32位模式下注冊6.2 部署包制作使用InstallShield Limited Edition 打包Runtime與程序課件提供的SetupBuilder項目基于InstallShield LEVS2010自帶已預置Engine Runtime檢測邏輯。關鍵配置如下Prerequisites先決條件添加ArcGIS Engine Runtime 10.7.1條目設置Install Condition為NOT ENGINE_RUNTIME_INSTALLEDFiles文件主程序EXE、配置文件、資源文件夾不包含任何ESRI DLL由Runtime提供Registry注冊表添加鍵HKEY_LOCAL_MACHINE\SOFTWARE\ESRI\License\Engine值LicenseStatus1僅測試環(huán)境生產(chǎn)環(huán)境依賴客戶機已購許可Custom Actions自定義操作在InstallFinalize后添加腳本執(zhí)行gp.SetEnvironmentValue(scratchWorkspace, [INSTALLDIR]Scratch)確保臨時路徑可用。提示InstallShield LE不支持靜默安裝Runtime因此部署包需引導用戶手動點擊安裝Runtime——這是合規(guī)要求不可繞過。6.3 64位系統(tǒng)兼容性為什么必須強制x86以及如何驗證ArcGIS Engine所有版本截至10.8.1均為純32位COM組件。這意味著在64位Windows上你的EXE必須以32位進程運行才能加載axMapControl1等ActiveX控件若設為AnyCPU.NET會嘗試以64位加載導致Class not registered異常x64平臺目標則根本無法啟動因為找不到32位DLL。驗證方法客戶機上執(zhí)行# 查看進程位數(shù) tasklist /fi imagename eq YourApp.exe | findstr 32 # 查看axMapControl1是否注冊32位注冊表視圖 reg query HKEY_CLASSES_ROOT\CLSID\{8280A39F-292E-11D4-A390-00C04F6BC78E} /ve # 正常應返回axMapControl Class從那以后我每次交付Engine項目都會在客戶機上先運行ArcGIS Administrator確認Engine Runtime狀態(tài)再用Process Explorer檢查進程架構最后用Reflector驗證ESRI DLL是否從GAC加載——三步缺一不可。這套動作已幫我避開9次上線當天的緊急召回。希望幫到你。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
中文字幕文字幕无码一区二区三区电影99| 天天操av懂色| 日本999精品| 女人18精品一区二区三区| 天天日天天干少妇日| 亚洲欧美日韩二区视频| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 国精综合一二三区影视| 激情五月天网站| 久久动漫精品视频这里只有精品| 大香蕉欧美伊| A片大香蕉在线| 99久久婷婷丁香| 国产91福利小视频在线观看| 一区二区三区激情在线观看| 五月天伊人| 色777999综合| 精品人妻伦一二三区久久| 碰超人人在线一区二区三区| 翔田千里AⅤHD无码| 综合影院亚洲| 日韩免费高清大片在线| 中文幕97| 夂久色| 欧美少妇高潮视频| 99久久久无码| 午夜.DJ高清在线观看免费7| 欧美日韩青操| 免费看欧美美女黄色大片| 日产123区精品免费观看| 日韩乱伦AⅤ| 青青草原人妻| 999精品国产高清一区二区| 嫩草 人人网精品| 岛园激情| 日韩免费a级毛片无码a∨| 中美日韩毛片| 99亚亚热| 秋霞影音一区二区三区| 午夜亚洲| 日本久久综合| 黑丝内射一区二区三区| 99精品久久久久久久婷婷蜜桃| 91丨人妻丨国产丨丝袜| 亚洲日韩欧美一区二区| 国产欧美精品日韩区二区麻豆天美| 少妇久久| 色香天天| 狠久久| 人妻出轨一区二区三区| 99re公开精品免费视频| 亚洲情色视频| 国产人妻久久精品一区二区三区| 中文字幕版| 欧美日韩99| 国产精品人妻无码久久久互動交流 | 欧美日韩亚洲天堂| 在线亚洲丝袜视频网站| 91九久| JULIA一区二区三区在线播放| 电家庭影院午夜69久久夜色精品国产69乱| 人妻 欧美 中文| 亚洲操逼网| 亚洲av综合色区无码一| 国产无码久久高清| 日韩欧美亚洲一区二区三区影院| 高清无码91| 国产精品3| 极品粉嫩一区二区| 大香蕉99热| 男人的天堂.com| 97国产超湿| 亚州伊人色综台| 思思热免费视频观看| 乱伦一区二区三区‘| 综合网91| 日本免费一级AAA大片器| 日本潮催一卡操| 大香蕉日韩| 色妇综合网| 亚洲超碰97| 黄色片,com| 国产精品视频麻豆入口| 日韩另类| 玖玖爱综合| 天天天天天超碰| 伊人操操| 91n处女在线观看| 国产伦精品| 欧美国产精品久久九九| 天天综合网日韩7799| 青娱乐日韩无码| 77777亚洲蜜臀精品久久综合蜜臀| 开心五月婷婷| 五月开心久久AV官网| 国产精品色约约| 九九九九9999| 狠狠色噜噜狠狠狠狠狠色综合久久| blacked精品一区国产| 成人亚欧免费视频| 内射白嫩美女| 麻豆色约约| 亚洲超碰97| 在线可观看的黄色网址| 婷婷色一区| 久久精品高清无码一区| 偷拍综合网| www…国产操逼| 久久久久亚洲一区女同性恋中文字幕| 97操| 欧美三级不卡| 偷拍偷窥与盗摄视频专区| 粉嫩不卡一区二区性爱| 日本免费一区二| 日韩精品 欧美激情| 国产精品女生av| 丝袜熟女2P| 亚洲交换| 亚洲美乱| 日本影视久久免费| 福利风月五月天影院| 久久老熟女| 成年人一级黄色毛片大全在线观看| 粉嫩少妇自慰在线| 成人av在线播放| 嗯嗯啊啊视频一区二区三区| 日本一级特级毛片视频| 啊啊啊啊啊操我视频| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 97人人操人人摸| 九九国产热| 日韩无码视频黄色| 久久精品99久久久久久| 最新国产精品久久精品| 成人小电影网站tex| 亚洲综合小说另类图欧美视频激情小说色五月天| 天天色综亚洲91污| 91久操| 蜜桃午夜视频一区二区 | 亚洲欧美国产va在线播放频| 欧美v日韩v亚洲v最新在线| 91国产丝袜白虎| 欧美92| 亚洲人精品久久久| 久久99久久99精品天美传媒棢·纸:. | 丁香五月天啪啪| 久久精品性| 狼人久草| 天天摸天天插天天日| 六月丁香五月婷婷| 七月丁香婷婷| 日韩黄片视频试看| a天堂视频| 91精品女厕偷拍视频| AⅤ片水多多| 欧美视频一| 9国产超碰| 草草影院最新网址| 91成人在线免费视频| 色小视频蜜乳| 岛国AV一区二区电影| 麻豆乱码久久精| 青青草日本中文字幕| 久草在| 曰本特级特黄特色黄色A级网站高清在线免费看 | 秋霞 色色| 2024黄色视频| 日韩色欲久久一二三四区| 先锋激情∨在线视频播放| 成人性爱视频在线看| 十八禁成人网站在线观看| 欧美特大黄一级片片免费| 免费人成?大片在线播放| 99爱精品| 性性欧美| 亚洲人妻色图| 亚洲无码电影久久久| 中文有码第五页| 人妻人人澡人人爽人人| 欧美后入视频| 日韩色图 一区二区| 日本幼女18+| 一中国女人毛片水真多| 日韩不卡在线一区二区| 另类天堂| 亚洲天堂第一页| 久久久精品视频欧州站| 亚洲色天| 成人性爱美曰韩| 伊人网av| 黄色十八禁| 久久久亚洲精品中文字幕人妻| 精品九九九九九| 亚洲成人av电影在线| 成人午夜无码视频| 蜜桃色院一区久久 | 加勒比综合a∨| 无码人妻一区二区三区四区老鸭窝| 亚洲性爱成人| 色综合色| 亚洲天天在线| 91色碰| 亚洲成人妻日韩在线| 91成人亚洲色图| 色香欲影| 干日本人少妇午夜寂寞影院| 国产精品福利视频| 最新中文字幕精品在线| 人妻天天爽夜夜爽精品2| 久久同城AV| 亚洲另类春色| 婷婷五月天久久久| 亚精品无码毛片一区二区三区| 国产精品69久久久久孕妇欧美| 欧美精品久久96人妻无码| 日本在线播放不卡一区| 日韩精品9999| 性久久久| 99精品无码| 欧美亚州色的图| 大香蕉中文在线| 黄色小视频日本txt| 后入内射蜜桃臀| 九九人妻| 日亚韩精品视频二区三| 少妇内射www在线观看视频 | 91欧美色| 岛国片国产成人亚洲播放| 亚洲AV无码| 加勒比aⅴ| 国产一区二区欧美日本| 欧美影音在线| 人妻 丝袜美腿 中文字幕| 日本精品88888888| 人人人摸人人| 日韩在线人妻网站| 97超碰超碰| 色色99| 中文字幕日韩情色| 国产成人精品日本视频| 丰满人妻一区二区中文| 偷拍视频青青草在线视频| 中文字幕 国产 精品| 欲女人妻性色av| 亚洲 日本 国产 综合| www鬼畜国产男人的天堂| 在线看污网站| 99在线精品视频| 大屁股国产在线视频| 色天使亚洲综合在线观看| 2017大香蕉国产精品久久| ji熟女.com| 日本一区99| 国产三级在线现体验区| 亚洲日产专区婷婷| 中文日本免费高清| 神马久久69| 尤物黄色在线观看网站| 男人天堂综合| 五月丁香婷婷综合网| 91亚洲丝袜熟女| 综合色99| 色妺妺AⅤ| 亚洲国产欧美中文永久| 欧美日本不卡在线| 日韩三级网址| 国模不卡| 97综合激情| www五月| 久久精品一区二区一8| 91老熟女逼| 久久精品国产97欧美精品亚洲| 国产综合操逼高清| 97超碰超碰| 久视频在线观看| 9999久久久| 欧美午夜色妇色鬼| 国产日产欧产美韩系列麻豆免费| 免费综合亚洲中文| 啊啊啊啊操死我| 97日本超碰综合| 老司机深夜18禁污污网站| 91蜜臀在线久久久久| 眼镜人妻101.com| 九九av| 99热综合| 欧美爱三级日韩久久| 91黑丝操| 超碰亚洲97| 国产一区二区三区久久久精品| 亚洲性感丝袜诱惑在线观看| 97久久视频| 美女天天干| 91超碰碰在线| 校园春色 男人天堂 | 久久精品国产Aⅴ| 一个人在线看的黄色电影网站| 国产美女销魂在线观看不卡| 九九精品网| 亚洲蜜臀懂色| 精品性爱无码在线播放| 尤物av网站免费在线播放| 中亚黄色三级大片| 98一区二区精品| 久草视频在线视频在线视频在线观看| 91无遮挡| 蜜臀网址在线| 欧美 亚洲 偷拍自拍| 97超碰人操| 97色冈| 人妻aa| 成人午夜高潮av猛片| 强奸熟女一区二区三区| 伊人专区一区二区三区| 加勒比中文av| 四虎免费视频| 东北女人的毛片| 日本福利二区视频| 国产av美女被艹的乱叫| 一起草三级AV电影在线观看 | 中文字幕99999| 日产国产精品中文久久婷婷| 色色无码| av日韩在线观看电影| 九色黄站| 欧美综合中文| 九九九九欧美| 人妻少妇三级| 91偷拍欧美亚洲| 日本三级日本三级99| 国产中文字幕在线点播| 青娱乐淫乱1314| 亚洲图片小说欧洲| 操老熟女AV| 美女97超碰| 国产欧美亚洲精品a第2页| 国产精品国产自产高清AV| 亚洲97在线| 黑白配性爱AV成| 超碰97网址| 草草影院在线视频| 99久久婷婷国产综合精品草原| 精品少妇人妻av久久免费| 96久久久久| 日本道人妻久久久在线不卡色视频| 久久超碰98| 久久久久久久78| 91丝袜美女| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 中出789在线视频| 啊嗯好大视频在线观看| 久都青青视频| 爽爽歪在线视频| 日本色色色| 黄片直播三级黄片两女一男| 99九九久久| 婷婷亚洲五月***久久| 国产精品婬乱一级毛片彝族| 懂色天天爱天天日天天射天天澡| 国产精品无码av在线 | 中文字幕,人妻,日韩| 亚洲欧美成人网站AAA| 少妇久久久| 亚州一区二区| 国产色图乱伦| 激情五月综合开心五月| 无码操逼网| 欧美性爱1080p| 国产高清吃奶免费视频网站| 偷拍三区| 强奸乱伦日韩AV| 亚洲操逼无码| 激情色色| 日本一区二区三区精品| 九九九九日本 | 日日夜夜干| 天天色香欲综合网| 99re在线观看| 蜜桃狠狠色伊人亚洲综合 | 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 尤物黄色在线观看网站| 久久久久久电影| 91人妻做a观看视频| 操逼逼无码| 色九九综合| 天天干天天操天天干天天操| 亚洲欧美精品一区天堂久久 | 亚洲熟女综合网| 国产熟妇 码视频户外直播| 试看日韩黄片| 精品久久久久久中文字幕三区| 国内偷拍精品一区二区| 翔田千里Av在线| 久久精品店| 婷婷激情五月综合| 1区2区3区中文字幕日韩| 欧美亚洲激情一二三| 动漫av中文| 97ai亚洲| 永久免费av无码网站国产app| 欧美成人性爱视频免费观看| 婷婷综合在线| 好看的91视频| 欧美综合色图片| 人妻久久一区二区三区 | 欧美精品日韩一区二区| 美女人妻色网站| 熟女高潮合集-永久久久-成人AV| 中文字幕一区二区无码成人| 尤物视频一区| 日日日日日| 国产日韩人人| 综合欧美亚洲| 亚洲 欧美 手机在线观看| 殴美性色a级欧美| 九一综合网| 久久香蕉国产线看观看亚洲女人 | 亚洲国产欧美中文永久| 婷婷三区| 九九九九九九精品| 国产精品分类在线观看| 大香蕉久操| 久久99黄色卞西瓜| 欧美一区二区三熟女剧情| 啊啊啊好多水| 色情乱伦AV| 久久性爱城| 国产欧美一区二区| 97免费视频网| 超碰91在线| 亚洲色欲天天人妻无码系列专区| 天天α片| 亚洲无码偷拍| 91 刺激在线| 亚洲影视第一页| 人妻色偷色噜| 久久久一区二区三区四曲免费听| 97欧美色| 国产精品麻豆视频网站| 一级做a爰片性色毛片久久| 友优传媒精品在线一区二区| 亚洲巨爆乳一区二区三区四季网| 天天日B夜夜干B时时操B| 亚洲偷拍欧美激情| 超碰97国产欧美| AV丝袜少妇| 亚洲五月婷婷| 免费啪啪一级视频| 国产精品久久久无码AV网站| 99热最新| 高凊专区人人操| 亚洲aw毛茸茸在线| 26uuu久久| 天天综合网在线| 热热热热日日漂亮永久永久国产日| 91观看 国产白丝| 国语av最新自产拍在线观看| 日日摸日日碰| 美女91在线观看| 超碰在线一区二区| 中文字幕在线高清男人的天堂| 96久久久精品| 亚洲欧洲日韩天堂av| 天天综和| 免费福利视频中文字幕| 久久国99999| 蜜乳成人AV| 人妻精品4K4K4K4K4| 国产久久久| 99久久九九| 亚洲天天自拍| 伊人网av| 精品黄色电影| 97精品综合久久| 亚洲激情综合| 成人综合色网| 欧美96精品在线| www.99热| 天天澡天天爽日日AV| 91粉嫩萝控精品福利网站_精品影音先锋国 | 亚洲AV无码天美传媒一区| 97在线视频免费看| 伊人影院在线理论播放| 在线视频 亚洲精品| 男人天堂站| 亚洲黑人在线| 后入内射蜜桃臀| 人人干黄色| 操死我了嗯嗯嗯| 免费啪啪一级视频| 欧美青青视频| 黑人操一区二区| 精品区国产区一区二区三区| 天天爽夜夜欢视| a片自拍直播视频| 国产99 中文字幕日韩小视频| 色爱综合网| 五月丁香影视| 2019天天干| 欧美v日韩欧亚洲电影天堂色诱,国产传媒| 日韩成年人性爱视频| 91av天美性媒精品视频| 欧美一级美片在线观看免费| 精品人妻一区春色| 综合网色| 日本精品一级二级三级| 精品无码一区二区人妻久久蜜桃| 久久一级无码精品毛片6| 亚洲综合有码| 天天影视网综合少妇| 一个人免费视频观看在线WWW| 欧美在线啊啊啊| 亚洲国产成人精品无码专区| 99999国产精品| 久久、1234| 色噜噜人妻丝袜a∨先锋影| 九九热国产| 99re8免费高清在线| 国产黄色av大片网站| 啊啊啊啊啊好多水| 天堂国产AV| 在线看免费无码AV天堂的| 密臀国产在线| 极品少妇99| www欧美性爱| 久9re热视频这里只有精品| 精品无码一区二区三区色欲| 亚洲国产熟妇综合色专区| 欧美日韩操逼嗦吊| 精品久久久久久久| 国产美女91视频| 久久香蕉国产线看观看猫咪av| 97超碰国产亚洲精品| 日本超碰在线国产一区| 93人人操人人| 欧美成人贴图| 亚洲在高跟鞋自慰久久在色线| 久久久国产三级黄色片| 又大又长又粗又爽又黄| 国产自偷| 伊人aaa| 伊人影院中文字幕| 国产1769在线| 国产毛片久久久久久久| 性色亚洲| 欧美色亚洲色| 日韩精品人妻中文字有码在线| 爱射综合| 在线v中文字幕一区二区三区| 嗯嗯啊啊好爽| 人妻久久| 青青草原成人| 丁香五月天久久精品视频一区二区三区| 五月丁香啪啪网| 乱伦Av网| 国产免费操逼| 歐美性天天| 91视频观看网站| 99激情| 日本精品第一视频在'| 亚洲精品蜜桃久久久久久久| 久 久无码人妻AV| 欧美同性恋 的搜索结果 - 91n| 精品无码久久久久| 日本成人免费一区二区三区| 无码日韩网站| 嫩草一区二区在线观看| 中欧人妻丝袜中文字幕| 抽插亚洲无码| 91N综合网| 91在线丝袜| 日本一级不卡一二区| 神马久久啊啊| 国产美女激情| 国产性刺激| 久久精彩视频9| 黄色污污污污污污网站| 男人的天堂亚洲| 中文字幕精品日韩中文字幕| 大香蕉久| 久久精品 六十路 熟女 欧美| 青草精品视频日本久久久久网站在线| 骚鸭AV| 中文字幕熟女人妻丝袜丝| 久久国色天香香蕉| 800zy一区二区| 欧美成人9797| 精品视频123区小说区| 国产乱伦一二三区| 人妻中文在线| 熟妇熟女亚洲天堂网| 大香蕉伊利av| 亚洲色图a| 热久久九九热| 一本色道久久综合熟妇| 久草成人影片| 婷婷国产精品一区二区| 91 综合网| 91另类| 欧美色图91| 97视频免费在线观看| 尤物av网站免费在线播放| 色综合国产在线观看| 色就色综合| 97在线免费视频| 亚洲高清视频在线免费观看| 久久亚州精品成人Av无| av在线免费一区二区| 欧美自拍偷拍免费观看| 五月综合久久| 9久久9综合| 9999九九九久久久| 蜜臀99久久精品久久久久久| 美女诱惑一区| 秋霞一区二区三区四区五区六区七区| 嗯嗯啊啊好大好爽| 丝袜色综合| 亚洲 日本 不卡| 欧美高清无码免费视频高清版| 色翁荡息又大又硬又粗又爽| www网站黄| 少妇超碰在线| 精品中文日韩字幕视频| 乱色老一区二区三区的观看方式| 欧美性爱一区二区三区| 波多野42部激情无码喷潮| 草草影院最新网址| 久久性爱视频| 九九九九九九九九九五码| 欧美另类天堂| 99热只有这里有精品| 久久香蕉国产线看观看猫咪av| 亚州操逼图| www.夜夜操| 91美乳| 亚洲日本大香蕉1| 97欧美综合网| 亚洲天堂一区二区久久| av中文在线| 啊啊啊啊啊啊好湿好爽视频| JuliaAnnXXX888| 九九精品99| 一本一道vs波多野结衣| 九九久久久九九| 久草精品一区 | 亚洲精品1区| 欧美图片色五月天| 黄色AV免费| 一区二区娱乐网站| 色九九九综合| 九九九精品| 色官网在线| wwwss在线观看| 九九九九欧美| 性色AV网站| 五月婷色| 久久久久久裸体| 99re热有精品视频国产| 亚洲夜色在线| 亚洲欧美97√| 亚洲av影院在线观看| 亚洲天堂另类美腿| 大香蕉草草| 欧美 日韩 亚洲 春色| 91色久| 久久久网一区| 69精品| 成人av动漫在线观看| 一区二区三区色综合| 東南亚性呦成人伦理资源在线视频| 人人干人人操人人..com| 综合大香蕉美。| 亚洲在线a| 精品综合久久久久久97| 国产白丝AV| 亚洲AV性爱电影| 激情欧美日韩女同久久| 亚洲欧洲成人在线电影| 久操B网| 人妻 欧美亚洲| 中文字幕中文字幕一区二区| 影音先锋一区二区在线资源| 我要去看2个日本美女.com曹逼| 素人播放一区| 一区二区三区高清| 中亚精品极乱| 欧美美女视频| 99这里有精品视频| 久操国产在线| 亚洲免费人妻在| 少好三P| 粉嫩不卡一区二区性爱| 天天影视之亚洲综合网| 人妻精品一区二区在线| 91成人在线| 13小男生GAY自慰脱裤子| 欧美天天综| 91性高朝久久久久久久久| 国产精品一二三免费网站| 九九热av| 麻豆天美国美国产AV| 青青草好吊色| 好淫网一二三视区| 外站AV在线| 一级黄色影片| 中文字幕欧美丝袜07资源| 黑操B| 久久久精品网站| 99re6国产精品99re在线| 成人午夜小视频手机在线看| 日本无码1| 亚洲欧美日韩精品久久久一区二区 | 日韩大香蕉| 国产动漫操逼视频| 啊啊啊啊二区好大| 国产免a费看黄片在线| 97这里都是精品| 人人妻人人爽 97人人看碰人免费公开视频| 中文字幕版| 妇女性内射冈站HDWWWCOM| 97在线欧洲| 久久综合资源一区二区| 国产青青综合伊人| 超碰久久中文| 秋霞网无码| 久噜噜| 国产欧美日韩在线不卡第一页| 嗯嗯不要 视频| 亚洲伊人久久精品狠狠在线| 国产成人精品必看 | 久久本道| www.91理论| 一区二区三区一亚洲中文字幕、综合区灬| 青青草视频久久| 黄片免费视频2019| 蜜桃午夜视频一区二区| 大香蕉在线86| 欧美成人贴图| 四虎 精品 WWW| 丰满人妻一区二区三区大胸懂色| 久久啊啊啊| 欧美 亚洲 制服 精品| 成年女人黄网站| 国产白丝AV| 日本免费不卡二区| 极品尤物在线观看| 久久久国产av美女私房| 精品人妻一区二区三区视频在线| av大香蕉网站| 国产动漫操逼视频| 一级片在线观看高清无码| 偷拍导航视频网站| 国产美女口爆吞精| 91亚洲黑人| 精品亚洲黄色片 国产精品导航一区二区 | www网站黄| 老司机午夜精品视频| 麻豆色约约| 久久久久久久久久久久黄色| 大香蕉啪啪网| 午夜福利免费精品视频| 国内伊人久久久久久网站视频| 综合网亚| 在线电影亚洲色图| 婷婷AV一区二区三区| 超碰99在线观看| 色情乱伦AV| 亚洲欧美校园| 久久啊哟| 久操操AV电影| 亚洲九九爱| 欧美成人午夜免费福利785| 综合色拍| 亚洲av综合色区图片亚洲| 不卡九肏| 亚洲无码国产精品久久| 欧美91精彩| 97免费在线视频在线观看| 亚洲无无码αⅴ每日更新| 人人操欧美风骚| 欧洲亚洲天堂精品| 综合激情97 | 欧美色www亚洲国产阿娇要播| q2午夜理论片夜色av| 人妻无码久久一区二区三区免费| 国产亚洲 中文欧美久久| 亚洲熟女中文字幕在线| 日韩人妻免费精品| 人妻一区视频| 成人无码在线超碰网| 亚洲精品少妇| 超碰九区| 国产女主播视频在线观看| 亚洲情色在线| 成人综合网 欧美| 天天日天天射天天干| 91AV老熟女视频| 嗯嗯啊啊视频在线看| 人人操人人摸人| 久久综合久色欧美综合狠狠 | 亚洲综合性感在线| 综合国产97| 日韩av熟女一区二区三区成人| 一区二区你上我| 久无码| 久久日韩毛| 怡红院视频在线| 国产女同在线观看视频| 欧美成人国产精品| 青青草吊丝| 蜜臀亚洲中文| 亚洲国产一区二区三区在线| 午夜激情床戏激情| 欧美性天天影视| 国产999精品久久久久久| 婷婷色在线| 91熟女熟妇视频网站| 精品丰满人妻一区二区三区免费观| 99久久9| 亚洲熟妇自偷自拍另欧美| 免费夜夜爱黄色视频毛片| 亚洲欧洲国产综合av| 国产成人自拍视频在线| 97干在线视频| 亚洲欧洲偷拍一区| 好淫网一二三视区| 99热aaa| 热久日综合| 98超碰日本| 精品日日人妻| 精品综合久久久久久五月天| 日韩一区二区精彩视频| 色欲天天婬色婬香WWW夜色| 激情小说日韩无码| 亚洲成a人片在线观看中文!!!| 亚洲一卡2卡3卡4卡乱码网站 | 天天色综合影视网| 97综合在线| 91在线观看,天天综合| 狠狠爱夜夜| 国产成人超碰在线| av天堂天堂av日韩| 女人爽到高潮潮喷18禁网站 | 极品白嫩福利在线| 日韩啪啪啪视频| 人妻激情视频| 精品人妻免费观看| 懂色av色欲av蜜臀av| 亚洲黄色影视| 67194无码不卡| 国产精品一区二区麻豆| 久久国产乱子伦精品免费女,网站| 午夜精品久久一区二区| 色综合av男人天堂| av天堂影视中文在字幕在线中文| 日韩钢筋无码高清啾啾啾| 久久一区二区加油站| 综合色91| 中文字幕乱在线伦视频中文字幕乱码在线 | 欧美图片校园春色| 97se亚洲综合自| 韩国一级婬片A片无码天美| 人人天天干干| 97色色色综合网站| 一二区在线观看视频| 国语精品对白| 欧州一区二区三区四区| 久久久久成人亚洲国产| 97舔舔| 天欧美在线| 久9爱精品| 亚洲无码视频免费在线观看网址!| 欧美一级久久久久久久大片动画| 五月丁香| 成人片视频| 中文字幕丰满人妻日本| 国产精品大屁股999| 日韩综合无码一区久久92| 人人操人人93| 久久伊人大香蕉| 一区二区日韩欧美久久| 91亚洲黑人| 国产2.3.4区| 国产毛片在线| 欧美日韩222| 国产精品视频麻豆入口| 嗯嗯啊啊好爽| 91色香| 久久九九国产精品| 欧美亚洲第1页| 高清孕妇孕交 交| 精品视频免费在线一区| 欧美日韩夜夜| 亚洲欧美碰碰| 亚洲一区二区三区AV无码 | 亚洲欧美国产成人综合不卡| 国产亚洲欧洲在线观看| 天天亚洲| 色爱国产| 超碰这里有精品| 国产精品午夜福利亚洲综合网| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 91天天c| 操国产高清| 五月综合久久| 男人天堂毛片| 插日本熟女视频| 黄资源| 香港澳门日本三级网站| 九九九九久久久| 日韩射图| 日韩999| 亚洲男人天堂视频| 深田咏美亚洲精品福利社| 综合久久99亚洲人妻中文在线| 久九九九| 国产精品一区二区三区在线密挑| 色路综合| 亚洲成?V人片在线观看福利| 日本黄色XXX| 伦激情人妻另类人妻| 又大又白奶子| 蜜臀久久久99久久久久 | 欧美性暴力猛交XXXX | 一区二区娱乐网站| 9久超碰| 亚洲av总站| 精品免费一区| 久操综合在线| 桃色五月天| 亚洲欧美综合网 | 丝袜美腿丝袜| 国产成人自拍视频在线| 精品少妇99| 婷婷色婷婷| 久久女女| www.yw尤物| 777超碰| 91人妻丝袜无码| 草草草视频在线免费看| 欧美色图天堂网m| A一区片| 欧美少妇性乱| 亚洲中文一区二区三区| 欧美性综合| 成人免费不卡在线视频| 亚洲AV色图一区| 97色色色| 日本精品五区| 国产精品欧美激在线| 免费的很黄很污的全部视频| 国产传媒一区日韩| 中文一区在线视频| 亚春色色| 亚洲色电影在线| 欧美se亚洲| 国产精品com| 伦在线97| 午夜理论片在线观看免费| 成人精品一区二区三区| 中国一区二区亚洲人妻| 色拍偷亚洲| 国产精品爽爽v| 欧美在线干| 久久熟女人| 亚洲精品久久久久毛片A片拉屎 | 大香蕉伊人色偷偷在线| 久久欲| 999九九九九国产动| 中国东北熟女老太婆内谢| 密臀在线一区尤物| 日韩二级| 91干熟女| 欧美色图色综合| 亚洲一本色码中文字幕| 全免费a敌肛交毛片免费| 91人妻人人澡人人爽人人精品| 五月丁香啪| 国产精品人妻一区二区| 亚洲影视高清第一页| 亚洲有码 欧美精品| 1级午夜影院费免区| 久久一二三四五六七八九区| 久久理论字幕视频| 亚洲精品官网在线观看| 91青青草| 国产欧美黑人丰满在线| 欧美综合骚| 精品一区二区在线针对华人免费观看这里只有精品免费观看 | 青春草A| 777奇米影视777四色| 国产精品第一区第一页| 超碰这里有精品| 日本亚洲vr欧美不卡高清专区| 国产乱伦亚洲| 蜜区区视频79 | 在线亚洲丝袜视频网站| 欧美少妇色图| 男人的天堂日韩| 四虎永久在线精品免费网址| 韩国一级做A片免费的| 尤物av网站免费在线播放| 亚洲涩图欧美| 97免费免费视频网| 婷婷色导航| 91在线精品一区二区三区| 日本一卡二区在线| 婷婷美人网| 欧美精品成人亚洲| 亚洲国产午夜真人一级片中文字幕精品黄网站 | 亚洲综合春色| 国产福利av精彩对白| 亚洲av性爱电影| 99999亚洲另类| 狠狠2050在线观看| Av色五月| 99在线无码精品秘 入口黑人| 少妇的嫩逼图片| 好屌色综合| 亚州成人a∨| 国产精品一二三免费网站| 欧美日韩 强奸乱伦| 日韩黄片影院| 99在线精品视频| 热久日综合| 四月丁香婷婷| 91亚洲黑人| 91超级碰碰碰| 另类 日韩 熟女| 国产精品ⅴ无码大片在线看.| 中文字幕精品探花视频| 亚洲国产亚洲天堂| 麻豆国产第一| 自拍丝袜美腿人妻| 日产国产精品中文久久婷婷| www.狠狠| 丁香五月影院| 国产亚州日韩欧美看片| 国产粉嫩出水在线播放| 国产AV激情无码久久无码| 日韩精品在线观看观看| 无遮挡又黄又刺激的视频| 91视频在线观看18| 无套后入双马尾| 亚洲男人天堂手机版| 天天综合,91入口| 色女免费在线观看视频网址| 抽插爽| 日韩丝袜高跟制服在线观看| 黄色大片一区二区密桃丝袜| www老逼91| 欧洲天天在线| www老逼91| 久久久久久久九九九九九九| 淫色网综合| 久草精品热视| 蜜桃中文字日产乱幕4区| 久妇网| 激情图片亚洲色图| 色鬼在线综合| 精品丰满人妻一区二区三区免费观| 99久久9| 五月婷婷六月天| 亚洲 91 在线| 久久一区无码| 久久只有精品一区二区三区| 人人操天天爽| 天天天天做夜夜夜夜做| 精品亚州18| 97超色| 中文字幕免费在线观看| 欧美日韩精品久久久久久久久东北老熟妇| 国产午夜精品一区二区三区牛牛| 亚洲国产97| 97视频在线免费观看| 精品日韩人妻精品一二三区| 亚洲春色欧美激情自拍| 久草视频在线视频在线视频在线观看| h4610国产人妻| 青娱乐欧美激情一区二区| 中文字幕一区二区三区高清| 熟女人妻一区二区三区| 亚洲图片偷拍视频区| 成视频在线观看免费看| 久碰视频| 97人亚洲综合字幕| 欧美伦乱爱| 动漫爆乳3D奶水一区在线观看| 白嫩国模丰满一二三区| 五月丁香婷婷综合网| 人妻天天爽夜夜爽爽| 黄色十八禁网站| …中文字幕亚洲乱,97人妻无码费视… | 人人摸人人舔一区二区| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区 | 日本有码影片下载 | 欧美九九九| 欧美日韩中文视频播放| 99久久精品欧美国产| 日韩国产成人自拍视频| 婷婷五月成人| 久久嫩草国产成人一区| 欧美色色人| 久久精品区| 51久久夜色精品国产麻豆| 国产精品蜜乳AV| 91国产精品在线看| 骚货人妻偷情自拍在线视频| 99久热精品99re6热| 日韩有码专区| 久久精品福利影院| 超碰人人干| 亚州色站 日韩电影| 婷婷人妻激情| 黄色免费一级在线毛片| 强奸xx国产| 96AV久久久| 亚洲性高潮| 国产资源中文字幕在线 | 国产亚洲福利第一页丝袜| 日本天堂网| 超碰久草| 欧美一级在线观看成人| 国产美女mm131爽爽爽爽| 91精品久久久久久77777| 亚洲色图加勒比| 天美传媒精品久久视频| 欧美亚洲第一页| 超碰人人超在线观看| 极品白嫩福利在线| 欧美天堂亚洲电影院一区在线播放| 9118禁| 免费看久久久性性| 精爱久久| 无码人妻1727| 午夜理论片在线观看免费| 熟女一区二区| 久久精品无码熟妇一区二区三区视频导航| 人人做,人人操,人人摸| AAA久久| 亭亭在线资源| 国产毛片毛片4p懂色| 2020国产精品| 狠操91,com| 中文乱码字字幕在线第5页| 操逼操网| 美骚妇av高清在线| 天天日天天操天天射河南省| 99精彩视频| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 国产视频小说| 日韩操p| 五月丁香| 欧美丰满少妇交换91欧美精品| 亚州免费啪啪视频| 97 亚洲 日韩 欧美 在线| 国产美女高潮视频| 中文字幕交换人妻| 欧洲与亚洲欧美精品中文字幕| 啊啊啊啊啊在线|