<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Creating multipart polyline with Z values in Python Questions</title>
    <link>https://community.esri.com/t5/python-questions/creating-multipart-polyline-with-z-values/m-p/1202754#M65309</link>
    <description>&lt;P&gt;Code screenshots are hard to work with, because we can't easily test what you did. To post code as text:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="JohannesLindner_2-1660555311852.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/48610iD7A43EDEB5C74F22/image-size/medium?v=v2&amp;amp;px=400" role="button" title="JohannesLindner_2-1660555311852.png" alt="JohannesLindner_2-1660555311852.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="JohannesLindner_3-1660555339145.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/48611iF872ADEA25BA32A6/image-size/medium?v=v2&amp;amp;px=400" role="button" title="JohannesLindner_3-1660555339145.png" alt="JohannesLindner_3-1660555339145.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Passing a simple list of coordinate tuples to the InsertCursor seems to be a shortcut that is only valid for singlepart features. Personally, I always create an arcpy.Geometry object and pass that.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="python"&gt;test_fc = arcpy.management.CreateFeatureclass("memory", "test_fc", "POLYLINE", has_z="YES", spatial_reference=4326)

coordinates = [
    [-117.2000424, 34.055514, 1],
    [-117.2000788, 34.0592066, 2],
    [-117.1957315, 34.0592309, 5],
    [-117.1956951, 34.0556001, 2],
]

with arcpy.da.InsertCursor(test_fc, ["SHAPE@"]) as cursor:
    points = [arcpy.Point(c[0], c[1], c[2]) for c in coordinates]
    line = arcpy.Polyline(arcpy.Array(points), has_z=True, spatial_reference=4326)
    cursor.insertRow([line])&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="JohannesLindner_0-1660554875513.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/48608iE02DD4AE5E70FEA3/image-size/medium?v=v2&amp;amp;px=400" role="button" title="JohannesLindner_0-1660554875513.png" alt="JohannesLindner_0-1660554875513.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="python"&gt;multipart_coordinates = [
    [coordinates[0], coordinates[1]],
    [coordinates[2], coordinates[3]],
]

