public static List<Point2D.Double> convertLine(String line, Long radius) {
		List<Point2D.Double> convertResult = new ArrayList<>();
		JSONArray array = JSONUtil.parseArray(line);
		List<Point2D.Double> ptsAll = new ArrayList<>();
		array.forEach(i -> {
			String dwType = JSONUtil.parseObj(i).getJSONObject("geometry").getStr("type");
			if (dwType.equals("LineString")) {
				JSONArray z = JSONUtil.parseObj(i).getJSONObject("geometry").getJSONArray("coordinates");
				z.forEach(y -> {
					JSONArray zb = JSONUtil.parseArray(y);
					Point2D.Double dw = new Point2D.Double();
					dw.setLocation(Double.parseDouble(String.valueOf(zb.get(0))), Double.parseDouble(String.valueOf(zb.get(1))));
					ptsAll.add(dw);
				});
			}
		});
		if (ptsAll.size() > 0) {
			List<LatLng> dataList = new ArrayList<>(ptsAll.size());
			for (Point2D.Double doubles : ptsAll) {
				dataList.add(new LatLng(doubles.getY() / Math.PI * 180, doubles.getX() / Math.PI * 180));
			}
			String result = PolylineBuffer.getLineBufferEdgeCoords(dataList, (Optional.ofNullable(Double.valueOf(radius)).orElse(100.0)) / 2000);
			String[] split = result.split(",");

			for (int i = 0; i < split.length / 2; i++) {
				Point2D.Double zb = new Point2D.Double(Double.parseDouble(split[2 * i]) * Math.PI / 180, Double.parseDouble(split[2 * i + 1]) * Math.PI / 180);
				convertResult.add(zb);
			}
		}
		return convertResult;
	}