5 votos

Hay una manera de convertir polilíneas 3D de puntos 3D en ArcGIS?

Necesito convertir un gran número de muy densa (densificado a 1m) polilíneas 3D de puntos 3D. Necesito cada vértice a lo largo de la línea y sin duplicados (dos de las mismas coordenadas XYZ) si es posible. Hay una herramienta para que? Cada clase de entidad para ser convertidos rendimientos de alrededor de 1 a 2 millones de puntos. Me hizo escribir mi propio add-on para esto y aunque yo estoy usando la inserción del cursor (que se oponen a la iFeature:Tienda) es bastante lento, así que tengo la esperanza de que hay una mejor manera.

1voto

Jason Z Puntos 111

¿Has probado ET GeoWizards tal vez? Sé que se puede hacer polilíneas 2D a puntos en la versión gratuita, pero no estoy seguro acerca de 3D.

1voto

saint_groceon Puntos 2696

Me gustaría tratar de convertir la polilíneas 3D en un lidar (LAS) archivo. Las herramientas que manejan los datos lidar generalmente están diseñados para manejar un gran número de puntos.

1voto

pelleg Puntos 211

Aquí un viejo código de VBA que hace un 2D punto shapefile de vértices de polilínea 2D. No tengo idea si funciona en 3D características así (¿por qué estás usando 3D-puntos?), pero podría funcionar (pero, entonces va a ser sólo parte de la solución):

  Private Sub UIButtonControl9_Click()
'Sub Test()
    Dim pMxDoc As IMxDocument
    Set pMxDoc = ThisDocument
    Dim WorkspaceName As String
    Dim TableName As String
    If pMxDoc.SelectedItem Is Nothing Then
        MsgBox "select layer in TOC first"
        Exit Sub
    End If
    If Not TypeOf pMxDoc.SelectedItem Is IFeatureLayer Then
        MsgBox "select layer in TOC first"
        Exit Sub
    End If
    DumpCoords pMxDoc.SelectedItem, "C:\temp\coorddump.csv"
    MsgBox "The Vertices were exported correctly." & Chr(13) & "Vertex point table is saved in C:\temp\coorddump.csv"
    WorkspaceName = "C:\temp"
    TableName = "coorddump.csv"
    AddTextFile WorkspaceName, TableName
    'AddXYEventLayer
End Sub

Sub DumpCoords(pFlayer As IFeatureLayer, sFile As String)
    '
    ' writes OID,part#,point#,x,y of selected features
    ' to sFile (or all features if none are selected)
    '
    If Not (pFlayer.FeatureClass.ShapeType = esriGeometryPolyline Or _
            pFlayer.FeatureClass.ShapeType = esriGeometryPolygon) Then
       MsgBox "must be polyline or polygon"
       Exit Sub
    End If

    Dim pFCur As IFeatureCursor
    Dim pFSel As IFeatureSelection
    Set pFSel = pFlayer
    If pFSel.SelectionSet.Count > 0 Then
        pFSel.SelectionSet.Search Nothing, False, pFCur
    Else
        Set pFCur = pFlayer.FeatureClass.Search(Nothing, False)
    End If

    Open sFile For Output As #1
    Dim StrHeader As String
    StrHeader = Chr(34) & "OIDp" & Chr(34) & Chr(44) & Chr(34) & _
    "Part" & Chr(34) & Chr(44) & Chr(34) & "P_num" & Chr(34) & Chr(44) & _
    Chr(34) & "XXX" & Chr(34) & Chr(44) & Chr(34) & "YYY" & Chr(34)
    Print #1, StrHeader

    Dim pFeat As IFeature
    Set pFeat = pFCur.NextFeature
    Do Until pFeat Is Nothing
        Dim pGeomColl As IGeometryCollection
        Set pGeomColl = pFeat.Shape

        Dim l As Long
        For l = 0 To pGeomColl.GeometryCount - 1
            Dim pPointColl As IPointCollection
            Set pPointColl = pGeomColl.Geometry(l)
            Dim k As Long
            For k = 0 To pPointColl.PointCount - 1
                Dim sOut As String
                sOut = pFeat.OID & "," & l & "," & k & "," & _
                   pPointColl.Point(k).x & "," & _
                   pPointColl.Point(k).Y
                Print #1, sOut
                Debug.Print sOut
            Next k
        Next l
        Set pFeat = pFCur.NextFeature
    Loop
    Close #1

End Sub
Private Function UIButtonControl9_ToolTip() As String
UIButtonControl9_ToolTip = "Extract vertices coordinates to CSV table"
End Function

0voto

Michael Gorsuch Puntos 1760

si usted tiene una licencia de arcinfo usted puede simplemente ejecutar el gp de la herramienta función de los vértices a los puntos. Toma de línea o de poli clase de entidad como entrada y salidas de los vértices como puntos, con su m & z.

en lo que asegura no duplicar los vértices están presentes, es posible que desee ver en estos dos gp herramientas: integrar y reparación de la geometría.

espero que esto ayude.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X