with arcpy.da.InsertCursor(test_fc, ["SHAPE@"]) as cursor:
    parts = arcpy.Array([
        arcpy.Array([
            arcpy.Point(p[0], p[1], p[2]) for p in part
        ])
        for part in multipart_coordinates])
    line = arcpy.Polyline(parts, has_z=True, spatial_reference=4326)
    cursor.insertRow([line])&lt;/LI-CODE&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="JohannesLindner_1-1660555231504.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/48609iFA036F2652153386/image-size/medium?v=v2&amp;amp;px=400" role="button" title="JohannesLindner_1-1660555231504.png" alt="JohannesLindner_1-1660555231504.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Mon, 15 Aug 2022 09:26:31 GMT</pubDate>
    <dc:creator>JohannesLindner</dc:creator>
    <dc:date>2022-08-15T09:26:31Z</dc:date>
    <item>
      <title>Creating multipart polyline with Z values</title>
      <link>https://community.esri.com/t5/python-questions/creating-multipart-polyline-with-z-values/m-p/1202683#M65306</link>
      <description>&lt;P&gt;Trying to create multipart polyline from array of arrays (arcpy.Polyline containing multiple arcpy.Array (each is a singlepart line)) or list of coords. Tried it in multiple ways.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="kradijaf_0-1660485754986.png" style="width: 999px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/48596i6F0964D7B79C85E2/image-size/large?v=v2&amp;amp;px=999" role="button" title="kradijaf_0-1660485754986.png" alt="kradijaf_0-1660485754986.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Inserting a list of 3D coords into Z-enabled feature class as shown in &lt;A href="https://pro.arcgis.com/en/pro-app/latest/arcpy/get-started/writing-geometries.htm" target="_blank" rel="noopener"&gt;https://pro.arcgis.com/en/pro-app/latest/arcpy/get-started/writing-geometries.htm&lt;/A&gt; class only worked for singlepart features for me.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Creating multipart polyline without Z values also works as also shown in Write Geometries:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="kradijaf_1-1660485974424.png" style="width: 999px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/48597i0E87A977F5029DB3/image-size/large?v=v2&amp;amp;px=999" role="button" title="kradijaf_1-1660485974424.png" alt="kradijaf_1-1660485974424.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;This also didn´t work after I added z-coord into the points.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Created multipart polyline without z-coord, inserted it into Z-enabled feature class. Tried to update z-coords using script similar to&amp;nbsp;&lt;A href="https://community.esri.com/t5/python-questions/change-z-coordinates-of-vertexes-by-updatecursor/m-p/598505#M46835" target="_blank" rel="noopener"&gt;https://community.esri.com/t5/python-questions/change-z-coordinates-of-vertexes-by-updatecursor/m-p/598505#M46835&lt;/A&gt;&amp;nbsp;but applied to ArcGIS Pro 2.9, the script can run without errors. After I change z-coord of a point, .Z property prints correct z-coord. But after I create a new multipart polyline from points with correct Z-coord and update the row with it, Z-coords of all updated polyline points are equal to 0.&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Does anyone know how to solve this?&lt;/P&gt;</description>
      <pubDate>Sun, 14 Aug 2022 21:14:00 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/creating-multipart-polyline-with-z-values/m-p/1202683#M65306</guid>
      <dc:creator>kradijaf</dc:creator>
      <dc:date>2022-08-14T21:14:00Z</dc:date>
    </item>
    <item>
      <title>Re: Creating multipart polyline with Z values</title>
      <link>https://community.esri.com/t5/python-questions/creating-multipart-polyline-with-z-values/m-p/1202754#M65309</link>
      <description>&lt;P&gt;Code screenshots are hard to work with, because we can't easily test what you did. To post code as text:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="JohannesLindner_2-1660555311852.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/48610iD7A43EDEB5C74F22/image-size/medium?v=v2&amp;amp;px=400" role="button" title="JohannesLindner_2-1660555311852.png" alt="JohannesLindner_2-1660555311852.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="JohannesLindner_3-1660555339145.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/48611iF872ADEA25BA32A6/image-size/medium?v=v2&amp;amp;px=400" role="button" title="JohannesLindner_3-1660555339145.png" alt="JohannesLindner_3-1660555339145.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Passing a simple list of coordinate tuples to the InsertCursor seems to be a shortcut that is only valid for singlepart features. Personally, I always create an arcpy.Geometry object and pass that.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="python"&gt;test_fc = arcpy.management.CreateFeatureclass("memory", "test_fc", "POLYLINE", has_z="YES", spatial_reference=4326)

coordinates = [
    [-117.2000424, 34.055514, 1],
    [-117.2000788, 34.0592066, 2],
    [-117.1957315, 34.0592309, 5],
    [-117.1956951, 34.0556001, 2],
]

with arcpy.da.InsertCursor(test_fc, ["SHAPE@"]) as cursor:
    points = [arcpy.Point(c[0], c[1], c[2]) for c in coordinates]
    line = arcpy.Polyline(arcpy.Array(points), has_z=True, spatial_reference=4326)
    cursor.insertRow([line])&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="JohannesLindner_0-1660554875513.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/48608iE02DD4AE5E70FEA3/image-size/medium?v=v2&amp;amp;px=400" role="button" title="JohannesLindner_0-1660554875513.png" alt="JohannesLindner_0-1660554875513.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="python"&gt;multipart_coordinates = [
    [coordinates[0], coordinates[1]],
    [coordinates[2], coordinates[3]],
]

with arcpy.da.InsertCursor(test_fc, ["SHAPE@"]) as cursor:
    parts = arcpy.Array([
        arcpy.Array([
            arcpy.Point(p[0], p[1], p[2]) for p in part
        ])
        for part in multipart_coordinates])
    line = arcpy.Polyline(parts, has_z=True, spatial_reference=4326)
    cursor.insertRow([line])&lt;/LI-CODE&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="JohannesLindner_1-1660555231504.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/48609iFA036F2652153386/image-size/medium?v=v2&amp;amp;px=400" role="button" title="JohannesLindner_1-1660555231504.png" alt="JohannesLindner_1-1660555231504.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 15 Aug 2022 09:26:31 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/creating-multipart-polyline-with-z-values/m-p/1202754#M65309</guid>
      <dc:creator>JohannesLindner</dc:creator>
      <dc:date>2022-08-15T09:26:31Z</dc:date>
    </item>
  </channel>
</rss>

