Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

I am trying to develop arcgis 10.0 addin to update Z values of vertices of a selected line. Scenario: The tool scans all features in a given shape file and populates the list of features which has at least one vertex with a Z vlaue = 0. User then selects a feature from the list and clicks a button to update Z values to a given height - this last part does not work.

I have tried the following for updating Z values of a selected polyline feature with no luck:

    Dim pFeatureSelection As IFeatureSelection
            pFeatureSelection = pFLayer
            Dim pEnumID As IEnumIDs
            pEnumID = pFeatureSelection.SelectionSet.IDs
            Dim id As Long
            id = pEnumID.Next
            Dim pPointCollection As IPointCollection
            Dim pFeature As IFeature
            Do While Not id = -1
                pFeature = pFLayer.FeatureClass.GetFeature(id)
                pPointCollection = pFeature.Shape

                For lPnt = 0 To (pPointCollection.PointCount - 1)
                     SetZValueOnPoint(pPointCollection.Point(lPnt), Convert.ToDouble(txtZValue.Text))

                Next

                id = pEnumID.Next
            Loop

Please your help in providing any hint or suggesting error in the code above is much appreciated!

many thanks meryloo

share|improve this question

2 Answers 2

Thanks to Jeff's help we have got the answer - please see the link below:

http://forums.arcgis.com/threads/77013-arcobjects-update-geometry-Z-values-of-line-vertices-with-a-given-number

Thanks,

Meryloo

share|improve this answer

If the desire is to make the polyline the same Z value all the way from start to finish then use IZ interface. This interface has a method SetConstantZ ( Double ZLevel ) which works for polygons and polylines that will set every vertex to the same Z value. This approach is much simpler than the GeometryCollection / PointCollection / IZaware approach which I have used previously to set individual Z values of points (i.e. all different).

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.