Java / Andorid: конвертировать многоугольник WKT в список <LatLng> - PullRequest
0 голосов
/ 30 мая 2018

У меня есть строка данных WKT Polygon, поступающая с сервера, которая выглядит следующим образом

POLYGON ((-79.9767 40.4887, -79.9718 40.4885, -79.9717 40.4888, -79.9722 40.4889, -79.9727 40.4883))

Это 5-точечный многоугольник. Каждый Lat, Long Point отделяется запятой,Как Формат геометрии WKT

Я хочу преобразовать данные полигона WKT выше в массив List-long, что-то вроде этого,

 List<LatLng> points // I want above latlongs points to be stored inside it.

Есть ли какой-либо предопределенный методили функция для этого?Может быть, в Google-Maps Utils?или я должен делать ручные строковые операции?

1 Ответ

0 голосов
/ 30 мая 2018

Это простой код, который я сделал, который добился цели.

List<LatLng> points = new ArrayList<>();

String sa,sa1,sa2,sa3,sa4;

sa = "POLYGON ((-79.97245641541667 40.48834660577806, -79.97186029446311 40.48851795900649, -79.97175971162505 40.48881068642625, -79.97223848593421 40.488938180547926, -79.97245641541667 40.48834660577806))";
               sa1 = sa.replaceAll("POLYGON ","");
               sa2 = sa1.replaceAll("[()]","");
               sa3 = sa2.replaceAll(", ","#");
               sa4 = sa3.replaceAll(" ",",");

                String[] splitString = sa4.split( "#" );

                for ( String point : splitString )
                { 
                     points.add(new LatLng(point));
                }
...