<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
Thanks for taking the time to examine this issue. I was skeptical
that the fault lies with the library given it's place underlying the
world of GIS software. I will pass your comments to the developer of
the PHP library.<br>
<br>
On 10/15/2025 1:09 AM, Rahkonen Jukka wrote:
<blockquote type="cite">
<pre wrap="" class="moz-quote-pre">Hi,
Could you ask the author of the PHP library to be more specific and refer to the correspointing parts of the shapefile specification <a class="moz-txt-link-freetext" href="https://www.esri.com/content/dam/esrisites/sitecore-archive/Files/Pdfs/library/whitepapers/pdfs/shapefile.pdf">https://www.esri.com/content/dam/esrisites/sitecore-archive/Files/Pdfs/library/whitepapers/pdfs/shapefile.pdf</a>? I think that PolyLineZ and PointZ applies to your data.
What they see and what they suppose to see in the binary content? Do they mean that the Z array is too short and does not contain a height value for the last shape?
In the shapefile specification 3D is supported for XYM geometries, but having Y requires also M and shapefiles with heights are actually 4D (XYZM). However, the M array is marked as optional in the table 14 of the specification. I believe that what GDAL does with XYZ linestring data is to create a shapefile with shape type 13, that is by the definition XYZM, but it does not write the optional M array at all. The result is effectively XYZM without M, thus XYZ.
</pre>
</blockquote>
<br>
</body>
</html>