Question

Create line in Z direction only with line builder - points (vertex) are common x,y but multiple z


Badge

Hi there,

I have x,y, and z point data. For approx 2500 holes (fixed x,y) I have multiple z representing the intersections of various strata (each z has a corresponding attribute representing the type of strata). I would like to build a 3D line with fixed x,y picking up all the vertex in z , then each line segment should use the corresponding type of strata as an attribute.

I've tried using the line builder - but can't quite tweak the parameters to give the desired outcome.

Thanks in advance


4 replies

Userlevel 2
Badge +17

Hi @pat_uow, I guess you have two tables - the first one contains coordinates (x, y) for each hole; the second one contains z values for each stratum for each hole. If so, how can you collect every z value corresponding to a single hole? Do the two tables have a common attribute that can be used as a join key?

Badge

The records are now in a single table Takashi. Table has HoleID, Holename then x,y (may be repeated several times depending on how many strata types were intersected on the way down), attribute (strata type) and then Z for each strata type. This table and the attribute (strata type) was the result of an unpivot operation on records where the strata type was across the columns.

Userlevel 2
Badge +17

OK. I think you can create 3D lines for each hole with this procedure.

  1. If the records have not been sorted by Hole ID and Z, sort them by Hole ID, Z with the Sorter.
  2. Use the VertexCreator to create 3D points from Z, Y, X for each record. [edit] Swap X and Z here. [/edit]
  3. Use the LineBuilder (Connection Break Attributes: Hole ID) to create 3D lines for each hole. Here, you can specify a list name to the List Name parameter to save every strata type into a list attribute.
  4. [edit] Modify the direction of the lines with CoordinateSwapper (Swap Type: X <-> Z). [/edit]

However, there still are two problems.

  1. For each line, the number of strata types (= records = vertices) is (the number of segments + 1). You will have to resolve this mismatch if you need to map a strata type to a segment of the line. For example, if the original Z indicates the middle of a stratum having some thickness, assume each boundary surface between upper and lower strata, then create a line using Z of boundary surfaces.
  2. Even if you could resolve the first problem, individual segments of a Line feature cannot have regular attributes. A possible way is to save the strata types of all segments into a list attribute of the Line feature. Alternatively, it's also possible to create individual segments as Line features, store the strata type as their Trait, then connect them to form a Path feature.

How to resolve the problems, depends on the required data structure as the result.

Userlevel 2
Badge +17

OK. I think you can create 3D lines for each hole with this procedure.

  1. If the records have not been sorted by Hole ID and Z, sort them by Hole ID, Z with the Sorter.
  2. Use the VertexCreator to create 3D points from Z, Y, X for each record. [edit] Swap X and Z here. [/edit]
  3. Use the LineBuilder (Connection Break Attributes: Hole ID) to create 3D lines for each hole. Here, you can specify a list name to the List Name parameter to save every strata type into a list attribute.
  4. [edit] Modify the direction of the lines with CoordinateSwapper (Swap Type: X <-> Z). [/edit]

However, there still are two problems.

  1. For each line, the number of strata types (= records = vertices) is (the number of segments + 1). You will have to resolve this mismatch if you need to map a strata type to a segment of the line. For example, if the original Z indicates the middle of a stratum having some thickness, assume each boundary surface between upper and lower strata, then create a line using Z of boundary surfaces.
  2. Even if you could resolve the first problem, individual segments of a Line feature cannot have regular attributes. A possible way is to save the strata types of all segments into a list attribute of the Line feature. Alternatively, it's also possible to create individual segments as Line features, store the strata type as their Trait, then connect them to form a Path feature.

How to resolve the problems, depends on the required data structure as the result.

Sorry, I forgot the fact that the LineBuilder won't connect points located at the same (x, y). However, you can use the CoordinateSwapper effectively to avoid the issue. Edited the procedure above.

 

[edit] In more correct, the LineBuiler won't create a Line, if the number of points was 4 or more and the start / end points located at the same 2D coordinates (x, y), even though z of them were different. [/edit]

 

Reply