| [ESRI-L] ArcEngine Zoom to Feature |
| 2009-10-28 04:30:00.0 |
| Hello,
I have developed an ArcGIS Engine application where an user may type in a portion of a street name, a window pops up with a list of the street names that are possible, then the user clicks on the street name they want. At this point, the map is supposed to zoom to the street segment for which the user clicked. The problem is that the map does nothing. Below is the code I am using. I would appreciate anyone who could look this over an tell me what I am missing? Thanks, Lawrence Hartpence GIS Analyst 4200 Mills Civic Pkwy West Des Moines IA 50265 515-273-0620 lawrence.hartpence@wdm-ia.com Private Sub DataGridView1_MouseDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles DataGridView1.MouseDoubleClick 'MsgBox(DataGridView1.CurrentRow.Cells(0).Value) Dim pMapDocument As ESRI.ArcGIS.Carto.IMapDocument = New ESRI.ArcGIS.Carto.MapDocumentClass() Dim Path As String Path = "\\wscp1as01\LG Products\WestComDocs\AddressMap.mxd" pMapDocument.Open(Path, Nothing) Dim pMap As ESRI.ArcGIS.Carto.IMap Dim i As Integer Dim pFeatureLayer As ESRI.ArcGIS.Carto.IFeatureLayer For i = 0 To pMapDocument.MapCount - 1 Step i + 1 pMap = pMapDocument.Map(i) 'MsgBox(pMap.Name) Dim pEnumLayer As ESRI.ArcGIS.Carto.IEnumLayer = pMap.Layers(Nothing, True) pEnumLayer.Reset() Dim pLayer As ESRI.ArcGIS.Carto.ILayer = pEnumLayer.Next() While Not pLayer Is Nothing If pLayer.Name = "StreetCenterline" Then 'MsgBox(pLayer.Name) Exit While Else pLayer = pEnumLayer.Next() End If pFeatureLayer = pLayer End While Next Dim pfClass As ESRI.ArcGIS.Geodatabase.IFeatureClass If Not pFeatureLayer Is Nothing Then pfClass = pFeatureLayer.FeatureClass End If Dim pfeatureSelection As ESRI.ArcGIS.Carto.IFeatureSelection pfeatureSelection = pFeatureLayer 'QI Dim pEnvelope As ESRI.ArcGIS.Geometry.IEnvelope Dim pfeatsel As ESRI.ArcGIS.Geodatabase.IFeature Dim eID As Long eID = DataGridView1.CurrentRow.Cells(0).Value pfeatsel = pFeatureLayer.FeatureClass.GetFeature(eID) pEnvelope = pfeatsel.Shape.Envelope.Envelope pEnvelope.Expand(300, 300, False) pMapDocument.ActiveView.Activate(hWnd:=0) 'Confirm that the map extent really does change. MsgBox(String.Concat("New map extent: ", pEnvelope.XMin, ", ", pEnvelope.YMin, ", ", pEnvelope.XMax, ", ", pEnvelope.YMax)) pMapDocument.ActiveView.Extent = pEnvelope pMapDocument.ActiveView.Refresh() End Sub |
| Top |
| [ESRI-L] FSA boundary map discrepency |
| 2009-10-28 02:14:00.0 |
| Hi there, I have just calculated the sq km for each BC FSA shape area for a 2002 Shorelined Data and 2008 unshorelined data. Both files are from DMTI Spatial Inc. I know that some FSA's have been merged and may explain slight discprencies in data but the ones below seem too significant. Does anyone know what I might have done to cause this issue or what I need to do resolve it. Your help is much appreciated!!
Stuart FSA sqkm1 - 2002 sqkm2 - 2008 V0A 18768.01045980000 24349.44234740000 V0B 26118.45721450000 26349.60048450000 V0C 274558.59738700000 214521.15030000000 V0E 53877.00484910000 54058.16237180000 V0G 18529.78909530000 13384.98146340000 V0H 12242.22187460000 10386.44696710000 V0K 54539.09942370000 241610.00685100000 V0L 47577.85189670000 47449.57975620000 |
| Top |