欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,av无码精品一区二区久久,欧美性爱视频不卡一区三区,欧美乱人伦视频在线观看,国产一级牲交高潮

ARTICLE DETAIL

資訊詳情

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

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

ArcGIS Engine桌面GIS開(kāi)發(fā)實(shí)戰(zhàn):COM組件嵌入與離線空間分析 簡(jiǎn)介本資源是面向GIS開(kāi)發(fā)初學(xué)者與進(jìn)階工程師的ArcGIS Engine組件式開(kāi)發(fā)系統(tǒng)教程聚焦桌面端GIS應(yīng)用定制化開(kāi)發(fā)能力培養(yǎng)解決從理論認(rèn)知到代碼落地的關(guān)鍵斷層問(wèn)題。壓縮包共3030個(gè)文件47.98MB涵蓋950個(gè)C#源碼文件含csproj與sln工程結(jié)構(gòu)、366個(gè)位圖資源、294個(gè)resources本地化資源及202個(gè)resx多語(yǔ)言配置支撐完整項(xiàng)目構(gòu)建與界面開(kāi)發(fā)另有9個(gè)PPT課件系統(tǒng)講解GIS基礎(chǔ)、Engine架構(gòu)、IMapControl/IFeatureLayer等核心接口、地圖操作、空間分析及.NET組件開(kāi)發(fā)全流程。目前已有168人學(xué)習(xí)下載配套源碼嚴(yán)格對(duì)應(yīng)課件章節(jié)含地圖加載、圖層管理、數(shù)據(jù)編輯、自定義工具等典型場(chǎng)景實(shí)現(xiàn)所有工程可直接編譯運(yùn)行并附帶gdb地理數(shù)據(jù)庫(kù)、adf柵格數(shù)據(jù)、lyr圖層文件等真實(shí)GIS數(shù)據(jù)樣本便于邊學(xué)邊練、快速?gòu)?fù)現(xiàn)專業(yè)GIS功能。1. ArcGIS Engine組件式開(kāi)發(fā)不是插件也不是二次開(kāi)發(fā)平臺(tái)而是“可嵌入、可裁剪、可部署”的桌面GIS內(nèi)核級(jí)集成方案你手頭有個(gè)老系統(tǒng)用的是C# WinForms寫(xiě)的業(yè)務(wù)流程現(xiàn)在要加一個(gè)地圖模塊——能加載本地Shapefile、支持點(diǎn)選查詢、畫(huà)多邊形做空間分析但又不能讓用戶額外裝ArcMap也不愿上WebGIS走瀏覽器。這時(shí)候ArcGIS Engine不是“備選”而是當(dāng)時(shí)2010–2018主流期最穩(wěn)的落地解法。它不依賴ArcGIS Desktop運(yùn)行環(huán)境卻能復(fù)用ArcObjects全部地理處理能力不是黑匣子SDK而是把GIS內(nèi)核拆成COM組件讓你在VS里像拖Button一樣拖MapControl、TOCControl、ToolbarControl。課件講清了Engine與ArcGIS Desktop、ArcGIS Server、ArcGIS Runtime的本質(zhì)區(qū)別前者是“進(jìn)程內(nèi)嵌入”后者是“服務(wù)調(diào)用”或“輕量渲染”。源碼包不是Demo合集而是按真實(shí)項(xiàng)目節(jié)奏組織的6個(gè)遞進(jìn)模塊從基礎(chǔ)地圖加載與圖層控制到地理數(shù)據(jù)庫(kù)編輯、空間查詢、緩沖區(qū)分析再到自定義工具條與GP工具調(diào)用。適合有C# WinForms基礎(chǔ)、需交付離線GIS功能的桌面端開(kāi)發(fā)者尤其匹配某高校地理信息實(shí)驗(yàn)室的畢業(yè)設(shè)計(jì)支撐需求、某市自然資源局歷史系統(tǒng)升級(jí)場(chǎng)景。這不是教你怎么點(diǎn)菜單而是教你把GIS能力真正“焊進(jìn)”自己的程序里。2. 環(huán)境搭建與組件注冊(cè)VS2010 .NET Framework 3.5 ArcGIS Engine Runtime 的三重對(duì)齊ArcGIS Engine開(kāi)發(fā)不是裝完VS就能跑它對(duì)開(kāi)發(fā)環(huán)境有剛性約束。核心矛盾在于ArcObjects SDK面向COM而.NET Framework版本、Visual Studio版本、Engine Runtime版本必須形成閉環(huán)。常見(jiàn)誤操作是直接用VS2019新建項(xiàng)目結(jié)果引用ArcGIS Engine庫(kù)時(shí)爆紅——因?yàn)锳rcObjects 10.8及之前版本官方僅支持VS2010/2012/2015且.NET Framework最高只認(rèn)到3.5 SP1注意不是4.x不是4.7.2。下面步驟是某導(dǎo)師在模擬項(xiàng)目X中驗(yàn)證過(guò)的最小可行路徑。2.1 開(kāi)發(fā)機(jī)必備組件清單與安裝順序提示安裝順序不可顛倒。Runtime必須先于SDK安裝否則VS向?qū)o(wú)法識(shí)別組件。組件版本要求安裝說(shuō)明驗(yàn)證方式Windows操作系統(tǒng)Windows 7 SP1 / Windows 10 180964位必須關(guān)閉UAC或以管理員身份運(yùn)行安裝程序winver命令確認(rèn)系統(tǒng)版本.NET Framework3.5 SP1非4.x控制面板→啟用或關(guān)閉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安裝時(shí)務(wù)必勾選“Visual C#”和“Visual C”組件新建C# Windows Forms App能編譯運(yùn)行ArcGIS Engine Runtime與SDK同版本如10.7.1運(yùn)行Setup.exe選擇“Runtime”類型安裝注冊(cè)表檢查HKEY_LOCAL_MACHINE\SOFTWARE\ESRI\ArcGIS Engine\Runtime存在ArcObjects SDK for .NET同Runtime版本安裝后自動(dòng)向VS添加模板和引用向?qū)S2010新建項(xiàng)目→模板中可見(jiàn)“ArcGIS Engine Application”2.2 在VS2010中創(chuàng)建Engine項(xiàng)目并引用核心庫(kù)新建項(xiàng)目時(shí)不要選“空Windows窗體應(yīng)用”而應(yīng)使用SDK自帶模板——它已預(yù)置好必需的引用和配置。若模板未出現(xiàn)請(qǐng)手動(dòng)執(zhí)行以下操作# 步驟1確認(rèn)ArcObjects SDK安裝路徑典型為 # C:\Program Files (x86)\ArcGIS\DeveloperKit10.7.1\DesktopDotNet\ # 步驟2在VS2010中右鍵項(xiàng)目→“添加引用”→“瀏覽”→定位到 # C:\Program Files (x86)\ArcGIS\DeveloperKit10.7.1\DesktopDotNet\Assemblies\ # 依次添加以下4個(gè)核心DLL缺一不可 # ESRI.ArcGIS.System.dll # ESRI.ArcGIS.Controls.dll # ESRI.ArcGIS.Carto.dll # ESRI.ArcGIS.Geometry.dll邏輯說(shuō)明ESRI.ArcGIS.Controls.dll提供MapControl、TOCControl等可視化控件ESRI.ArcGIS.Carto.dll負(fù)責(zé)圖層管理、符號(hào)化、地圖繪制ESRI.ArcGIS.Geometry.dll是空間運(yùn)算底層ESRI.ArcGIS.System.dll是所有ArcObjects對(duì)象的根基。這四個(gè)DLL構(gòu)成Engine開(kāi)發(fā)的“最小運(yùn)行集”比全量引用20個(gè)DLL更穩(wěn)定也避免GAC沖突。2.3 初始化ArcGIS License必須在Main()入口前完成Engine所有功能的前提是獲取合法許可。許可初始化代碼絕不能寫(xiě)在窗體Load事件里而必須放在Program.cs的Main()方法最頂部。這是血淚經(jīng)驗(yàn)——某同學(xué)曾把初始化放在Form1_Load中結(jié)果首次調(diào)用IWorkspaceFactory.Open()時(shí)靜默失敗調(diào)試器無(wú)報(bào)錯(cuò)只返回null。// Program.cs using System; using ESRI.ArcGIS.RuntimeManager; using ESRI.ArcGIS.esriSystem; static class Program { [STAThread] static void Main() { // 關(guān)鍵必須在Application.Run前調(diào)用 if (!RuntimeManager.Bind(ProductCode.Engine)) { MessageBox.Show(無(wú)法綁定ArcGIS Engine運(yùn)行時(shí)許可); return; } // 啟動(dòng)許可檢查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ù)說(shuō)明ProductCode.Engine表示目標(biāo)運(yùn)行時(shí)為Engine而非DesktopesriLicenseProductCodeEngine對(duì)應(yīng)Engine Runtime許可級(jí)別非ArcView/Editor/Info。若現(xiàn)場(chǎng)只有Engine Runtime安裝無(wú)Desktop此初始化即為唯一許可來(lái)源若同時(shí)裝有Desktop則Engine可降級(jí)使用Desktop許可但反之不行。3. 核心控件集成MapControl與TOCControl的雙向綁定與事件聯(lián)動(dòng)Engine開(kāi)發(fā)中MapControl地圖顯示與TOCControl內(nèi)容列表不是獨(dú)立控件而是通過(guò)IMapControlEvents2和ITOCControlEvents形成強(qiáng)耦合。課件源碼中第2個(gè)模塊MapAndTOCDemo完整演示了二者如何實(shí)現(xiàn)“圖層開(kāi)關(guān)同步”、“圖層順序拖拽”、“右鍵菜單聯(lián)動(dòng)”三大剛需。很多新手卡在“點(diǎn)了TOC里的圖層卻不高亮地圖上對(duì)應(yīng)要素”本質(zhì)是沒(méi)建立事件橋接。3.1 MapControl與TOCControl的宿主關(guān)系設(shè)定TOCControl本身不持有地圖數(shù)據(jù)它必須明確指定“為哪個(gè)MapControl服務(wù)”。這個(gè)綁定不是UI拖放完成的而是代碼級(jí)強(qiáng)制關(guān)聯(lián)// MainForm.cs 構(gòu)造函數(shù)中 public MainForm() { InitializeComponent(); // 步驟1為MapControl設(shè)置初始地圖文檔可為空 axMapControl1.LoadMxFile(); // 加載空地圖避免首次渲染異常 // 步驟2將TOCControl指向該MapControl關(guān)鍵 axTOCControl1.SetBuddyControl(axMapControl1); // 步驟3啟用TOCControl的交互能力默認(rèn)禁用 axTOCControl1.Enabled true; axTOCControl1.AllowDragDrop true; // 允許拖拽調(diào)整圖層順序 }邏輯說(shuō)明SetBuddyControl()是TOCControl的“認(rèn)親”方法它內(nèi)部會(huì)訂閱MapControl的MapChanged、LayerAdded等事件并反向觸發(fā)TOC刷新。若跳過(guò)此步TOC永遠(yuǎn)顯示空白或舊狀態(tài)。AllowDragDroptrue開(kāi)啟圖層順序重排這是用戶最常提出的“為什么不能拖動(dòng)圖層”的根源。3.2 圖層可見(jiàn)性同步解決TOC勾選不生效的地圖刷新問(wèn)題TOCControl點(diǎn)擊圖層復(fù)選框時(shí)默認(rèn)只改變圖層Visible屬性但MapControl不會(huì)自動(dòng)重繪——必須手動(dòng)觸發(fā)刷新。課件源碼中采用事件監(jiān)聽(tīng)強(qiáng)制刷新組合拳// 訂閱TOCControl的OnItemChecked事件 private void axTOCControl1_OnItemChecked(object sender, ITOCControlEvents_OnItemCheckedEvent e) { // e.item是ITOCControlItem需轉(zhuǎn)換為ILayer ILayer layer e.item as ILayer; if (layer null) return; // 強(qiáng)制設(shè)置圖層可見(jiàn)性TOC可能未及時(shí)更新圖層狀態(tài) layer.Visible e.checkedState; // 關(guān)鍵通知MapControl重繪否則地圖不變 axMapControl1.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeography, null, null); } // 同時(shí)訂閱MapControl的OnAfterDraw事件確保地圖變化后TOC同步 private void axMapControl1_OnAfterDraw(object sender, IMapControlEvents2_OnAfterDrawEvent e) { if (e.drawPhase esriViewDrawPhase.esriViewGeography) { // 地圖地理要素繪制完成后刷新TOC顯示如比例尺變更導(dǎo)致圖層自動(dòng)隱藏 axTOCControl1.Update(); } }參數(shù)說(shuō)明PartialRefresh()第一個(gè)參數(shù)指定刷新范圍esriViewGeography表示僅重繪地理要素比FullRefresh快5倍以上第二個(gè)null表示刷新整個(gè)視圖第三個(gè)null為可選區(qū)域矩形。axTOCControl1.Update()是TOC主動(dòng)拉取MapControl當(dāng)前圖層狀態(tài)的“后悔藥”防止因異步操作導(dǎo)致?tīng)顟B(tài)錯(cuò)位。3.3 自定義TOC右鍵菜單添加“縮放到圖層”與“刪除圖層”功能原生TOCControl右鍵菜單只有“屬性”和“移除”實(shí)戰(zhàn)中必須擴(kuò)展。課件源碼CustomTOCMenu.cs封裝了可復(fù)用的菜單構(gòu)建邏輯// 在TOCControl的OnMouseDown事件中構(gòu)建右鍵菜單 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(); // 刷新地圖 }邏輯說(shuō)明HitTest()通過(guò)坐標(biāo)定位被點(diǎn)擊的TOC項(xiàng)避免誤操作AreaOfInterest比Extent更可靠——它返回圖層實(shí)際數(shù)據(jù)范圍而非圖層初始加載范圍DeleteLayer()必須從后往前遍歷因?yàn)閯h除操作會(huì)改變索引從前遍歷會(huì)導(dǎo)致漏刪。4. 空間數(shù)據(jù)加載與編輯Shapefile直讀、Geodatabase事務(wù)控制與要素類創(chuàng)建Engine開(kāi)發(fā)中數(shù)據(jù)加載不是“打開(kāi)文件”那么簡(jiǎn)單。Shapefile需處理編碼兼容性Geodatabase需管理工作空間與事務(wù)而要素編輯必須遵循IWorkspaceEdit生命周期。課件源碼第3模塊DataLoadingAndEditing覆蓋了這三類高頻場(chǎng)景其中“中文路徑Shapefile亂碼”和“Geodatabase編輯未提交”是兩大翻車重災(zāi)區(qū)。4.1 Shapefile安全加載繞過(guò)ANSI編碼陷阱的UTF-8兼容方案Windows系統(tǒng)下ArcGIS Engine默認(rèn)用系統(tǒng)ANSI編碼如GBK讀取Shapefile的.dbf文件。當(dāng)路徑含中文或字段名含中文時(shí)IFeatureClass.GetFeatureCount()可能返回-1IFeatureCursor.NextFeature()拋出HRESULT E_FAIL。課件給出兩種實(shí)測(cè)有效解法// 方案1使用IWorkspaceFactory2接口推薦Engine 10.2 IWorkspaceFactory2 shpFactory new ShapefileWorkspaceFactoryClass() as IWorkspaceFactory2; // 設(shè)置編碼為UTF-8關(guān)鍵參數(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 手動(dòng)設(shè)置環(huán)境變量兼容舊版 IWorkspaceFactory shpFactoryOld new ShapefileWorkspaceFactoryClass(); // 在Open前設(shè)置系統(tǒng)環(huán)境變量需管理員權(quán)限 Environment.SetEnvironmentVariable(ARCGIS_SHAPE_ENCODING, UTF-8); IWorkspace workspaceOld shpFactoryOld.OpenFromFile(D:\數(shù)據(jù)\行政區(qū)劃.shp, 0);參數(shù)說(shuō)明CODEPAGE65001是UTF-8的Windows代碼頁(yè)編號(hào)ARCGIS_SHAPE_ENCODING是ArcGIS內(nèi)部識(shí)別的環(huán)境變量?jī)H對(duì)Shapefile有效。方案1更優(yōu)雅但要求Engine 10.2及以上方案2兼容性更好但需注意環(huán)境變量設(shè)置時(shí)機(jī)——必須在OpenFromFile()前且對(duì)同一進(jìn)程內(nèi)所有Shapefile生效。4.2 Geodatabase編輯事務(wù)BeginEditOperation → StopEditOperation 的強(qiáng)制閉環(huán)在File Geodatabase或Personal Geodatabase中編輯要素必須顯式開(kāi)啟/關(guān)閉編輯會(huì)話。課件源碼中EditGeodatabase.cs嚴(yán)格遵循四步法private void EditFeaturesInGDB() { IWorkspace workspace OpenGDBWorkspace(); // 打開(kāi).gdb目錄 IWorkspaceEdit workspaceEdit workspace as IWorkspaceEdit; try { // 步驟1開(kāi)啟編輯會(huì)話必須 workspaceEdit.StartEditing(true); // true表示編輯可撤回 workspaceEdit.StartEditOperation(); // 開(kāi)啟單個(gè)編輯操作 // 步驟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停止編輯會(huì)話必須 workspaceEdit.StopEditing(true); // true表示保存更改 } catch (Exception ex) { // 關(guān)鍵異常時(shí)必須回滾否則鎖表 try { workspaceEdit.AbortEditOperation(); } catch { } try { workspaceEdit.StopEditing(false); } // false表示放棄更改 catch { } throw; } }邏輯說(shuō)明StartEditOperation()和StopEditOperation()構(gòu)成原子操作單元一個(gè)StopEditOperation()對(duì)應(yīng)一個(gè)StartEditOperation()StopEditing(true)才真正寫(xiě)入磁盤(pán)。若忘記StopEditOperation()StopEditing(true)會(huì)靜默失敗若忘記StopEditing().gdb文件將被鎖定后續(xù)任何操作都報(bào)“文件正被另一進(jìn)程使用”。4.3 動(dòng)態(tài)創(chuàng)建要素類定義幾何類型、字段與空間參考的完整鏈路課件源碼第4模塊CreateFeatureClassDemo演示了如何在空Geodatabase中創(chuàng)建帶空間參考的點(diǎn)要素類。核心是IFeatureClassDescription與IGeoDatasetSchemaEdit的配合private IFeatureClass CreatePointFeatureClass(IWorkspace workspace, string className) { IFeatureWorkspace fws workspace as IFeatureWorkspace; // 定義空間參考WGS84地理坐標(biāo)系 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點(diǎn)類型 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默認(rèn) null, // EXTCLSID默認(rèn) esriFeatureType.esriFTSimple, // 簡(jiǎn)單要素類 SHAPE, // 形狀字段名 // 模板空 ); // 設(shè)置空間參考必須否則SHAPE字段無(wú)坐標(biāo)系 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ù)說(shuō)明CreateGeometryDef()需傳入esriGeometryType.esriGeometryPoint明確指定點(diǎn)類型SpatialReference必須賦值給IGeoDataset而非僅設(shè)在字段上——這是90%新手遺漏的步驟導(dǎo)致創(chuàng)建的要素類在ArcMap中顯示“未知坐標(biāo)系”。5. 空間分析與GP工具調(diào)用緩沖區(qū)生成、空間查詢與地理處理模型嵌入Engine開(kāi)發(fā)的價(jià)值高峰在于復(fù)用ArcGIS成熟的空間分析能力。課件源碼第5模塊SpatialAnalysisDemo不滿足于調(diào)用ITopologicalOperator.Buffer()這種基礎(chǔ)接口而是打通了“代碼調(diào)用GP工具”這一企業(yè)級(jí)剛需——讓業(yè)務(wù)系統(tǒng)直接運(yùn)行ModelBuilder導(dǎo)出的.tbx工具或調(diào)用內(nèi)置GP函數(shù)如Buffer_analysis。這比手寫(xiě)算法更可靠也比Web API更可控。5.1 緩沖區(qū)分析ITopologicalOperator vs GP Buffer_analysis 的選型對(duì)比課件明確指出簡(jiǎn)單單要素緩沖用ITopologicalOperator批量/復(fù)雜參數(shù)緩沖必須用GP。原因在于前者不支持融合Dissolve、不支持多環(huán)緩沖、不支持距離字段動(dòng)態(tài)計(jì)算。// 方案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工具對(duì)象 IGeoProcessor gp new GeoProcessorClass(); // 設(shè)置環(huán)境可選 IVariantArray parameters new VarArrayClass(); parameters.Add(inputFC); // 輸入要素類 parameters.Add(outputFC); // 輸出要素類 parameters.Add(distance); // 緩沖距離支持字段名如BUFFER_DIST parameters.Add(FULL); // 側(cè)類型 parameters.Add(ROUND); // 末端類型 parameters.Add(ALL); // 融合類型關(guān)鍵 // 執(zhí)行工具 IGeoProcessorResult result gp.Execute(Buffer_analysis, parameters, null); if (result.Status ! esriJobStatus.esriJobSucceeded) { throw new Exception($GP執(zhí)行失敗{result.Messages}); } }邏輯說(shuō)明Buffer_analysis的ALL參數(shù)實(shí)現(xiàn)圖層內(nèi)所有要素緩沖區(qū)自動(dòng)融合省去后續(xù)Dissolve_management步驟distance參數(shù)支持字符串如50 Meters或字段名比硬編碼靈活得多。IGeoProcessorResult.Messages包含詳細(xì)日志是排查GP失敗的唯一依據(jù)。5.2 空間查詢IQueryFilter的WHERE子句與空間關(guān)系雙重過(guò)濾課件強(qiáng)調(diào)IQueryFilter不是SQL執(zhí)行器而是空間查詢的“過(guò)濾器框架”。其WhereClause處理屬性條件Geometry與SpatialRel處理空間條件二者AND關(guān)系組合。private IFeatureCursor QueryByLocationAndAttribute(IFeatureClass fc, IGeometry queryGeom) { IQueryFilter filter new QueryFilterClass(); // 屬性條件只查STATUSACTIVE的要素 filter.WhereClause STATUS ACTIVE; // 空間條件與queryGeom相交 filter.Geometry queryGeom; filter.SpatialRel esriSpatialRelEnum.esriSpatialRelIntersects; // 關(guān)鍵設(shè)置空間參考否則空間關(guān)系判斷失效 if (queryGeom.SpatialReference null) { queryGeom.SpatialReference fc.ShapeCopy.SpatialReference; } return fc.Search(filter, false); } // 使用示例點(diǎn)擊地圖獲取點(diǎn)查詢周邊500米內(nèi)所有學(xué)校 private void axMapControl1_OnMouseDown(object sender, IMapControlEvents2_OnMouseDownEvent e) { if (e.button 1) // 左鍵 { IPoint clickPoint axMapControl1.ToMapPoint(e.x, e.y); // 構(gòu)建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($找到學(xué)校{feature.get_Value(feature.Fields.FindField(NAME))}); } } }參數(shù)說(shuō)明esriSpatialRelIntersects是最常用空間關(guān)系其他如esriSpatialRelWithin完全包含、esriSpatialRelContains包含查詢幾何需按業(yè)務(wù)精確選擇ToMapPoint()將屏幕像素轉(zhuǎn)為地圖坐標(biāo)是點(diǎn)擊查詢的起點(diǎn)不可用ScreenDisplay.DisplayTransformation.ToMapPoint()替代。5.3 嵌入ModelBuilder工具.tbx文件的注冊(cè)、發(fā)現(xiàn)與參數(shù)傳遞課件源碼第6模塊EmbedModelTool展示了如何將ModelBuilder導(dǎo)出的.tbx工具無(wú)縫接入C#程序。核心是IGeoProcessor的工具箱注冊(cè)與動(dòng)態(tài)參數(shù)構(gòu)建private void RunModelTool() { IGeoProcessor gp new GeoProcessorClass(); // 步驟1注冊(cè)工具箱.tbx文件路徑 string toolboxPath C:\Tools\AnalysisModels.tbx; gp.AddToolbox(toolboxPath); // 步驟2獲取工具信息驗(yàn)證是否存在 IGPTool tool gp.GetToolByName(SchoolAccessibilityModel, AnalysisModels); if (tool null) { throw new Exception(未找到指定工具); } // 步驟3構(gòu)建參數(shù)數(shù)組順序必須與工具參數(shù)順序一致 IVariantArray parameters new VarArrayClass(); parameters.Add(D:\Data\Schools.shp); // 輸入學(xué)校 parameters.Add(D:\Data\Roads.shp); // 輸入道路 parameters.Add(D:\Output\Accessibility); // 輸出路徑 parameters.Add(500); // 緩沖距離字符串 parameters.Add(MINUTES); // 時(shí)間單位 // 步驟4執(zhí)行支持異步 IGeoProcessorResult result gp.Execute(tool.Name, parameters, null); // 步驟5獲取輸出參數(shù)Model可能有多個(gè)輸出 object outputValue; result.GetParameterValue(2, out outputValue); // 索引2對(duì)應(yīng)第三個(gè)參數(shù)輸出路徑 Console.WriteLine($模型輸出{outputValue}); }邏輯說(shuō)明AddToolbox()注冊(cè)后工具即可通過(guò)GetToolByName(toolName, toolboxAlias)獲取參數(shù)索引從0開(kāi)始必須與ModelBuilder中參數(shù)順序嚴(yán)格一致GetParameterValue()用于提取模型執(zhí)行后的輸出值是自動(dòng)化流水線的關(guān)鍵環(huán)節(jié)。6. 部署與避坑Engine Runtime打包、許可分發(fā)與64位兼容性終極排查寫(xiě)完代碼只是開(kāi)始部署到客戶機(jī)器才是真正的考驗(yàn)。ArcGIS Engine的部署不是復(fù)制DLL那么簡(jiǎn)單它涉及Runtime安裝、許可綁定、GAC注冊(cè)、甚至操作系統(tǒng)位數(shù)匹配。課件源碼附帶的DeploymentGuide.pdf和SetupBuilder項(xiàng)目正是為解決這些“寫(xiě)代碼時(shí)看不見(jiàn)上線后全爆發(fā)”的問(wèn)題而生。下面這5條是某公司交付12個(gè)Engine項(xiàng)目后總結(jié)的硬核避坑清單。6.1 避坑Runtime版本錯(cuò)配、許可未綁定、GAC未注冊(cè)的三重靜默失敗現(xiàn)象原因解決程序啟動(dòng)白屏無(wú)報(bào)錯(cuò)任務(wù)管理器中進(jìn)程秒退Engine Runtime未安裝或安裝版本與開(kāi)發(fā)版本不一致如開(kāi)發(fā)用10.7.1客戶機(jī)裝10.8在客戶機(jī)運(yùn)行EngineRuntimeSetup.exe與開(kāi)發(fā)環(huán)境同版本安裝時(shí)勾選“Desktop Runtime”和“Engine Runtime”用ArcGIS Administrator確認(rèn)已激活Engine許可MapControl顯示灰色右下角提示“Not licensed”程序未調(diào)用RuntimeManager.Bind(ProductCode.Engine)或Bind()在Application.Run()之后執(zhí)行將RuntimeManager.Bind()和AoInitialize.Initialize()嚴(yán)格置于Program.Main()第一行用Reflector檢查ESRI.ArcGIS.System.dll是否被正確加載添加Shapefile后地圖無(wú)顯示axMapControl1.Map.LayerCount為0ESRI.ArcGIS.Controls.dll未注冊(cè)到GAC或VS引用路徑指向開(kāi)發(fā)機(jī)SDK路徑而非GAC在客戶機(jī)以管理員身份運(yùn)行g(shù)acutil -i C:\Program Files (x86)\ArcGIS\DeveloperKit10.7.1\DesktopDotNet\Assemblies\ESRI.ArcGIS.Controls.dll發(fā)布時(shí)確保引用屬性Copy LocalFalse依賴GAC調(diào)用GP工具時(shí)報(bào)“Failed to execute (Buffer)”且無(wú)詳細(xì)錯(cuò)誤GeoProcessor未設(shè)置Environment.OutputWorkspace或輸出路徑不存在/無(wú)寫(xiě)權(quán)限在Execute()前添加gp.SetEnvironmentValue(workspace, C:\Temp)確保輸出文件夾存在且程序有寫(xiě)權(quán)限64位系統(tǒng)上程序崩潰事件查看器報(bào)“試圖加載格式不正確的程序”VS項(xiàng)目平臺(tái)目標(biāo)設(shè)為AnyCPU或x64但Engine Runtime僅提供32位COM組件在VS中將項(xiàng)目屬性→“生成”→“目標(biāo)平臺(tái)”強(qiáng)制設(shè)為x86發(fā)布時(shí)檢查axMapControl1等ActiveX控件是否在32位模式下注冊(cè)6.2 部署包制作使用InstallShield Limited Edition 打包Runtime與程序課件提供的SetupBuilder項(xiàng)目基于InstallShield LEVS2010自帶已預(yù)置Engine Runtime檢測(cè)邏輯。關(guān)鍵配置如下Prerequisites先決條件添加ArcGIS Engine Runtime 10.7.1條目設(shè)置Install Condition為NOT ENGINE_RUNTIME_INSTALLEDFiles文件主程序EXE、配置文件、資源文件夾不包含任何ESRI DLL由Runtime提供Registry注冊(cè)表添加鍵HKEY_LOCAL_MACHINE\SOFTWARE\ESRI\License\Engine值LicenseStatus1僅測(cè)試環(huán)境生產(chǎn)環(huán)境依賴客戶機(jī)已購(gòu)許可Custom Actions自定義操作在InstallFinalize后添加腳本執(zhí)行g(shù)p.SetEnvironmentValue(scratchWorkspace, [INSTALLDIR]Scratch)確保臨時(shí)路徑可用。提示InstallShield LE不支持靜默安裝Runtime因此部署包需引導(dǎo)用戶手動(dòng)點(diǎn)擊安裝Runtime——這是合規(guī)要求不可繞過(guò)。6.3 64位系統(tǒng)兼容性為什么必須強(qiáng)制x86以及如何驗(yàn)證ArcGIS Engine所有版本截至10.8.1均為純32位COM組件。這意味著在64位Windows上你的EXE必須以32位進(jìn)程運(yùn)行才能加載axMapControl1等ActiveX控件若設(shè)為AnyCPU.NET會(huì)嘗試以64位加載導(dǎo)致Class not registered異常x64平臺(tái)目標(biāo)則根本無(wú)法啟動(dòng)因?yàn)檎也坏?2位DLL。驗(yàn)證方法客戶機(jī)上執(zhí)行# 查看進(jìn)程位數(shù) tasklist /fi imagename eq YourApp.exe | findstr 32 # 查看axMapControl1是否注冊(cè)32位注冊(cè)表視圖 reg query HKEY_CLASSES_ROOT\CLSID\{8280A39F-292E-11D4-A390-00C04F6BC78E} /ve # 正常應(yīng)返回axMapControl Class從那以后我每次交付Engine項(xiàng)目都會(huì)在客戶機(jī)上先運(yùn)行ArcGIS Administrator確認(rèn)Engine Runtime狀態(tài)再用Process Explorer檢查進(jìn)程架構(gòu)最后用Reflector驗(yàn)證ESRI DLL是否從GAC加載——三步缺一不可。這套動(dòng)作已幫我避開(kāi)9次上線當(dāng)天的緊急召回。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
99在线精品免费视频| 五月激香蕉网| 操逼在线视频| 色亭亭丁香五月天| 狼人婷婷久久| 亚州激情在线视频| 久久婷婷五月综合色天| 激情久久五月天| 天天插天天射| 成人网丁香五月| 久久婷婷青青草| 久久综合激情婷婷激情| 中美日韩成人在线| 俺去也五月| 美女激情婷婷| 97干在线播放| 无码91中文字幕| 婷婷五月色综合| 99热官网精品在线| 在线只有精品| 五月丁六月香| 天天爽在线视频| 色五月婷婷五月天| 日本成人噜噜噜| 99热精品在线观看| 狠狠五月激情丁香六月| 久操大香蕉| www.超碰在线| 久久丁香五月天| 99热日韩| 91av色色乱视频| 91丨九色丨丰满人妖| 天天做天天爱天天爽夜夜揉| Av在线不卡一区| 久久hd| 久久久久这里都是精品| 1024在线视频| 最近中文字幕在线中文视频| 久9热视频| 电影爱拉战争免费观看| 五月香婷婷| 婷婷六月丁香激情综合| 极品色丁香| 大香蕉手机视频| 亚洲天堂aaa| 丁香九月综合| 婷婷五月欧美| 夜精品无码A片一区二区蜜桃| 毛片色五月| 色婷婷久久综合| 欧美成人猛片AAAAAAA| 五月丁香婷婷基地| 天天干夜夜欢| 五月天第四色开心色播| 国产激情在线| 99久久久精品| 成人做爰A片免费看网站找不到了| www,五月丁,com| 日韩99视频| 国产肥白大熟妇BBBB视频| 五月丁香六月婷婷综合网缴情| 91肏| 黄色短视频在线观看| 玖玖99福利| 色99综合色88| 操人91| 婷婷香五月天| 六月丁香综合999| 国产午夜精品一区二区| 97超级碰人人| 丰满少妇猛烈A片免费看观看| 狠狠色噜噜狠狠狠狠综合| 五月色亭丁香| 五月天激情四射| 男女av免费看| 国产亚洲精品AAAA片APP| 深爱丁香网| www.色色com| 欧美日韩999| 婷婷色五月婷| 深爱婷婷丁香五月激情| 天天操夜夜玩!| 久久久婷婷五月亚洲97号色| 五月日韩中文字幕| 26uuu国产| www.99热在线| 丁香五月婷婷视频| 日日插日日干| 丁香五月天啪啪激情综和网 | 99精品成人无码A片观看金桔 | 五月丁香亚洲校园欧美| XX久久| 国产麻豆视频| 免费无码毛片一区二区A片| 五月丁香成人| 日本婷久久| 丁香五月综合网亚洲综合欧美狠狠| 五月色在线| 97热九九| 超碰资源在线| 久热91精品| 91 久热| 无码激情AAAAA片-区区 | 国产成人av在线播放| 伊人喵咪a V| 夜夜操狠狠操| 大狠狠在线| 婷婷涩五月| 色婷婷AⅤ| 在线视频九色97| 99爱在线视频| 婷婷色色五月天| 狠狠操综合| 婷婷射图| 久久9视频| 天天色天天| 久久机热思思热| 婷婷丁香五月天小说| 人人草成人视频| 丁香五月中文字幕| 色五月激情视频在线综合| 激情视频91| 日本三级毛片| 久婷婷婷| 婷婷月五天在线在线看| 色狠狠激情五月| 婷婷激情五月综合| 综合在线网| 国产99美少妇| 艹| 四色 爱 婷婷 精品 亚洲 五月天| 六月色色| 久草久青福利| 色情五月天婷婷| 亚洲99手机免费看视频| 日韩爱操视频| 丁香五月影院| 五月婷婷成人| 国产精品VIDEOSSEX久久发布| 天天操天爱综合| 五月天色综合服务平台| 99热日| 《》【无码】想被搞到爽AV应募而来的超M素人 西纯子 10musume-011723-01 | 国产美女无遮挡裸体毛片A片| 中文字幕无码人妻少妇免费视频| 日本V在线观看不卡视频网站| 成人无码精品1区2区3区免费看| 天天综合精品| 久久视9精| 蜜臀综合久草| 久久精品91视频| 日韩精品999| 99内射视频| 99在线观看精品| 91九色在线| 去干网av| 激情综合色五月丁香六月亚洲| 亚州精品久久久久AV无码| 99久久成人| 五月亭亭综合五码| 亚洲熟妇无码乱子AV电影| 亚洲激情综合网| 夜夜骑夜夜操| 久久免费少妇高潮99精品| 亚洲婷婷综合视频| 伊人久久婷婷| 久久aaaa片一区二区| 丁香色婷婷五月天| 成人va在线播放| 国产婷婷色综合AV蜜臀AV | 狠狠操综合| 丁香婷婷激情综合五月激情 | 狠狠色噜噜狠狠| 丁香婷婷激情| 成人精品视频99在线观看免费| 淫视馆av三区| 色色综合网站| 五月天激情av| 五月天婷婷久久视频| 激情五月丁香五月色| 久久精品日| 丁香婷婷网| 狠狠久久婷五月综合色| 婷婷丁香十月| 国产毛片欧美毛片久久久| 四色五月婷婷| 只有精品在线观看| 五月婷婷天天| 香蕉人妻AV久久久久天天| 激情五月婷婷色色| 婷婷色五月噜噜| 精品成人a v无码内射| AAA久久| 欧类av怡春院| 亚洲综合激情五月久久| 色五月婷婷一二| 能看的AV| 天堂色婷婷| 婷婷五月天.com| 激情五月天婷婷丁香| 五月天啪啪| 五月天婷婷婷| 99色6爱9热| 五月激情婷婷女| 日日夜夜婷婷| 伊人久久婷婷| 九九热青青草| 久久精品小视频| 久久久久久97| 色婷婷色综合| 国产婷婷五月中文字幕高清| 久久久久久久久久8888| 婷婷久久18| 五月天成人在线视频丁香| 99热免费观看| 9l视频自拍九色9l黑人| 伊人干练久| 伊人婷婷五月天| 日韩有码一区| 五月婷婷狠狠干| 久久婷婷五月| 色综合大香蕉| 五月丁香影视| 亚洲成人av中文| 精品色情一区二区三区四区| 91爱操| 九一娱乐在线观看视频| 激情网站综合五月天| 色情五月丁香| 97综合色片| 色婷婷裸体色性在线| 久久婷婷色| 亚洲免费电影2| 天天综合天天做天天综合| 免费观看亚洲AV片| 99乱视频| 欧美99视频| 色婷婷激情视频| 天天激情夜夜干| 久热大香蕉| 日韩在线一级| 亚洲五月天婷婷综合| 99热日本| 欧美va国产va| 五月综合色| 亚洲五月婷婷| 99综合网| 狠狠搞五月天| 综合网天天| 婷婷激情视频| 激情人妻综合| 色久女| 综合啪啪| 婷婷久久久久| 激情久久肏屄视频| 丁香五月手机在线| 九久9精品| 9久热在线精品| 成人婷婷五月| 久久这里只有精品视频15| 五月社区婷婷激情| 丁香久久在线| 亚洲天码视频www蛋播视频| 婷婷丁香综合网| 婷婷六月丁香1| 久久九九网| 久久婷婷五月综合97色一本| 成人精品在线观看| 九九婷婷五月天影视| 99亚洲天堂| 激情涩涩网| 天天干天天拍| 亚洲开心激情网| 午夜少妇在线观看视频| 五月丁香久久久| 久草婷婷在线| 亚洲 小说 欧美 激情 另类| 丁香五月瑟瑟| 99久久精品国产色欲| 69精品人人人人人人| 亚洲综合色色色| 秋霞网在线免费基地五月婷婷丁香| 天天做天天爱天天玩夜夜爽| 色青五月天| 天天人人人人人人人人人人人| 欧美激情久| 天天爱天天爽| 丁香五月亚洲AV| www夜夜操| 婷婷六月丁香在线| 人人操9| 九九精品网| 77777亚洲午夜久久| 97精品在线| 91超碰在线观看| 亚洲欧洲午夜成人精品av| 黄网免费观看| 亚洲V国产V欧美V久久久久久| 人人射av| 日本黄色精品| 六月丁香五月天| 国产噜一噜天天噜| 97超级碰人人| 欧美大香蕉视频| 五月色情婷婷| 五月丁香婷久久| 五月天播播| 久热91精品| 激情开心五月天| 亚洲狠狠狠色婷婷综合激情久久久| 青青草婷婷五月天| 婷婷月综合| 日韩抽插操逼| 色五月婷婷激情基地| 91一起操| 四季AV综合网| 夜夜爽天天干| 久热网在线视频| 97在线/亚洲| 丁香五月天激情| 国产资源91在线| 久久久jd| 丁香五月婷婷激情97| 久色激情| 日批在线看| 九九九九中文字幕| 91九色精品熟女内射| 色色亚卅| 啪啪91| av不卡网站| 天天射美女| 婷婷五月丁香五月天| 大香蕉九九操| 国产精品天天狠天天看| 色99日韩| 2025色婷婷| 九九激情网| 色综合色香蕉网| 91久久五月天| 丁香五月激情视频| 成人在线视频一区| 噼里啪啦完整版中文在线观看 | 婷婷丁香五月综合网上| 国产91视频| 五月丁香婷婷伊人日韩| 色五月激情网| 免费婷婷| 五月天综合在线观看| 婷丁五月| 婷婷综合视频| 五月丁香五月综合欧美| 五月丁香婷婷综合网色欲| 玖玖婷婷色五月| 久久caop| 嫩草AV久久伊人妇女超级A| 丁香五月五月婷婷| 综合视频五月| 色情·com| 色色婷婷丁香五月天| 中字幕视频在线永久在线观看免费| 天天拍天天操| 99亚洲日韩| 79亚洲精品少妇| 人妻六月天| 精品一二三区久久AAA片| 台湾无码A片一区二区| 99色在线观看| 99成人精品| 97人人操人人爽| 岛国午夜视频| 婷婷五月另类网站| 狠狠色噜噜狠| 国产小精品| 99色综合网| 色色色成人网| 亚洲色婷婷五月| 97婷婷丁香五月| 99在线er热| 啪啪婷婷五月天激情| 亚洲情欲久久| 全部老头和老太XXXXX| 91精品久久久久久久| 激情婷婷六月天| www.色五月天.com| 丁香五月天婷婷91| 丁香婷婷五月综合欧美另类| 色综合综合综合| 色婷婷成人做爰A片免费看网站 | 热久国产| 激情六月天婷婷| 色婷婷性爱| 色综合女人99| av电影在线播放| 久久久99精品免费观看| 欧美经典片免费观看大全| 激情综合五月| 婷婷五月影院| 丁香五月综合| 亚洲这里只有精品| 天天操综合网| 97色吧| 亚洲天堂久久| 在线18av | 亚洲最大成人综合网720P| 9999久久久久| 麻豆WWWCOM内射软件| 丁香五月色情| 二色av| 丁香五月AV| 无码99| 中文字幕日产A片在线看| 色五月婷婷网| 久久se 综合网| 欧美在线视频99| 九九热在线精品视频| 91色久| 欧美日韩成人在线| 亚洲中字AV电影在线网站| 亚洲情综合五月天| 久热超碰91| 人人操AV| 婷婷综合亚洲| 日本色五月| 开心激情婷婷| 色狠狠婷婷| 欧美搡BBBBB摔BBBBB| 中文字幕在线免费看线人| 99原创自拍视频在线观看| 天海翼中文字幕高| 色99xx| 99人人精品| 人人澡玖玖一| 色婷婷五月基地在线| 99综合99| 婷婷中文字幕| 狠狠插狠狠操| 黄网在线免费| 久久五月天视频| 色情综合网| 色婷婷色久综| 久久伊人五月天| 色五月婷婷操逼| 亚洲中文乱字字幕在线永久| 五月天丁香色色| 国产第99页| 综合99综合久久久久久久| 婷婷和五月天| 婷婷五月天六月| 五月丁香六月婷| 婷婷五月天小说网| 天天肏天天舔AV| 99超级碰碰| 91狠狠色丁香婷婷综合久久| 色情五月天A片| www.久久爱.com| 99热| 97五月综合网| www.99.色| 91xxxx九色| 一起草av| 五月丁香六月婷婷久久| 色情五月婷婷| 色色六月| 六月丁香停| site:xiongshengzz.com| 思思热久久婷婷五月天| 五月丁香久人妻中文| 婷婷五月丁香五月| 婷婷中文字幕在线| 婷色成人| www.91操| 啪啪视频99| 99婷婷| 伊人久久五月天综合| 中文无码婷婷| 五月天激情亚洲| 婷婷丁香成人| 婷婷五月开心中文字幕在线| 五月丁香亭亭操逼| 99在线视频网址在线观看| 91黄址| 99精品在线下载| 五月婷婷AV| 91精品久| 手机AVAV天堂看网| 国产67194| 国产精品成人网址| 天天舔夜夜操www com| 久热免费| 丁香五月花影院| 久久狠婷婷| 五月婷婷熟女| 26UUU精品一区二区| 九九超日本| 狠狠狠人妻| 这里只有精品,日韩视频| 中文AV网| 九月性爱网| 亚洲精品成人| 天天插天天射| 日韩久久日| 婷婷丁香五月天欧美| 操操自拍| 久久九九亚洲| 久久婷婷丁香六月天| 日日撸夜夜操| 九月丁香亭亭| 五月婷婷九九热| 久9综合| www.25五月婷婷| 91九色国产熟女| 在线看AV| 大地资源色婷婷视频在线| 五月色丁香| 伊人狠狠丁香婷婷综合尤物| 开心深爱激情网| 色欧美一级| 丁香激惜男女| 天天操天天操天天操天天操天天操| 日本97久久久精品| 日婷婷久久开心| 五月天婷婷狂暴白浆| 丁香激情网| 超碰不卡在线| 久久精品夜色噜噜亚洲a∨| 国语精品探花| 久久综合最新网址| 亚洲激情色色| 五月天婷婷综合色| 久久九九大香蕉电院| 色一情一乱一伦一区二区三区| 天天日天天添| 性爱视频久久| 婷婷少妇激情| 色色五月天网站| 欧美婷婷丁香五月| 91碰碰视频| 97操碰在线视频| 99精品偷自拍| 午夜不卡成人一区二区| 亚洲V国产V欧美V久久久久久| 婷婷五月蜜桃成人桃色丁香| 婷婷六月色| 激情五月天婷婷免费观看| 五月丁香狠狠爱| 亚洲精品99| 色情五月丁香| 婷婷六月激情小说网| 九九视频在线观看| 开心深爱五月天| 99久re热视频精品98| 人人干人人干骚美女| 97碰在线视频| 日本综合久久| 能看的AV| 激情WWW| www,99热在线观看| 五月天婷婷成人| 91婷婷五月丁香碰| 六月婷婷色综合| 91chinese 在线| 夜夜久久综合网| 操操国产| 久久久com| 日本特黄aaaaa| 激情5月婷婷| 五月婷婷在线网站| 任你搞在线观看视频| 色色色99| 国产 码在线成人网站| 强壮的公次次弄得我高潮A片日本 | 99久久思思| 综合久久综合五月天婷婷| 99精品福利视频| 五月丁香久人妻中文| 九九人人操| 99极品视频| 久久婷婷五月丁香蜜桃网| Www,五月天| 婷婷丁香宗合888| 日日夜夜狠狠| 国产精品久久久丁香五月八戒视频| www.99操| 五月丁香黄色视频| 亚洲无码另类| 亚洲 在线 另类| 丁香五月婷中字幕| 丁香五月婷婷啪啪| 91se精品国产| 91成人电影| 桃色Av色哟哟| 俺去也五月天| 欧美色图天堂网色| 狠狠摸狠狠摸| 4399在线观看免费高清电视剧| 国产在线aaa片一区二区99| 丁香婷婷射| 无语停婷丁香网| 五月婷婷九九热| 丁香五月1页| 射婷婷中文字幕| 久草狼人| 婷婷五月免费在线| 五月婷婷,狠狠操| 久久六月天| 亚洲中文乱字字幕线在永久| 原琪琪色影院| 五月Huangsewang| www.久久爱.com| 五月激情视频网| 五月天激情网址| 伊人综合网站| 九月综合| 久久AV电影| 第四色五月婷婷| 丁香五月天视频| 五月天亭亭俺也| 日日噜狠狠色综| 丁香激情五月少妇| 国产亚洲精品久久久久苍井松 | 婷婷丁香91| 日韩成人综合网| 激情小说在线视频| 婷婷深爱色五月| 人伦30P| 极品精品一区二区三区在线| 丁香五月婷老师| 1024操逼视频| 狠狠色综合图片| 天天影院色| 五月丁香五月综合欧美| 人妻在线中文字幕久久| 天天综合久久| 丁香五月停停av| 色婷婷五月天在线观看| 婷婷狠狠操| 色六月 婷婷| 九色PORNY9l原创自拍| 天天色综网| 五月天婷婷在看| 久久综合中文| 婷婷玖玖五月天| 九色成人AV在线| 性爱久久| 五月天婷婷色色| 美国十月色婷婷在线观看| 久久久精久人妻| 色五月婷婷五月丁香五月激情五月视频| 人人综合91网| 九九色婷婷| 台湾无码A片一区二区| 丁香五月a| 五月天婷婷午夜丁香| 99视频35精品视频在线观看| 91精品国产综合久久蜜芽解析速度| 99视频| 五月丁香六月激情| 九九99在线免费在线观看视频| 精品人妻一区二区三区四区不卡在| 开心日韩丁香婷婷五月| 久婷婷五月激情| 91色在线| 国产成人AV在线播放| 亚洲天堂碰碰婷婷| 九九99视频精品| 97一区二区| 开心五月色婷婷综合开心网| 色色婷婷五月| 九九热免费视频| 日韩1区2区| 亚洲天堂99| 日韩超碰在线| 大香蕉婷婷丁香视频在线| 色五月婷婷网| 成人综合视频在线| 99在线小视频| 天天操天天草天天草天天| 26uuu.| 爱之国产色情综合| 色五月激情网| 色五月婷婷中文字幕在线观看 | 五月激情丁香五月| wWwCom夜操wwW| 人人爱操| wwW天天干| 国产在线6| 午夜伊人大香蕉| 丁香五月五月婷婷欧美大香蕉| 蜜桃五月天| 国产精产国品一二三在观看| 激情婷婷丁香五月| www。五月,com| 超碰自拍天堂| www狠狠com| 久久日曰| 99视频在线观看视频| 久久九九婷婷| 99精品一二三四视频| 综激情网| 五月天开心激情网色欲无码| 五月丁香六月婷婷亚洲激情综合| 五月天激情综合10p| 色小说婷婷五月天天天| 天天情天天狠天天透| 色欲婷婷夜夜| 99亚洲综合| 逼逼AV| 婷婷六月色播| 婷婷综合视频| 天干夜夜操| 五月丁香色| 国产看真人毛片爱做A片| 操碰色一区就去操| 婷婷色基地在线看 | 激情五月综合网丁| 色色色天堂网| 99爱爱| 五月激情开心婷婷| 五月天婷婷爱丁香中文字幕| 亚洲色域网| 天天插,天天射| 26uuu成人网| 91九色首页| 大地9中文在线观看免费高清| 色九九中文字幕| 玖玖婷婷免费| 97色欧美| 这里只有精9| 日日狠狠久久偷偷四色综合免费 | 99热老网站| www.狠狠狠狠| 夜夜躁爽日日| 色六月婷婷| 国产做A爰片毛片A片美国| 婷婷色狠狠| 99日本黄站| 色青青视频| 蜜臀99精品| 久久久com| 色天堂婷婷| 97色色综合| 色婷婷精品小视频| 天天爽天天摸| 99啪啪网| 久久99久久99精品,久国产,久久精品免费,99久在线,久久久久国产精品免费网站,9 | XX久久| 亚洲成av人影院| 99热久久日本| 久久只有精品| pacopacomama 070722_670 素人奥様初撮りドキュメント 103 大久保純子 | 丝袜激情网| 99久久久国产大片| 色色色色色色色色网站| 日本天天色| 久久九九囯产| 色婷成人狠干| 丁香六月高清视频| 日本三级中国三级99| 四川女人毛多水多A片| 久久香蕉福利| 久久99色色| 九九碰九九爱97| 色约约视频一区二区三区四区五区 | 操操精品| www.91有码.com| AV操逼网| 涩婷婷视频快播人妻| 激情五月天综合网站网站网站| 久草热视频在线观看| 超碰在线99| 色色狼人综合| 色丁香影院| 国产精产国品一二三在观看| 91网站黄| 婷婷五月天黄色小说| 疯狂做受XXXX高潮A片| 亚洲六月婷婷| 婷婷久久综合久色| 国产精品第一国产精品| 色五婷婷| 天天搞天天爽| 五月色婷婷综合| 4399高清无码视频| 99色爱| 777精品久无码人妻蜜桃| www999日韩精品| 亚洲操b| 4399无码视频| 色五月丁香五月激情五月激情| 99精品视频在线观看| 91久久国产自产拍夜夜91久久精品文字>91麻豆精品国产 | 五月天激情小说婷婷基地| 97狠狠色| 国产精品色婷婷久久久精品| 五月情婷婷| 五月婷婷六月激情| www.五月激情.com| 久久婷婷综合网| 婷婷丁香综合| 五月婷六月婷婷| 秋霞AV吧| 丁香五月天婷婷久久综合| 综合久久9| 九色激情网| 五月激情六月宗合| 成人超碰网| 激情欧美婷五月| 日日噜噜夜夜狠狠久久丁香六月| 综激情网| 五月天激情四射网站| 97在线干| www.sezonghe| 三级毛片视频| 婷婷五月精品在线| 男男野外做爰全过程69| 婷婷日| www.色婷婷| www。狠狠干。com| 丁香六月综合激情| 五月婷婷丁香啪啪| 色婷婷www| 五月婷婷六月丁香免费| 99爱在线免费视频| 五月婷婷激情刺激| 九九热精品视频在线观看| 欧美日综合| 噜噜狠狠色| 二级黄色毛片| 91色逼| 婷婷99视频精品| 色停停五月,在线观看| 婷婷色五月天色| 激情五月天视频| 久久亚洲无码| 中文字幕人妻在线| 五月婷婷久久久| 五月丁香成人网| 亚州操操| 狠狠色婷婷7777久| 五月丁香激情四射| 99九九精品| 成人做爰A片免费看网站找不到了| 日韩无码专区| 色综合久久88色综合天天99| 亚洲1区| 五月深情久久| www.91婷婷| 另类视频综合| 色婷婷电影| 婷婷丁香激情五月| 91 欧美| 天天爽,天天操。| www.色婷婷| 九九综合久久| 777影视理论片大全在线观看| 激情五月天婷婷久久久久久久久久久 | 日本的α片xxxwww| 激情性爱五月天网页| 五月激情天天干| 久久九精品| 色999五月色| 久久99最新| 91无码色色| 五月综合无码| 五月天婷婷色情| 99ri视频在线播放| 丁香五月性| 久久久国产精品黄毛片| 国产婷婷色综合AV蜜臀AV| 国产亚洲网站在线| 激情av| 操熟女成人网| 天天综合色丁香| 久久激情网| 337p午夜影院| 人妖色AV色综合| 九九这里都是精品| 狠狠操狠狠狠| a色婷婷| 亚洲操操操| 五月丁香激情在线| 991国产精选视频在线播放下载| 五月亭亭开心网| 中文精品久久久久人妻不| 永久天堂日本| 亚洲九九夜夜| 色五月婷婷啪啪五月| WWW99视频| 九九热精品| 婷婷色五月天在线| 66精品国产成人| 性色九九| 色五月网址| 性99网站| 色五月色五天色情网| 久久五月婷婷综合网| 伊人网色婷婷五月天| 热久国产| 激情5月婷婷| 精品久久9| 99热99免费| 91精品91久久久中77777久久玖玖九九 | 99热免费网站| 牛牛色av| 婷婷开心激情| 思思热精品在线观看| 97人人超| 五月婷婷亚洲综合在线 | 亚洲无码另类| 人妻在线观看视频| 婷婷五月激情五月激情| 夜夜操夜夜爽| 91好好热日本在线| 日本色色影片| 五月丁香六月婷| 99热这里只有是亚洲国产| 黄页免费一级视频懂色| 天天噜噜| 中国激情网| 亚洲小说五月婷婷| 五月天婷婷情色| 68热超碰在线| 丁香五月欧美| 超碰99资源站| 天天操天天爱天天玩| 亚洲无码成人网| 97黑人精品区| 操97在线观看| 深情六月婷婷综合久久| 五月情涩综合婷婷| 中文字幕丰满孑伦无码专区| 色五月av| 五月丁香AV在线| 99在线观看视频精品| 97超碰在线免费观看| 99碰碰。| 性色做爰片在线观看WW| 日韩欧美一级大黄网站| 人妻久久久久久久 | 妻久久人久久| 人人干天天舔| 国产成人AV在线播放| 无码AV免费精品一区二区三区| 丁香五月电影| 成人五月天丁香婷| 99无码黄色视频| 亚洲一色色色色色色色色| 99久在线观看| 99色久| 欧美97超碰| 情欲禁地| 婷婷五月av| 亚州操操| 天天操综合网| 天天爽天天爽天天爽天天爽天天爽天天爽天天| 日本人人草草| 久热伊人在91| 丁香五月婷婷老师网站| 1024操逼| 国产成人精品一区二区三区视频 | 五月婷婷视频啪啪美女| 婷婷丁香六月综合激情站| 日韩精品一区二区刘| 精品综合网在线| 性做爰1一7伦| 亚洲精品久久久久久久久久吃药| 青草激情综合| 五月大香蕉| 久9视频| 五月婷婷偷拍| 欧美综合五月丁香六月婷| 亚洲六月色| 精品无码99| 久热这里精品免费| 青青草深爱激情网| 五月丁六月香av| 高清无码 一区 二区 三区| 激情婷婷内射| 亚州激情网站无码| 六月丁香五月婷婷首页| 欧美日韩91| 久久99视频| www。五月天激情| 九九视频免费| 99在线观看亚洲| 熟女啪啪视频| 婷婷五月色综合| 97操碰碰无码视频| 丁香五月另类色婷婷麻豆| 91超碰在线播放| 亲子乱AV一区二区三区下载| 99热在线观看| 9色在线视频| 婷婷伊人綜合中文字幕| 五月丁香A片| 开心婷婷五月激情网小说| 天天日夜夜高潮| 婷婷在线五月天观看| 就爱干 在线| 色婷婷狠狠久久综合五月| 婷婷五月天综合色| 久久五月综合| 亚洲综合婷婷五月| 可以免费看AV网站| 99视频在线精品免费观看2| 天天狠狠夜夜狠狠2023| 99亚州综合精品成人网| 婷婷五月天成人网| 99玖玖免费视频| 老司机日日夜夜青草| 五月婷婷啪啪| 国产午夜成人免费看片无遮挡| 国产99久久久国产精品免费看| 少妇水多A片太爽了| 久久伊人五月天| 韩国真做片在线观看| 人人爽天天爽| 九九视频在线观看视频6| 激情综合五| 国产精女同一区二区三区久| 免费色婷婷| 欧美人人女女精品综合五月天| 99 re视频一区| 日日夜夜狠狠婷婷色| 婷婷五月天99| 呦呦视频无码播放| 特级西西4444www无码| 欧美人妻一区二区| 国产精品久久久久9999小说| 色播色丁香五月| 琪琪色网址| 国产精品色婷婷99久久精品| 丁香五月婷婷亚洲另类| 丝袜大香蕉| 五月丁香六月色婷婷| 五月丁香狠狠地噜噜噜噜| 婷婷五月免费视频| 婷婷五月天堂| 五月天成人综合| 99干在线视频| 9九色首页| 99色这里| 五月天激情国产综合AV| 天天操人人干| 深爱五月婷婷| 久久艹网| 丁香婷婷综合精品六月初| 色小说五月婷婷| 色色色免费视频| 99热这里精品| 涩五月婷婷| 97日本在线播放| 免费亚洲成人电影AV| 亚洲性爱99| 人妻内射视频| 色综合色| 91高潮喷水久久久久久久久 | 亚洲激情五月| 丁香五月在线视频| 亚洲激情婷婷| 玖玖在线视频| 2015WWW永久免费观看播放| 98毛片| 丁香五月在线播放| 丁香婷婷六月| 久久丁香社| 五月激情婷婷开心五月| 欧美成人精品A片免费一区99| 欧洲色色| 婷婷狠狠操| 亚洲瑟瑟精品在线| 超碰在线视屏| 亚洲精品无人区| 欧美色99| 国产精品VA在线| 色色99| 六月丁香色色| 色人妻五月| 日本婷婷五月天| 五月丁香久久丝袜啪啪| 丁香婷婷六月激情文学 | www一起操| 丁香五月色情| 色播五月| 色婷婷色综合激情91| 九九爱看亚洲| 丁香六月综合激情| 免费无码毛片一区二区A片 | 2015WWW永久免费观看播放| 狠狠干狠狠干狠狠干狠狠干| 免费看成人747474九号视频在线观看| 99燥99日| 超碰免费成人网站| 五月份婷婷| 国产精品电影网| 久久久久九九九九视屏小说88| 亚洲精品乱码久久久久久综合| 久久人人妻| 九九九激情网| 月婷婷亚洲| 大香蕉五月婷婷| 婷婷黄色五月| 婷婷丁香色情五月天| 国产欧美日韩综合精品一区二区| 狠狠色婷婷777| 欧美成人精品A片免费一区99| 六月激情婷婷| 99久久综合| 五月综合丁香婷婷| 操比激情五月| 色婷婷五月综合网| 婷婷五月色| 91操操| 另类激情五月| 色一情一乱一乱一区9| 五月丁香基地| AA片在线观看视频在线播放| 人妻久久久久久久久妻久久久久久久久 | 亚洲久热| 五月丁香| 在线中文字幕av| www.婷婷,com| 婷婷操婷婷干婷婷射| 色播jjjj| 激情宗合网激情五月天| 亚洲精品又粗又大又爽A片| 国产伊人五月天| 婷婷五月天开心网| 色情五月综合婷婷| 96五月丁香熟女| 在线看片h站| 伊人六月丁香婷婷| 八戒青柠影视剧在线观看| 网色99| 超碰人人操人人干| 亚洲无码成人| 9久久久久| 综合色视频| 人人妻久久妻| 色五月色五天色情网址| 狠狠色噜噜| 字幕网AV中文字幕| 。久久久久久久久久久久久久人妻 | 玖玖热视频| 久久伊人大香蕉| 天堂爱爱| 亚洲成av人影院| 久草大| 五月婷婷久久久| 激情九月综合| 五月丁香大香蕉| www,五月天com| 天天做天天爽| 色五月丁香五月| 99热这里只有精品青草| 精品在线| 99碰碰| 啪啪啪啪五月天| 国产高清av黄色看片| 激情精品久久| 亚洲熟妇AV乱码在线观看| 天天橾日日橾夜夜橾17| 国产99久| 五月婷婷视频ab| 亚洲av无码影院| 麻豆雪千夏| 第四色激情网| 丁香五月性| 日日撸天天干| 91人人妻人人操人人爽| 国产资源91在线| 偷拍九九五月丁香婷婷| 呦呦v线| 婷婷五月综合在线视频| 亚洲精品V天堂中文字幕| 一级片sese片.COM| 婷色五月| 亚洲激情色色| 五月婷婷丁香综合,亚洲天堂| 亚洲激情综合免费| 人妻在线观看视频| 五月精品| 色婷婷久久综合| 99在线小视频| 停停色综合伊人| 97操资源婷婷| 五月天婷婷丁香基地在线观看| 黄色三级日本| 欧美激情综合| 五月花婷婷丁香| 国产精品久久久爽爽爽麻豆色哟哟| 99热这里只有精品无码| 久久综合网桃花| 99er这里只有精品视频| 538在线精品| 五月天婷婷影院影院观看| 伊人色综合久久久| 婷婷五月综合网| 丁香五月丁香伊人| 男人的天堂97| 五月天婷婷久久| 丁香五月亚洲激情婷婷射| 潘金莲AAAAAAAAAA| 182TV大香蕉| anquye伊人| 九九久久高清| 天天爱天天做天天操| 99热最新网址| 久操人| 99热色精品| 天天干肏夜夜| 狠狠色噜噜色狠狠狠综合色 | 丁香婷婷成人在线播放| 成人Av在线大片| 99精品成人无码A片观看金桔| 天干夜夜操| 99狠狠| 涩五月婷婷| 天天摸天天日天天舔| 91黄址| 96丁香婷婷九月蜜桃综合久久| 婷婷五月天熟妇| 超碰电影在线播放| 欧美成人猛片AAAAAAA| 操逼福利视频| 伊人久久大香线蕉av一区| 国产真人做爰视频免费| 天天做天天爱天天做| 开心五月激情网| 亚州在线中文字幕| 美女激情综合| 天天插天天干天天舔| www.久久久久久久| 五月综合人妻| 色五月丁香五月| 欧美成人精品老美女噜噜噜| 97干在线视频| 亚洲AV成人精品网站在线播放| 亚洲激情在线| 五月丁六月香| 婷婷爱爱蜜臀天天操| 亚洲精品大片| 久久六月天| 婷婷九月激情| 五月婷精品| 天堂网亚洲色图| www.狠狠| 国产精品久久久久久白浆色欲| 九月丁香五月婷婷| 久鲁鲁色网| 91大神操美女| 亚洲欧美日韩另类| 人妻无码精品一区| 久99久99精品免| 特级片神马电影| 中文字幕在线免费| 老师把我爽高潮了免费A片| 成人做爰高潮A片免费视频| 4399亚洲视频| 日韩99色99| 激情五月六月婷婷综合啪啪| 欧洲不卡视频| 人人性久久| 丁香婷婷五月香蕉91| 丁香六月综合激情| 九九久久精品|