Java 如何创建具有M值的形状文件

Java 如何创建具有M值的形状文件,java,shapes,shapefile,Java,Shapes,Shapefile,使用com.livitsolutions.jts.geom中的Java类,我为点(x,y坐标)创建形状文件,但是有没有方法创建具有M值的形状文件,在其他环境中称为“PointZ” 为x/y创建形状特征的代码如下: import com.vividsolutions.jts.geom.Coordinate; import com.vividsolutions.jts.geom.Point; import com.vividsolutions.jts.geom.LineString; import

使用com.livitsolutions.jts.geom中的Java类,我为点(x,y坐标)创建形状文件,但是有没有方法创建具有M值的形状文件,在其他环境中称为“PointZ”

为x/y创建形状特征的代码如下:

import com.vividsolutions.jts.geom.Coordinate;
import com.vividsolutions.jts.geom.Point;
import com.vividsolutions.jts.geom.LineString;
import com.vividsolutions.jts.geom.MultiLineString;
...

// for point shape
Point point = geometryFactory.createPoint(new Coordinate(x,y,z));
featureBuilder.add(point); // here x,y,z is stored

// for multi-line shape
Coordinate cl[]=... some array of (x/y/z)
CoordinateArraySequence cas=new CoordinateArraySequence(cl);
LineString linestr[]=new LineString[1];
linestr[0]=new LineString(cas,geometryFactory);
MultiLineString mls = geometryFactory.createMultiLineString(linestr);
featureBuilder.add(mls);
因此,此代码段适用于(x/y);但我如何才能添加M值?没有像坐标(x,y,z,m)这样的方法

谢谢你的建议

经过一些“研究”和讨论之后,我发现了来自LivitSolutions的ExtendedCoordinate样本,它们可以添加M值:`ExtendedCoordinateSequence seq=(ExtendedCoordinateSequence)seqFact.create(new ExtendedCoordinate[]{new ExtendedCoordinate(x,y,z,M)});几何g=geoFact.createPoint(seq);点pg=(点)g;featureBuilder.add(第页);`什么不会导致错误,但不会将m值添加到形状文件:-(抱歉:我不知道如何设置答案中的代码格式)。