} else if (position.length < 3 ){
dp = (crs != null) ? new DirectPosition2D(crs) : new DirectPosition2D();
dp.setOrdinate(0, position[0].doubleValue());
dp.setOrdinate(1, position[1].doubleValue());
} else {
dp = (crs != null) ? new DirectPosition3D(crs) : new DirectPosition3D();
dp.setOrdinate(0, position[0].doubleValue());
dp.setOrdinate(1, position[1].doubleValue());
dp.setOrdinate(2, position[2].doubleValue());
}