2015-02-19 4 views
1
  • Postgres 9
  • PostGIS
  • GeoTools 12.2

В Java бэкэндом я пытаюсь сделать запрос через GeoTools. Он отлично работает, пока я не попытаюсь сделать запрос с атрибутом типа «double precision []».Не можете запросить таблицу типа двойной точности [] из PostGIS с GeoTools

Первого GeoTools войти предупреждение:

org.geotools.jdbc.JDBCFeatureSource buildFeatureType 
WARNING: Could not find mapping for '<my column name>', ignoring the column and setting the feature type read only 

А потом где-то в глубине души, более или менее вокруг уровня PostGISDialect, она бросает NullPointerException. Я попытался отладить все, и я обнаружил, что для JDBCFeatureSource «double precision []» является «_float8» (typeName), а sqlType - «2003» (что является ARRAY в java.sql.Types). И JDBFeatureSource не может найти привязки ни для _float8, ни для типа SQL ARRAY. Я попытался найти некоторую информацию, если я могу расширить геотеку с собственным типом данных, но я потерпел неудачу. Кто-нибудь знает, как я могу использовать «double precision []» тип с geotools?

ответ

1

Ciao, Проще говоря, вы не можете прямо сейчас.

Более длинное объяснение, я не думаю, что в GeoTools есть Mapper PostGISDialect для данных такого типа. Возможно, вы захотите предоставить патч для него, это не должно быть слишком сложно.

Simone.

+0

Спасибо за ответ. Я могу попытаться написать патч. Я был бы признателен, если бы вы могли дать мне подсказку, где я мог бы начать смотреть в коде. Является ли PostGISDialect класс хорошей отправной точкой? – tomekK

+0

думаю. Я бы привёл обсуждение в ML, чтобы получить дополнительную информацию. Simone. – simogeo