<?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: How do I Write Point,Polyline,Polygon Features with Z,M values to Pers. GeoDataba in ArcObjects SDK Questions</title>
    <link>https://community.esri.com/t5/arcobjects-sdk-questions/how-do-i-write-point-polyline-polygon-features/m-p/633486#M17075</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;You can only add features to a feature class that has been made z/m aware if that feature's geometry is also z/m aware.&amp;nbsp; In your code you are creating a point collection (as a new polyline), adding points to it and then using it as the new feature's geometry.&amp;nbsp; You're making each point you add z/m aware and assigning z/m values to it.&amp;nbsp; This is all correct except that you never made the polyline z/m aware and, therefore, it will ignore any z/m values that the points in its point collection may contain.&amp;nbsp; In other words, adding z/m aware points to a geometry doesn't make that geometry z/m aware.&amp;nbsp; You need to change your code to create a new polyline, make it z/m aware and then QI to IPointCollection to add the points.&lt;BR /&gt;&lt;BR /&gt;Dim polyline As IPolyline&lt;BR /&gt;Set polyline = New Polyline&lt;BR /&gt;Dim zAware As IZAware&lt;BR /&gt;Set zAware = polyline&lt;BR /&gt;zAware.ZAware = True&lt;BR /&gt;Dim mAware As IMAware&lt;BR /&gt;Set mAware = polyline&lt;BR /&gt;mAware.MAware = True&lt;BR /&gt;Dim pointCollection As IPointCollection&lt;BR /&gt;Set pointCollection = polyline&lt;BR /&gt;'now add the points&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;That's great - I am now suitably educated.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Appreciate your time explaining this all to me,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Rob P&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 20 Dec 2011 14:19:08 GMT</pubDate>
    <dc:creator>RobinPearce</dc:creator>
    <dc:date>2011-12-20T14:19:08Z</dc:date>
    <item>
      <title>How do I Write Point,Polyline,Polygon Features with Z,M values to Pers. GeoDatabase?</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/how-do-i-write-point-polyline-polygon-features/m-p/633482#M17071</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I'm running ArcView 9.2 and trying to populate an existing Personal Geodatabase with new feature classes for Points, Polylines and Polygons. I took an existing VBA code sample which came with my Arc installation and added Domain and Aware code for M and Z so I can create and store features with X,Y,Z,M data.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The following code is stripped down to just polyline features, in hope of at least getting Polylines to work. The command button PopulateEmptyGeoDatabase creates the TestPolylines class in the PGDB, then calls CreatePolylineFeatures to start creation of test data with random values. But when this reaches Set pFeature.Shape = pPointCollection, I get the error "The geometry has no Z values". &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I did notice that for my TestPolylines class, the GDB_GeomColumns table contains values for ExtentLeft,Bottom,Right,Top and ZLow,ZHigh,MLow,MHigh and SRID which are different in another PGDB which has been successfully populated with polyline data with Z,M values.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Where have I gone wrong?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;My code:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;[start of code]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Private Sub cmdPopulateEmptyGeoDatabase_Click()&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; ' Create the GeoDatabase using the name specified by the user&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; UserForm2.MousePointer = fmMousePointerHourGlass&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; DoEvents&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Dim pWorkspace As IFeatureWorkspace&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; If (lblSelectedInputFile = "") Then&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MsgBox "You must enter an input text file name.", vbExclamation + vbOKOnly, "No Name Entered"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; GoTo CleanExit&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; End If&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; If (strSelectedGeoDatabase = "") Then&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MsgBox "You must enter a database name.", vbExclamation + vbOKOnly, "No Name Entered"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; GoTo CleanExit&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; End If&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Dim pWorkspaceFactory As IWorkspaceFactory&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Set pWorkspaceFactory = New AccessWorkspaceFactory&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Dim pProperty As IPropertySet&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Set pProperty = New PropertySet&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Dim pWorkspaceName As IName&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; On Error GoTo ErrorPrint&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Set pWorkspace = pWorkspaceFactory.OpenFromFile(strSelectedGeoDatabase, 0)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; If (pWorkspace Is Nothing) Then GoTo CleanExit&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; ' Start Editing the Database&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Dim pWorkspaceEdit As IWorkspaceEdit&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Set pWorkspaceEdit = pWorkspace&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; pWorkspaceEdit.StartEditing False&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; ' Now create appropriate Feature Classes&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Dim pPolylineClass As IFeatureClass&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; CreateFeatureClass pWorkspace, "TestPolylines", esriGeometryPolyline, pPolylineClass&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; ' Now Create the point, line and polygon features&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; CreatePolylineFeatures pPolylineClass, 50&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; ' Stop Editing&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;CleanExit:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; UserForm2.MousePointer = fmMousePointerArrow&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; If (Not pWorkspace Is Nothing) Then&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; If (pWorkspaceEdit.IsBeingEdited) Then pWorkspaceEdit.StopEditing True&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pWorkspaceEdit = Nothing&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; End If&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; If (Not pWorkspace Is Nothing) Then Set pWorkspace = Nothing&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Exit Sub&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' after exiting from this procedure, database lockfile disappears&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;ErrorPrint:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; MsgBox Err.Description, vbExclamation + vbOKOnly, "Error Found"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Err.Clear&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; GoTo CleanExit&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;End Sub&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Private Sub CreateFeatureClass(pFeatureWorkspace As IFeatureWorkspace, className As String, GeomType As esriGeometryType, pFeatureClass As IFeatureClass)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; ' Add the Fields to the class the OID and Shape are compulsory&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Dim pFieldsEdit As IFieldsEdit&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Set pFieldsEdit = New Fields&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; pFieldsEdit.FieldCount = 2&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Dim pFieldEdit As IFieldEdit&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Set pFieldEdit = New Field&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; With pFieldEdit&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .name = "OID"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .Type = esriFieldTypeOID&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .AliasName = "Object ID"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .IsNullable = False&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; End With&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Set pFieldsEdit.Field(0) = pFieldEdit&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Dim numPoints As Long&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; numPoints = 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Select Case GeomType&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case esriGeometryPoint&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; numPoints = 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case esriGeometryPolyline&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; numPoints = 2&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case esriGeometryPolygon&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; numPoints = 4&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; End Select&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp; Assign the Spatial Reference&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Dim pSR As ISpatialReference&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Set pSR = New UnknownCoordinateSystem&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; pSR.SetDomain -450359962737.05, 450359962737.05, -450359962737.05, 450359962737.05&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; pSR.SetMDomain 0#, 10000000#&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; pSR.SetZDomain -100000, 100000&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Dim pGeomDef As IGeometryDefEdit&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Set pGeomDef = New GeometryDef&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; With pGeomDef&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .AvgNumPoints = numPoints&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .GeometryType = GeomType&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .GridCount = 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .GridSize(0) = 1000&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .HasM = True&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .HasZ = True&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set .SpatialReference = pSR&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; End With&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Set pFieldEdit = New Field&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; With pFieldEdit&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .name = "Shape"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .Type = esriFieldTypeGeometry&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .IsNullable = True&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .Editable = True&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .AliasName = "Shape"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set .GeometryDef = pGeomDef&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; End With&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Set pFieldsEdit.Field(1) = pFieldEdit&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Dim pUID As IUID&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Set pUID = New UID&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; pUID.Value = "esriGeoDatabase.Feature"&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Set pFeatureClass = pFeatureWorkspace.CreateFeatureClass(className, pFieldsEdit, pUID, Nothing, esriFTSimple, "Shape", "")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;End Sub&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Private Sub CreatePolylineFeatures(pFeatureClass As IFeatureClass, numberToCreate As Long)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; If (numberToCreate = 0) Then Exit Sub&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Dim i As Long&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Dim pFeature As IFeature&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Dim pPoint As IPoint&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Dim pPointCollection As IPointCollection&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Dim j As Long&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Dim pMA As IMAware&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Dim pZA As IZAware&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; For i = 1 To numberToCreate&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pFeature = pFeatureClass.CreateFeature&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pPointCollection = New Polyline&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; For j = 1 To Int(11 * Rnd)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pPoint = New Point&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pMA = pPoint&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pZA = pPoint&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pMA.MAware = True&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pZA.ZAware = True&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pPoint.X = 1001 * Rnd&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pPoint.Y = 1002 * Rnd&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pPoint.Z = 5 * Rnd&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pPoint.M = 6 * Rnd&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pPointCollection.AddPoint pPoint&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next j&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pFeature.Shape = pPointCollection&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pFeature.Store&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Next i&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;End Sub&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[end of code]&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Rob P&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 20 Dec 2011 08:01:03 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/how-do-i-write-point-polyline-polygon-features/m-p/633482#M17071</guid>
      <dc:creator>RobinPearce</dc:creator>
      <dc:date>2011-12-20T08:01:03Z</dc:date>
    </item>
    <item>
      <title>Re: How do I Write Point,Polyline,Polygon Features with Z,M values to Pers. GeoDataba</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/how-do-i-write-point-polyline-polygon-features/m-p/633483#M17072</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;You're making the points z and m aware and assigning valid values for Z and M, but you're not making the polyline itself z or m aware.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 20 Dec 2011 12:14:36 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/how-do-i-write-point-polyline-polygon-features/m-p/633483#M17072</guid>
      <dc:creator>NeilClemmons</dc:creator>
      <dc:date>2011-12-20T12:14:36Z</dc:date>
    </item>
    <item>
      <title>Re: How do I Write Point,Polyline,Polygon Features with Z,M values to Pers. GeoDataba</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/how-do-i-write-point-polyline-polygon-features/m-p/633484#M17073</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;You're making the points z and m aware and assigning valid values for Z and M, but you're not making the polyline itself z or m aware.&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks for the response Neil. Can you please tell me where this is documented because I can find no mention of it anywhere. And no examples.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Presumably something similar for polygons?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Many thanks,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Rob&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 20 Dec 2011 13:20:42 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/how-do-i-write-point-polyline-polygon-features/m-p/633484#M17073</guid>
      <dc:creator>RobinPearce</dc:creator>
      <dc:date>2011-12-20T13:20:42Z</dc:date>
    </item>
    <item>
      <title>Re: How do I Write Point,Polyline,Polygon Features with Z,M values to Pers. GeoDataba</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/how-do-i-write-point-polyline-polygon-features/m-p/633485#M17074</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;You can only add features to a feature class that has been made z/m aware if that feature's geometry is also z/m aware.&amp;nbsp; In your code you are creating a point collection (as a new polyline), adding points to it and then using it as the new feature's geometry.&amp;nbsp; You're making each point you add z/m aware and assigning z/m values to it.&amp;nbsp; This is all correct except that you never made the polyline z/m aware and, therefore, it will ignore any z/m values that the points in its point collection may contain.&amp;nbsp; In other words, adding z/m aware points to a geometry doesn't make that geometry z/m aware.&amp;nbsp; You need to change your code to create a new polyline, make it z/m aware and then QI to IPointCollection to add the points.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim polyline As IPolyline&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set polyline = New Polyline&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim zAware As IZAware&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set zAware = polyline&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;zAware.ZAware = True&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim mAware As IMAware&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set mAware = polyline&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;mAware.MAware = True&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pointCollection As IPointCollection&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set pointCollection = polyline&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;'now add the points&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 20 Dec 2011 13:32:08 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/how-do-i-write-point-polyline-polygon-features/m-p/633485#M17074</guid>
      <dc:creator>NeilClemmons</dc:creator>
      <dc:date>2011-12-20T13:32:08Z</dc:date>
    </item>
    <item>
      <title>Re: How do I Write Point,Polyline,Polygon Features with Z,M values to Pers. GeoDataba</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/how-do-i-write-point-polyline-polygon-features/m-p/633486#M17075</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;You can only add features to a feature class that has been made z/m aware if that feature's geometry is also z/m aware.&amp;nbsp; In your code you are creating a point collection (as a new polyline), adding points to it and then using it as the new feature's geometry.&amp;nbsp; You're making each point you add z/m aware and assigning z/m values to it.&amp;nbsp; This is all correct except that you never made the polyline z/m aware and, therefore, it will ignore any z/m values that the points in its point collection may contain.&amp;nbsp; In other words, adding z/m aware points to a geometry doesn't make that geometry z/m aware.&amp;nbsp; You need to change your code to create a new polyline, make it z/m aware and then QI to IPointCollection to add the points.&lt;BR /&gt;&lt;BR /&gt;Dim polyline As IPolyline&lt;BR /&gt;Set polyline = New Polyline&lt;BR /&gt;Dim zAware As IZAware&lt;BR /&gt;Set zAware = polyline&lt;BR /&gt;zAware.ZAware = True&lt;BR /&gt;Dim mAware As IMAware&lt;BR /&gt;Set mAware = polyline&lt;BR /&gt;mAware.MAware = True&lt;BR /&gt;Dim pointCollection As IPointCollection&lt;BR /&gt;Set pointCollection = polyline&lt;BR /&gt;'now add the points&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;That's great - I am now suitably educated.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Appreciate your time explaining this all to me,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Rob P&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 20 Dec 2011 14:19:08 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/how-do-i-write-point-polyline-polygon-features/m-p/633486#M17075</guid>
      <dc:creator>RobinPearce</dc:creator>
      <dc:date>2011-12-20T14:19:08Z</dc:date>
    </item>
    <item>
      <title>Re: How do I Write Point,Polyline,Polygon Features with Z,M values to Pers. GeoDataba</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/how-do-i-write-point-polyline-polygon-features/m-p/633487#M17076</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Dear Neil,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have a similar issue ! I have a Workspace and need to ceate a feature class inside of it ! these are my codes :&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IFeatureWorkspacePtr ipFtrWksp =(IFeatureWorkspacePtr)ipWksp; //---&amp;gt; ipWksp has value and ipFtrWksp created successfully&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IFeatureClassPtr ipFtrCls(CLSID_FeatureClass);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IFieldsPtr ipFlds(CLSID_Fields);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ipFlds = createFields(L"Type");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ipFtrWksp-&amp;gt;CreateFeatureClass(L"testLin", ipFlds, NULL, NULL, esriFTSimple, L"Shape", NULL, &amp;amp;ipFtrCls); //---&amp;gt; NULL for ipFtrCls!!!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;IFieldsPtr createFields(BSTR fieldName)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; if (fieldName == NULL)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; return E_POINTER;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; IFieldsPtr ipFields(CLSID_Fields);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; IFieldsEditPtr ipFieldsEdit = ipFields;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; IFieldPtr ipField(CLSID_Field);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; IFieldEditPtr ipFieldEdit = ipField;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; //Object ID&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; ipFieldEdit-&amp;gt;put_Name(L"FID");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; ipFieldEdit-&amp;gt;put_Type(esriFieldTypeOID);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; ipFieldsEdit-&amp;gt;putref_Field(0, ipField);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; //2nd Field&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; ipField.CreateInstance(CLSID_Field);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; ipFieldEdit = ipField;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; //Shape&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; ipFieldEdit-&amp;gt;put_Name(L"Shape");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; ipFieldEdit-&amp;gt;put_Type(esriFieldTypeGeometry);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; IGeometryDefPtr ipGeomDef(CLSID_GeometryDef);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; ISpatialReferencePtr ipSR(CLSID_UnknownCoordinateSystem); &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; IGeometryDefEditPtr ipGeomDefEdit = ipGeomDef;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; ipGeomDefEdit-&amp;gt;put_GeometryType(esriGeometryPolyline);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; ipGeomDefEdit-&amp;gt;putref_SpatialReference(ipSR);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; ipFieldEdit-&amp;gt;putref_GeometryDef(ipGeomDef);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; ipFieldsEdit-&amp;gt;putref_Field(1, ipField);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; //3rd Field&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; ipField.CreateInstance(CLSID_Field);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; ipFieldEdit = ipField;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; //Shape&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; ipFieldEdit-&amp;gt;put_Name(fieldName);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; ipFieldEdit-&amp;gt;put_Type(esriFieldTypeString);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; ipFieldEdit-&amp;gt;put_Length(20);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; ipFieldsEdit-&amp;gt;putref_Field(2, ipField);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; ipFields = ipFieldsEdit;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; return ipFields;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 31 Jan 2012 08:57:31 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/how-do-i-write-point-polyline-polygon-features/m-p/633487#M17076</guid>
      <dc:creator>nazerehnejatbakhsh</dc:creator>
      <dc:date>2012-01-31T08:57:31Z</dc:date>
    </item>
  </channel>
</rss>

