欧美成人午夜精品久久久,国产?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视频| 婷婷五月深深的爱| 激情四射五月天偷偷看婷婷| 色情婷| 婷婷激情图片| 六月丁香网| 婷婷激情社区| 99re思思热久久| 色五月丁香五月五月婷婷| 9999综合99综合人| 亚洲国产网址| 日本色色影院| 热婷婷久| 色久99| 婷婷综合中文字幕| 96自拍视频九色在线观看| 91丨九色丨熟女丰满| 午夜精品777| 超碰在线观看99| 狠狠 久久| 99熟女| 九九99九九99九九99视频网| 色欲影香| 色婷婷狠狠18禁| 欧美亚洲婷婷五月| 九九色逼| 日本女人久久| 激情网婷婷五月天| 色婷婷电影网| 婷婷五月天视频| 天天干天天操天天上| 亚洲欧洲国产精品| 粉嫩av蜜桃av蜜臀av| av不卡网站| 激情小说婷婷| 亚洲激情AV| 婷婷无码视频| 大战熟女丰满人妻AV| 亚洲亚洲人成综合网络| enecarbon-materials.com污K127封锁请涟系@wip1688 | 99热只有精品在线播放| 在线观看的av| 久热无码| 国产激情综合五月| 五五月五月| 成人五月丁香社区| 日韩999| 成人短视频免费观看| Aaa久久| 国产又爽又猛又粗的视频A片| 久热大香蕉| 天天狠狠夜夜狠狠2023| 综合网啪| 18久久| 色婷婷丁香AV综合| 丁香五月综合无码趴趴| 在线五月婷| 人妻有码乱操| 久久宗合影| 亚洲婷婷丁香五月| 日本久久视频| 2015好吊操| 五月天成人综合| 久青操| 色色色五月婷| 五月婷视频久久| 六月婷婷九月丁香| eeuss人妻| 激情综合综合综合| 五月激情丁香| AV成人在线播放| 五月花激情| 五月丁香六月激情欧美综合| 在线色色| 婷婷五月天综合亚洲| 综合色在线| 日本91在线播放| 无码 av电影| A片试看50分钟做受视频| 成人五月丁香花| 91中文狠狠综合| 婷婷六月天国产综合| 激情电影五月婷婷| site:901-07.com| 丁香婷婷综合激情五月色,开心五月丁香花综合网,激情综合五月亚洲婷婷,五月天 | 久久人妻久久| 久久丁香婷| se婷97| 91pornav在线| 亚洲激情丁香五月基地| 天天做天天爽| 免费看欧美成人A片无码| 精品香蕉99久久久久网站| 婷婷伊人久久无码色五月| 丁香五月激情五月| 激情五月天在线观看婷婷| 亚洲激情无码久久| 天天干天天拍| 免费无码毛片一区二区A片| 色五月综合97| 激情综合网激情五月欧美| 99热精品在线播放| 少妇性按摩无码中文A片| ady狠狠入| 92久久| 日日操夜夜爽天天天| 五月天天天色| 国产精品日本一区二区在线播放| 久久久99视频| 五月天播播中文字幕| 99在线观看精品视频| 天天日天天久久青青| 婷婷色五月天色| 激情久久久| 婷婷深爱网| av久热| 大香蕉220| 日本久久人人| 一本色道久久综合狠狠躁小说| 色色五月天激情| 91免费试看| 久久婷婷五月天激情新地址| 91日日日| 久久精品五月| 日韩在线aaa| 色播五月| 久久丝丝热| 九九热在线视频观看| 色墦五月丁香| 色五月xxx| 人妻激情综合| av在线观看网站| 婷婷综合六| 色欲色香综合网| 中文久久婷婷| 激情五月丁香亭亭| 五月天社区婷婷丁香社区| 久久婷婷五月天激情唯美| 91日本在线观看| 成人五月天丁香婷| 91九色熟女| 香蕉99网| 九九色热| 国产精品美女| 中文字幕在线播放视频| 丁香婷婷色| 婷婷九月丁香| 五月天婷综合| 五月丁香成人| 伊人干综合| 99九九视频| 狠狠干狠狠操狠狠爱| 日本在线噜噜| 毛片蕉地一二| enecarbon-materials.comWu染请涟系Bao护@wip1688 | 丁香五月婷婷激情尤物| 丁香激情五月| 婷婷丁香97| 五月婷婷在线视频观看| 色色色色色五月丁香| 九九热免费| 91人妻人人操| 五月丁香激情综合网| 六月丁香开心婷婷欧美| 超碰超碰在线| www.天天干.com| 99热日韩| 成功精品影院| 天天搞天天色综合| 色婷婷色综合激情91| 久久精品亚洲热| www久久久久久久| 欧洲第一久色| 久久刺激网| 美女激情综合| 狠狠色丁香99| 人人操碰| 五月天色丁香| 丁香五月婷婷骚视屏| 影音先锋 萱萱| 色综合综合色| 久久综合干| 丁香色五月天| 国语精品探花| 99热在线精品播放| 日产精品一线二线三线芒果| www.天天干| 91丨九色丨老农村| 91蜜桃婷婷狠狠久久综合9色| 激情综合网五月天天| 精品香蕉99久久久久网站| 色丁香五月综合网| 久激情网| 色婷婷在线视频观看| jiZZdr| 成人AV免费观看| 天天爽天天爽天天爽天天爽天天爽天天爽天天 | 97五月久久丁香婷婷| www.99婷婷| 激情综合网婷婷久久| 婷婷影视久久| 狠狠的日| 成人在线视频一区| 久久久五月婷婷| 国产亚洲av片| 99在线精品免费视频| 色色 9| 伊人超碰| 性爱五月婷| 99人人干| 亚洲美女网Va| 麻豆五月丁香婷婷| 99热久久这里只有精品| 日韩在线视频网站| 久久久五月天婷婷| 亚洲色色色| 99热这里有精品| 成人必爱视| 色原狠狠综合| 182tv992tv人之初午夜免费观看| 日本三级大片| 激情综合无码| 天天射综合网夜夜操| 九九亚洲视频| 五月天婷婷AV| 岛国操B不卡在线| 亚洲精品无码一区二区| 亚洲另类电影| 久久WW| 精久久色| 99只有这里是精品| 在线日韩视频| 在线99热| √天堂资源在线人妻熟女| 婷婷五月天com| 国产精品视频| www.射伊蕉婷婷| www.色色色com| 狠狠操狠狠爱| 538任你爽| 色婷婷小说| 色播丁香五月婷婷操:屄| 91凹凸在线| 91在线精品一区二区| 99免费在线视频| 久久伦乱| 少妇激情五月天| 色婷婷丁香香香蕉视频| 婷婷五月18永久免费视频| 激情五月深爱五月观看| 久久视这里只有精品| 丁香婷婷91在线观看视频| 婷婷五月综合中文字幕| 在线五月婷| 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | 国产老熟妇亲子乱对白| 色色色综合色| 超碰在线精品| 五月婷婷色影院| 丁香激情婷婷网| 26uuu视频欧美| 看逼中文字幕| 77777亚洲午夜久久| 91九色白丝| 99久久66综合| 日本玖玖在线| 五月天婷婷色色网| 亚洲中文字幕AV| 九九热99视频在线| 丁香婷婷黄网站| 九九九九毛片| 婷婷激情五月天在线视频| 秋霞电影一级黄| 69热在线| 天天成人丁香美女AV| 色五月婷婷天天操夜夜操| 五月婷婷 六月丁香| 热99热9| 69色色视频| 婷婷干五月综合在线播放| 久热精品视频| 热久国产| 粉嫩AV久久一区二区三区| 亚洲激情四射| 欧美一级毛卡片无码| 97丁香视频| 久久9精品视频| 五月婷婷无码| 伊人五月婷婷| 996re热精品视频| 婷婷六月成人| 婷婷五月激情网| 激情宗合哪里能看| 五月丁香六月婷婷国产视频| 久热91| 婷婷五月天小说| 大香蕉在九| 亚洲殴洲精品Av在线| 婷婷九月丁香天堂丁香天堂| 色五月丁香五月激情五月激情| 亚洲色婷婷激情| 日本欧美国产| 欧美婷婷五月丁香| 婷婷五月天天激情| 丁香久久AV| 国产玖玖资源| 婷婷大香蕉| 成人国产网| 色五月偷偷| 夜夜爽天天| 国色天香伊人狠狠色| 色五月婷婷91| 久久曰9| 日本99在线视频| 狠狠干2007| 九九视频在线观看| 日韩艹比| 成人噜噜网| www.av骚货| 色婷久久| 色月丁| 伊人综合网4| 色色色热| www.日日夜夜| 国产精品涩涩涩视频网站| 99狠狠| 日韩欧美四五区| 日韩超碰在线| 丁香五月九九| 丁香婷婷综合激情五月色| 五月久久婷婷| 99久久.www| 六月婷婷之青青草| 婷婷五月天AV| 91网站黄| 亚洲激情另类| 丁香五月婷婷亚洲天堂| 久久久久人无码人妻| 激情五月天在线视频| 激情婷婷黄色五月| 天天日夜夜操五月| 国产日韩精品SUV| 伊人婷婷综合| 丁香六月狠狠干| 五月九九综合| 天天天天天天天操| 亚洲无AV在线中文字幕| 六月色婷婷欧美| 丁香六月激情| 日韩啪| 久久婷网| 91精品国产99久久久久久天美| 色天天综合成人网| 婷婷五月天免费99| 色情五月天婷婷| 99热精品在线观看| 天天操天天操综合| 婷婷激情五月综合基地| 五月婷婷六月丁香| 开心四月婷婷在线色播播| 热99这就是精品视频| 久久久精品AV| 色综合激情| 亚洲精品视频在线播放| 色99网站| 丁香五月天天| 日韩在线观看网址| 丁香五月综合在线视频| 日韩成人电影Av| 色婷婷激情五月天| 伊人久久大香线蕉AV最新午夜| 美英法精品无码免费视频| www.色五月| 全国最新疫情| 9精品一区| 久久99热久久99精品| 亚韩精品视频1区| 牛牛碰免费| 操逼视频网址| 婷婷狠狠18禁久久| 伊人婷婷青青cao| 另类视频一区| 色五月成人婷婷| 国产精品电影| 五月久久丁香| 一起草Av| 久久性爱激情| 俺去也综合| 色欧美影院| 欧美色频| xxxx五月| 五月丁香 狠狠爱| 狠狠色婷婷色| 久久婷婷网| 无码se| 五月婷婷激情网| 人妻操操色| 一区二区三区四区牛| 久久综合影院 | 五月天激情网址| 久cao香蕉影院| 精品人妻一区二区三区四区不卡在| 日韩黄色电影| 欧美性做爰大片免费看办公室| 婷婷五月天com| 亚洲色图在线视频| 99热成人| 99色一| 色都都狠狠色都都色综合色| 午夜丁香| va婷婷| 99日本精品视频热| 伊人青涩网| 五月丁香好婷婷A片网| 色婷婷中文字母五月丁香| 五月天激情美女久久| 国产精品色色| 婷婷五月婷婷五月| 天天狠狠婷婷在线| 久七香蕉| 极品少妇XXXX精品少妇偷拍| 超碰人人超碰| 六月婷婷中文字幕| 天堂五月婷婷| 亚洲色综合| 五月天丁香婷婷视频网址| 91热视频色网站| 中文字幕在线免费看线人| 免费不卡狠操美女视频网| 色婷婷五月影视| 变天就操逼婷婷五月| 激情五月综合网| 丁香五月婷婷激情蜜桃| 天天干天天日日| www.黄色片-久久成人国产精品在线播放-999AV| 五月婷在线| 99久久99久久| 亚洲综合五月天婷婷| 久久6这里只有精品| 9999热在线免费观看| 亚洲亚洲人成综合网络| 99色在线| 深爱激情综合网| 婷婷丁香18| 5月婷婷激情6月| 久久9久| 六月婷婷九月丁香| 丁香五月九九| 九九久99免费视频| 碰碰碰97国产| 色就色94欧美setu| 成人国产欧美大片一区| 九九av| 国产精品久久久久久白浆色欲| 丁香五月婷在线观看| 久久这有这里精品| 激情综合播播| 人人爽在线视频综合网| 五月天婷婷av| 久久婷婷五月| 五月婷婷开心亚洲无| 亚洲AV综合网| 综合久久婷婷| 亚洲欧洲99| 婷婷伊人綜合中文字幕小说| 99久久久免费| 色色色区| 色色色色色色五月婷婷| 婷婷久久18| www.一起草av| 色五月影视| 深爱五月网| www.婷婷网| 亚洲激情网| www狠狠| 99久久99九九99九九九| 婷婷五月天在线看| 五月亭亭六月色| 天天狠狠婷婷在线| 五月深爱婷婷| 久热视频这里只有精品| 九九综合| 99久久综合| 婷婷激情小说| 爱99干99| 人妻激情久久| 123日本不卡在线| 人操91在线| 成人网站高清无码| 97人人干人人操| 色性综合| 婷婷激情五月综合丁| 六月色色婷婷| 一丁香五月天月AV| 亚洲色99| 色婷婷色综合久久精品V| 免费视频WWW在线观看网站| 伊人激情啪啪| 97人人干| 99婷婷色| 婷婷五月天色色| 色五月久久成人婷婷| 天天激情夜夜干| 婷婷干五月综合在线播放| 五月天婷婷在线视频| 久久在线大香蕉| 伊人婷婷五月天| 超碰在线日夜| 久久久大香蕉| 丁香婷停五月激情综合深爱| 超碰在线超碰| 最近中文字幕2019视频1| 色九九九综合| 国产精品久久久99视频| 色五开心五月五月深深爱| 五月丁香六月婷婷久久肏| 久青草影院| 人妻有码乱操| 久久久人妻人伦| 俺也去在线视频| 99热综合| 中文字幕精品推荐免费在线观| 色欲色天天香综合| av性爱在线| 99热人人| 亚洲激情六月| 婷婷六月激情啪啪| 99精品一二三四视频| 国产AV一区二区三区最新精品 | 丁香五月天婷婷91| 婷婷五月天亚洲色| 色色五月婷| 影音先锋AV资源男人站| 99er这里只有精品视频| 婷婷八月丁香激情综合| 婷婷五月激情四射手| 91久久久久久久久| 人妻久久久久久| 无码少妇高潮喷水A片免费| 玖玖婷婷色五月| 色综合久久五月| 天天干夜夜想| 丁香婷婷成年| 欧美色色色色色色色色色色影视| 9l视频自拍9l视频自拍九色学生| 99在线小视频| 凹凸操Av| 97人人超| 久久久妻人人人| 5月丁香啪啪啪| 国产精品涩涩涩视频网站| 色五月婷婷综合| 噜噜在线| 色婷婷影音| 这里只有精品视频在线看| 99亚洲天堂| 天堂在线婷婷| 久色五月| 欧美一级a| 亚洲五月天伊人| 五月丁香色婷婷| 欧洲亚洲免费视频9| 99热免费在线| 亚洲成人无码片| 天天舔天天摸天天透| 九九热精品| 天天干,天天舔| av在线资源| 91九色大屁股| 狠狠爱婷婷爱| 外国碰视频网站97| 丁香六月婷婷开心| 日韩999| 色色丁香婷婷| 久久免费精品小视频| 天天操天天操天天操天天操天天操| 9精品在线| 午夜九九九九九九九九九九九九九| 国产婷婷久久| 99久久婷婷五月综合| 欧美日韩国产一区| 97久久人人操| 色欲婷婷夜夜| 九九综合九| 深爱激情av| 天啪天啪天啪天啪| 丁香六月婷婷综合缴| 欧美激情久| 六月婷婷五月丁香| 久久久人妻久久久| 婷婷激情五月| 婷婷黄色五月天在线视频| 欧美黑人巨大性生话| 五月婷婷和六月| 性爱激情五月| 七七色色综合| 色情五月婷婷| 国产伦亲子伦亲子视频观看| 五月婷婷丁香综合| www.婷婷,com| 日本丁香五月| 丁香五月av在线| 99碰在线视频| 26UUU精品一区二区| 情欲综合网| 97碰碰叉| 99这里都是精品6| 情涩婷婷五月天| 《久久综合九色综合97婷婷| 99这里有精品| 亚洲人人操BD| 成人在线精品| 久久综合人妻| 欧美日韩AAAA| 久久中文人妻系列| 99精品偷自拍| 五月丁香激情婷婷| 五月婷婷精品视频| 99视频网址| 国产精品18久久久| 67194中文字幕| 五月天色播网| 亚洲精品成人片在线播| 99久久久| 黄网在线观看免费| 婷婷六月激情丁香| 五月婷婷色色色| 九九操屄| 久久婷网| WWW.婷婷| www.日韩艹| 久久婷婷内射| 五月天丁香久久综合| 久久多色| 人人射人人高潮| 天天操天天日天天爱| 婷婷五月乱交换| 日韩啪啪网| 播五月丁香三月婷婷| 国产婷婷五月中文字幕高清| 五夜丁香| WWW色色色COM| 激情内射人妻1区2区3区| 人人妻久久妻| 五月丁香婷婷激情在线视频| 超碰免费成人| 亚洲四色五月| 超碰婷婷色| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 婷婷福利影院| 极品少妇高潮啪啪AV无码| 六月激情综合| 99这里有精品视频视频| 99热在线这里只有精品| 五月天婷婷三级黄| 九九亚洲视频| 在线中文字幕视频| 91久久九久久九久久九久久九久久 | 夜夜躁爽日| 国产又黄又爽又激情不遮挡视频在线观看| 亚洲成人免费在线| 九九久久久综合| 亚州成人综合在线| 欧美色激情四射| 思思99热| 亚洲欧洲中文日韩久久AV乱码| 99热免费在线| 深爱激情六月天| 婷婷综合五月天| 亚洲午夜一区二区| 五月婷婷色| 99视频这里有精品| 热99在线| 亚洲成人av在线播放| 色偷偷色婷婷| 婷婷五月骚厕所| 五月婷婷综合在线观看| 26uuu另类亚洲欧美日本一| 五月丁香婷中文字幕 | 思思热闹这里只有精品| 久久久久久欧美精品se一二三四| 情色五月天网站| 丁香五月av| 丁香五月开心婷婷| av操一操| 激情综合五月婷婷| 26UUU欧美激情一区二区| 免费视频无码| 色婷五月| 97五月天| 婷婷大香焦| 天天视频精品9| Caoub青青超碰 | AV在线资源| 99精品热| 婷婷五月天渟渟| 探花搜索结果 - 黄上黄| 91偷拍视频| 九九热这里有精品23| 激情九九这里只有精品| 超碰高清在线| 激情小说五月天| 色天使久久综合| 五月丁香欧美综合| 怡红院院在线导航网 | 991精品在线视频| 五月天色社区| 久久一级AV| 九九热99久久99| 色色五月婷婷久久| 日韩五月婷婷| 久久这里有精品视频| 99人妻碰碰碰久久久久视| 91Chinese在线| 欧美性生交XXXXX无码小说| 久久久免费图片视频| 五月婷婷色情| 九热视频这里只有精品| 欧美色色色色色色| 夜夜嗨一区二区三区直播内容 | 婷婷五月成人有| 99综合激情久久精品久久| 91色情播放| 99精品在线| 日日夜夜天天| 色综合久网| 久久狠狠欧美| 99精吕视频在线观看了| 五月成人网站| 久热伊人在91| 久久杏爱视频| 久久激情五月婷婷| 99综合网| 日韩综合久| 日本成人噜噜噜噜噜| 久婷久婷| 91日在线视频| 丁香九月综合| 日日操夜夜撸| 4399啪啪视频| 激情久久久| www.激情在线| 天天色综网| 午夜福利8055| 97深爱伊人综合| 九九这里是免费的视频5| 久久A极片| 色9999日韩国产| 天天撸天天干天天插| 婷婷五月色| 成人毛片在线免费观看| 五月停停丁香| www.久久| 色综合久久88色综合天天看| AV79| 无码少妇高潮喷水A片免费| 国产日韩av片| 婷婷色基地| AV片一区在线观看| 久久久久久草黄色片AV在线观看 | 91精品久久久久久77777| 色丁香五月婷婷综合久久| 人人操Av| 丁香六月激情综合| 午夜成人AV在线| 久草热在线视频| 色啪久| 无码G高清天| 激情五月天婷婷| 91ncom.色| 五月丁香人妻| 九九aV| 久久激情五月婷婷| 2015超碰| 精品人妻伦一二三区久久| 婷婷丁香五月在线观看91| 激情综合网,五月| 99ri视频| 天天肏屄夜夜爽| 噜噜五月天综合| 婷婷五月色花丁香社区| 日日夜夜久| 热久久婷婷| 99热99热在线| 婷婷色基地在线看| 婷婷五月天开心网| 玖玖综合玖玖| 激情综合网色播五月| 9热在线视频精品| 色99在线视频| 激情综合色婷婷啪啪六月天| 99热一区| 99色五月| 五月婷亚洲精品AV天堂| 亚洲六月婷婷| 99综合视频| 精品视频99看在线视频| 亚洲精品无AMM毛片| 另类小说五月天激情| 天天干在线播放| 色丁香婷婷| 超碰在线99热| 97 A I色色| 久久这里面只有精品视频| 五月天激情小说| 思思热99在线| 超91在线视频| 五月停停色色丁香| 激情五月婷婷免费视频| 99ER热精品视频| 激情五月深爱五月| 青吴乐视频| 婷婷五月丁香色综合| 性色欲情 网站| 亚洲V国产V欧美V久久久久久| 欧美丁香六月在线观看视频| 久久久久久99日本| 丁香五月欧美午夜视频| 激情综合五月丁香| 亚洲欧洲中文日韩久久AV乱码 | 婷婷久久图片| 婷婷社区五月天| 婷婷成人综合五月| 91AV视频| 人妻综合网| 千人斩操逼| 亚洲视频在线观看区| 丁香五月色五月| 99热无码精品| 91精品国产色猫| 91超级碰碰碰| 日日操,天天操| 97久操| 99视频只有精品| 天堂草在线观看| 91日视频| 被强行糟蹋的女人A片| 九九九九这里只有精品| 五月婷丁香| 在线超碰免费| 色99网| 五月天激情无码专区| 五月天丁香综合| j五月香在线| 国产精品美女| 久久这里只有精品无码| 99干视频| 91丁香色五月| 日日干五月天婷婷| 青吴乐视频| 亚洲五月花| 色情婷婷五月天| 综合色色婷婷| 94干大香蕉| 99无码| 五月丁香色色| 99在线亚洲| 五月丁香色色综合| 91互操| Av中文在线| www.激情| 色爱亚洲| 九九九成人在线视频| 97碰在线视频| 激情久久丁香| 婷婷五月成人社区| www.超碰| 色情综合网| 日日操日日撸| 激情综合女人网五月播播| 影音先锋色婷婷| 99内射视频| 五月天婷婷Av| 人妻熟人中文字幕一区二区| 色播五月丁香| 日本一级| 九九在线视频| 能看的av片| 草美女在线观看视频在线播放 | 99久久久久久www| 九九色综合九九色| 丁香五月成人在线| 色色三级视频| 天天爱天天爽| 国产成人网址| 激情小说在线视频| 九九综合| 五月丁香啪综合| 亚洲色婷婷| 五月丁香偷拍| 夜夜撸夜夜骑| 五月天丁香成人| 狠狠爱婷婷丁香| 日本丁香五月| 五月天色区| 热99在线| 五月天播播| 日熟女| 久久9热| 91丁香五月| 在线观看欧美| 91碰| 五月丁香| 日本综合久久| 五月激情小说| 色五月首页| 99热18| 天天做天天爽| 99色在线| 99视频精品在线| 久色| 成人无码精品1区2区3区免费看| 国产精品色色色色| av无码电影| 成人短视频在线免费观看| 91视频免费后入强操| 成人中文字幕在线| 六月婷婷激情| 99热 在线观看| 综合在线丁香五月| 婷婷五月六月丁香综合| 亚洲日韩一页精品发布| 色色五月婷婷狠狠| 五月深情久久| 五月丁香久久呀| 婷婷中文字幕| 六月香五月婷| 一本久道综合色婷婷五月| 超碰在线中文字幕| 996er热| 国产性爱在线| 丁香花婷婷五月天| AV在线免费网站| 久久亚洲A| 亚洲狠狠操| 色色色婷婷五月| 91欧美| 超级久久久| 在线超碰免费| 久久黄A片| 狠狠色狠狠色综合日日91 | 婷婷 月 丁香| 精a品a| 五月天偷拍| 丁香五月影| 色色五月婷婷久久| 思思热99er在线视频| 九九精品视频在线观看| 91人人爽狠狠狠| 99精品热| 久久机热探花| 日日噜狠狠色综| 五月天婷婷中文字幕在线播放| 色综合丁香婷婷| 97精品人人A片免费看| 狠狠综合区| 在线99热| 婷婷开心六月| 天天爽天天干| 亚洲激情| 五月激情综合婷婷| 婷婷五月综激情| 国产精品第一国产精品| www色综合亚洲92| 多精窝99在线视频| 97碰碰视频| 久草婷婷网 | 免费黄色视频网址| 婷婷丁香色无五月| 色五月激情网| 九9九9无码| 99在线视频在线观看| 性爱网五月天| 99久久五月婷婷| 五月婷婷六月爱| 色五月丁香五月| 综合 蜜月 婷婷| 丁香五月婷婷色| 欧美在线操| 五月丁香激情五月天| www999日韩精品| 99视频综合网| 日日干综合| 婷婷激情五月| 久久Xx| 婷婷五月丁香婷婷| 国自产拍偷拍精品啪啪一区二区| 99热新网址| 五月天 无码| 97超碰,人人舔,人人操,人人摸| 久久久这里都是精品| 久久婷婷亚洲| 丁香五月婷婷欧美成人色图| 五月婷婷黄色视频| 91热爆在线| 精品婷婷| 大香蕉婷婷久久| 六月婷婷青青青视频| 亚洲色模骚货| 91午夜婷婷狠狠久久综合9色| 婷婷五月天视| 丁香婷婷深情五月亚洲| 激情婷婷在线中文字幕| 日本丁香五月| 538任你爽视频不一样的| www夜夜操comwww| 婷婷无五月无码视频| 日本天天综合| JAPANRCEP老熟妇乱子伦视频 | 91狠狠色| 婷婷久久久| 最新av在线观看| 狼友超碰| 丁香久久五月婷综合| 九九干视频| 激情爱爱网站超大免费| 五月香婷婷| 99色精品| 97色天堂| 丁香五月婷婷激情网| 九九av| 青青草性爱视频| 色色热| 99热在线99| 99在线精品免费视频| 99日本在线| 狠狠干狠狠干| 婷婷丁香五月天综合网| 白人荫道BBWBBB大荫道| 国熟女视频| 成人丁香婷婷| 婷婷五月天亚洲天堂| 综合色在线| 亚洲热热视频| 日韩欧美老妇性视频91久久久| 欧美五月婷婷| 97精品在线| 综合激情站| 欧美丁香六月在线观看视频| 色综合99无码 | 射区导航| 久久久久人妻网址| 狠狠干青青草| 国产91在线视频| 成人丁香| AV九九| 在线看的免费网站| 综合五月婷婷| 日本色99| 91九色精品熟女内射| www.日日夜夜| 色五月色情| 亚洲日日日| 丁香 婷婷 激情 综合 五月| 精品一二三区久久AAA片| 色播五月丁香婷婷| 月丁香久久久| 五月婷网| 欧美一区二区三区不卡影视| 啪啪操网| 亚洲热久久| 久久激情五月| 91 影音先锋| 九九热在线精品视频| 五月婷婷无码| 色六月 婷婷| 九色婷婷| 天天色天天爱天天爽| 超碰不卡在线| 久久综合激情| 九九热精品视频九九| 亚洲综合视频网| 日本不卡高字幕在线2019| 99热这里只有精品86| 色色婷婷丁香| 色在线免费观看| 综合激情站| 五月天另类激情在线| 五月天激情播播网| 超级碰碰97在线| 丁香五月欧美色综合| 我要色综合五月婷婷| 久久色五月天| 欧美日韩二区在线| 丁香六月婷婷综合| 六月丁香好婷婷| 婷婷色婷婷亚洲成人| 东京热免费视频网站| 成人做爰高潮A片免费视频| 99色五月| 五月丁香六月情亚洲| 午夜色色色极品视频| 天色综合网| 国产SUV精品一区二区883| 国产免费一区二区三区三州老师F1F1.CC| 五月天婷婷青青| 日韩欧美五月丁综合| 99草视频在线观看| 日韩人妻AV在线| 天天色视频| 这里只有精彩亚洲视频推荐| 久久久久久久久久久久久久人妻视频| 色综合久久综合| 超碰av在| 99熟女| 俺去也综合| 99精品无码| www.五月瑟| 五月社区婷婷激情| 亚洲九区| 91丨九色丨白浆| 99ri精品在线观看| 久久99国产综合精品免费| 亚洲天天| 婷婷六月激情综合| 色婷婷狠狠色| 丁香五月婷婷呀| 亚洲综合在线视频| 久久新地址| 六月婷婷九月丁香| 亚洲成人在线观看网址| 99热 精品在线| 99久热| 99热亚洲精品| 丁香色色色| 26UUU欧美激情一区二区| 国产精品色色| 亚洲精品婷婷| 国产精品色婷婷AV综合色色| 狠狠精品干练久久久无码中文字幕 | 日日影院 | 91丨九色丨东北熟女| 99精彩视频| 色婷婷电影网| 婷婷色色五月天| 91超级碰碰碰| 风流少妇A片一区二区蜜桃| 26uuu日韩| 综合久久99| 99久久婷婷国产综合精品草原| 色情综合| 99热| 99国产在线精品视频| 国产精品涩涩涩视频网站| 九九99久久| 国产毛片精品一区二区色欲黄A片| AV九九| www.91久久| 亚洲AV网址| 五月天啪啪啪| 色综合五月天| 碰97 久| 国产黄色大片| av线电影| 爱操人妻| 色五月xxx| 婷婷涩五月天综合| 丁香涩涩爱| 米奇影视五月天| 五月深爱激情网| 丁香六月婷婷综合缴| 91日本在线观看| 天天干天天干天天干天天干天天干| 欧美色五月| 免费无码毛片一区二区A片| 丁香八月综合激情| 久久九精品| 五月天激情四射| 久99久精品| 99热日韩这里只有精品| 天天 青草 丝袜制服 在线| 天天操天天草天天草天天| 天天操天天操综合| www.99热视频| 大香蕉婷婷丁香视频在线| 天天射影院| 精品无码片| 色哟哟精品| 六月婷五月丁香| 天天做天天摸| 久色网| 国产精品第一国产精品| 激情丁香五月综合| 五月婷九月| 亚洲精品视频在线播放| 色情五月天se| 色色亚洲五月天| AV在线大香蕉| 最近免费中文字幕大全高清大全1| 伊人喵咪a V| 91成人电影| 五月丁香婷婷伊人| 久久WW| 成人视频网| 色婷在线视频| 婷婷色色综合激情| 草综合14| 啪啪啪大香蕉| 日本色久| www.久久66| 激情久久综合| 亚洲乱码日产精品BD在线观看 | 激情五月天婷婷激情| 五月天综合图片| 婷婷伊人| 亚洲AV无码一区二| 日本va欧美va精品发布视频 | 九九热短视频在线观看| 最近中文字幕2019视频1| 9久热在线视频| 欧美日韩一a.无| Xx色综合| 久久久久久97| 人人色人人弄人人操| 九九99九九99| 五月天欧美 另类小说| 九九色大香蕉| 日韩人妻AV在线| 五月天啪啪视频| 人妻久久久久久| 欧美顶级少妇做爰HD| 99久在线视频| http://www.sd-xiangsu.com/| 国产av天堂| 久久婷婷91| 深爱激清网| 激情开心五月天| 婷婷涩涩五月天| 色停停五月天| 丁香婷婷综合激情五月色| WWW,五月天| 欧美三日本三级少妇三99| 岛囯综合激情网| 丁香香五月激情免费视频| 成人AV中文字幕| 色色草97| 五月丁香激情综合六月涩涩爱| 狠狠插狠狠操| 五月婷婷深深爱| 欧美五月丁香| 9热超碰| 99热6这里只有精品6| 色噜噜狠狠色综合日日| 26uuu成人网| 久久这里只有国产视频| 亚洲成av人影院| 婷婷五月丁香av网站| 激情久久久| 色欲色天天香综合| 性色天| 成人羞羞啪啪 全 视频| 色五月婷婷av| 伊人五月综合网| 欧美黄色AA片哗啦啦啦| 1024在线观看免费视频| 狠狠久综合| 香蕉网婷婷| 婷婷五月天亚洲综合| 日韩丁香涩| 婷婷五月综合激情小说| 亚洲AV日韩在线观看| 五月婷婷丁香av|