2015-07-21 7 views
2

Я разрабатываю веб-приложение, которое хранит полигоны в базе данных с помощью jsf. Я могу хранить многоугольник в поле строки, используя тип данных POLYGON в MySQL. Затем многоугольник отображается в виде BLOB в базе данных.Извлечь многоугольник BLOB из базы данных MySQL?

Однако я не уверен, как получить доступ к многоугольнику в каждой строке с помощью наборов строк в JDBC. В идеале я хотел бы преобразовать эти данные из BLOB POLYGON в массив LatLng .

Я знаю, что он может быть возвращен как WKT с использованием MYSQL

(SELECT * ST_AsText(markers) FROM paddock) 

, но я просто не знаю, как получить к нему доступ в Java. Если у кого-нибудь есть идеи, пожалуйста, не стесняйтесь делиться, спасибо.

ответ

0

Я нашел ответ на свой вопрос. Я использовал выше MySQL оператора, который возвращает строковое значение и регулярное выражение используется Java для того, чтобы извлечь координаты

    Polygon polygon = new Polygon(); 
        String value = rs.getString(1); 
        String valuereal = value.replaceAll("[^0-9 .,]+", ""); 
        ArrayList<String> myList = new ArrayList<String>(Arrays.asList(valuereal.split(","))); 

Регулярное выражение выше позволяет только цифры, точки и запятые от типа BLOB ПОЛИГОН в MySQL, то split используется для хранения в массиве строк.

Смежные вопросы