Geotools не может найти базу данных HSQL EPSG, выдает ошибку: NoSuchAuthorityCodeException.JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Geotools не может найти базу данных HSQL EPSG, выдает ошибку: NoSuchAuthorityCodeException.

Сообщение Anonymous »

Я использую Geotools внутри Apache Storm и провожу массу времени с управлением зависимостями geotools. Все работает, когда я запускаю кластер Storm локально (ноутбук с Windows 7), но когда я развертываю кластер, я получаю это исключение в своих журналах.

РЕДАКТИРОВАТЬ: Вот Java, которую я использую, вызывает эту функцию

GridCoverage2D image =
new GeoTiffReader(f).read(new GeneralParameterValue[]{policy, gridsize, useJaiRead});
/**
* reproject to WGS84
*/
CoordinateReferenceSystem targetCRS = CRS.decode("EPSG:4326");
GridCoverage2D reprojectedImage = (GridCoverage2D) Operations.DEFAULT.resample(image, targetCRS);


Вот моя среда

geotools 11.1
java 7
POM is below
running on windows 7 when in local mode (works perfectly here)
this problem happens on Ubuntu 12.04.5 LTS (GNU/Linux 3.2.0-63-virtual x86_64)

here's the exception from the log

[ERROR] Exception in Bolt org.geotools.data.DataSourceException: GEOTIFF Module Error Report
No code "EPSG:32637" from authority "EPSG" found for object of type "EngineeringCRS".
ModelPixelScaleTag: [2.0,2.0,0.0]
ModelTiePointTag: (1 tie points)
TP #0: [0.0,0.0,0.0] -> [337668.0,3837288.0,0.0]
ModelTransformationTag: NOT AVAILABLE
GeoKey #1: Key = 2049, Value = GCS_WGS_1984
GeoKey #2: Key = 2054, Value = 9102
GeoKey #3: Key = 3072, Value = 32637
GeoKey #4: Key = 1024, Value = 1
GeoKey #5: Key = 1025, Value = 1
GeoKey #6: Key = 1026, Value = PCS Name = WGS_1984_UTM_zone_37N
GeoKey #7: Key = 3076, Value = 9001
org.opengis.referencing.NoSuchAuthorityCodeException: No code "EPSG:32637" from authority "EPSG" found for object of type "EngineeringCRS".
at org.geotools.referencing.factory.epsg.CartesianAuthorityFactory.noSuchAuthorityException(CartesianAuthorityFactory.java:136)
at org.geotools.referencing.factory.epsg.CartesianAuthorityFactory.createEngineeringCRS(CartesianAuthorityFactory.java:130)
at org.geotools.referencing.factory.epsg.CartesianAuthorityFactory.createCoordinateReferenceSystem(CartesianAuthorityFactory.java:121)
at org.geotools.referencing.factory.AuthorityFactoryAdapter.createCoordinateReferenceSystem(AuthorityFactoryAdapter.java:802)
at org.geotools.coverage.grid.io.imageio.geotiff.GeoTiffMetadata2CRSAdapter.createProjectedCoordinateReferenceSystem(GeoTiffMetadata2CRSAdapter.java:284)
at org.geotools.coverage.grid.io.imageio.geotiff.GeoTiffMetadata2CRSAdapter.createCoordinateSystem(GeoTiffMetadata2CRSAdapter.java:205)
at org.geotools.gce.geotiff.GeoTiffReader.getHRInfo(GeoTiffReader.java:299)
at org.geotools.gce.geotiff.GeoTiffReader.(GeoTiffReader.java:211)
at org.geotools.gce.geotiff.GeoTiffReader.(GeoTiffReader.java:156)
at dgi.eii.utils.PixelExtractor.extract(PixelExtractor.java:80)
at dgi.eii.storm.bolts.RasterPixelExtractorBolt.execute(RasterPixelExtractorBolt.java:59)
at backtype.storm.daemon.executor$fn__5641$tuple_action_fn__5643.invoke(executor.clj:631)
at backtype.storm.daemon.executor$mk_task_receiver$fn__5564.invoke(executor.clj:399)
at backtype.storm.disruptor$clojure_handler$reify__745.onEvent(disruptor.clj:58)
at backtype.storm.utils.DisruptorQueue.consumeBatchToCursor(DisruptorQueue.java:125)
at backtype.storm.utils.DisruptorQueue.consumeBatchWhenAvailable(DisruptorQueue.java:99)
at backtype.storm.disruptor$consume_batch_when_available.invoke(disruptor.clj:80)
at backtype.storm.daemon.executor$fn__5641$fn__5653$fn__5700.invoke(executor.clj:746)
at backtype.storm.util$async_loop$fn__457.invoke(util.clj:431)
at clojure.lang.AFn.run(AFn.java:24)
at java.lang.Thread.run(Thread.java:745)


Я также получаю ту же ошибку при обнаружении изображения с EPSQ: 4326

[ERROR] Exception in Bolt org.geotools.data.DataSourceException: GEOTIFF Module Error Report
No code "EPSG:4326" from authority "EPSG" found for object of type "EngineeringCRS".
ModelPixelScaleTag: [2.0230196490091333E-5,2.0230196490071028E-5,0.0]
ModelTiePointTag: (1 tie points)
TP #0: [0.0,0.0,0.0] -> [36.8167576323252,34.429979601192464,0.0]
ModelTransformationTag: NOT AVAILABLE
GeoKey #1: Key = 2048, Value = 4326
GeoKey #2: Key = 2049, Value = GCS_WGS_1984
GeoKey #3: Key = 2054, Value = 9102
GeoKey #4: Key = 1024, Value = 2
GeoKey #5: Key = 2057, Value = 6378137.0
GeoKey #6: Key = 1025, Value = 1
GeoKey #7: Key = 2059, Value = 298.257223563
org.opengis.referencing.NoSuchAuthorityCodeException: No code "EPSG:4326" from authority "EPSG" found for object of type "EngineeringCRS".
at org.geotools.referencing.factory.epsg.CartesianAuthorityFactory.noSuchAuthorityException(CartesianAuthorityFactory.java:136)
at org.geotools.referencing.factory.epsg.CartesianAuthorityFactory.createEngineeringCRS(CartesianAuthorityFactory.java:130)
at org.geotools.referencing.factory.epsg.CartesianAuthorityFactory.createCoordinateReferenceSystem(CartesianAuthorityFactory.java:121)
at org.geotools.referencing.factory.AuthorityFactoryAdapter.createCoordinateReferenceSystem(AuthorityFactoryAdapter.java:802)
at org.geotools.coverage.grid.io.imageio.geotiff.GeoTiffMetadata2CRSAdapter.createGeographicCoordinateReferenceSystem(GeoTiffMetadata2CRSAdapter.java:389)
at org.geotools.coverage.grid.io.imageio.geotiff.GeoTiffMetadata2CRSAdapter.createCoordinateSystem(GeoTiffMetadata2CRSAdapter.java:208)
at org.geotools.gce.geotiff.GeoTiffReader.getHRInfo(GeoTiffReader.java:299)
at org.geotools.gce.geotiff.GeoTiffReader.(GeoTiffReader.java:211)
at org.geotools.gce.geotiff.GeoTiffReader.(GeoTiffReader.java:156)
at dgi.eii.utils.PixelExtractor.extract(PixelExtractor.java:80)
at dgi.eii.storm.bolts.RasterPixelExtractorBolt.execute(RasterPixelExtractorBolt.java:59)
at backtype.storm.daemon.executor$fn__5641$tuple_action_fn__5643.invoke(executor.clj:631)
at backtype.storm.daemon.executor$mk_task_receiver$fn__5564.invoke(executor.clj:399)
at backtype.storm.disruptor$clojure_handler$reify__745.onEvent(disruptor.clj:58)
at backtype.storm.utils.DisruptorQueue.consumeBatchToCursor(DisruptorQueue.java:125)
at backtype.storm.utils.DisruptorQueue.consumeBatchWhenAvailable(DisruptorQueue.java:99)
at backtype.storm.disruptor$consume_batch_when_available.invoke(disruptor.clj:80)
at backtype.storm.daemon.executor$fn__5641$fn__5653$fn__5700.invoke(executor.clj:746)
at backtype.storm.util$async_loop$fn__457.invoke(util.clj:431)
at clojure.lang.AFn.run(AFn.java:24)
at java.lang.Thread.run(Thread.java:745)


Я видел несколько ответов, в которых указывалось, что мне нужно поместить gt-epsg-hsql в свой pom, и я это сделал, но до сих пор не нашел того, что ему нужно.< /p>

Вот мои записи POM geotools


org.geotools
gt-swing
11.1


org.geotools
gt-opengis
11.1


org.geotools
gt-epsg-hsql
11.1


org.geotools
gt-geotiff
11.1


org.geotools
gt-image
11.1


org.geotools
gt-wms
11.1



вот как я создаю uber-jar с плагином mavenshadow




org.apache.maven.plugins
maven-shade-plugin


package

shade





src/main/resources/META-INF/MANIFEST.MF


true
stand-alone


org.slf4j:slf4j-api:jar:
org.slf4j:slf4j-simple:jar:1.6.4:jar:
org.slf4j:slf4j-log4j12:jar:
org.slf4j:jcl-over-slf4j:jar:
org.slf4j:slf4j-api:jar:1.7.5:jar:

commons-logging:commons-logging:jar:
commons-logging:commons-logging-api:jar:




*:*

META-INF/*.SF
META-INF/*.DSA
META-INF/*.RSA



storm-topos


dgi.eii.storm.base.StormTopologyRunner









РЕДАКТИРОВАТЬ:
Итак, я кое-что выяснил и продвинулся немного дальше... теперь получаю эту ошибку

[ERROR] Exception in Bolt org.geotools.data.DataSourceException: org.hsqldb.DatabaseURL.parseURL(Ljava/lang/String;ZZ)Lorg/hsqldb/persist/HsqlProperties;


Это небольшое улучшение, которое привело к указанной выше новой ошибке, произошло из-за использования правильных преобразователей и использования плагина maven jar для внедрения правильных записей в файл MANIFEST.MF. . Вот новый раздел сборки моего POM, который может помочь кому-то, по крайней мере, преодолеть консолидацию файлов META-INF/services geotools и ввести правильные записи для преодоления старого имени поставщика, которое не может быть нулевым! error




${basedir}/src/main/resources
false

schema.xsd





org.apache.maven.plugins
maven-shade-plugin


package

shade




true
stand-alone


org.slf4j:slf4j-api:jar:
org.slf4j:slf4j-log4j12:jar:
org.slf4j:jcl-over-slf4j:jar:

commons-logging:commons-logging:jar:
commons-logging:commons-logging-api:jar:




*:*

META-INF/*.SF
META-INF/*.DSA
META-INF/*.RSA



insightcloud-storm-topos


dgi.eii.storm.base.StormTopologyRunner




META-INF/spring.handlers


META-INF/spring.schemas






org.apache.maven.plugins
maven-jar-plugin


src/main/resources/META-INF/MANIFEST.MF








Подробнее здесь: https://stackoverflow.com/questions/274 ... eexception
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Geopandas to_crs() возвращает все бесконечные координаты от EPSG:29615 до EPSG:3857.
    Anonymous » » в форуме Python
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Как проецировать EPSG: 4326 Shaperly Geometry To EPSG: 3857?
    Anonymous » » в форуме Python
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Как проецировать EPSG: 4326 Shaperly Geometry To EPSG: 3857?
    Anonymous » » в форуме Python
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Как экспортировать данные из Oracle в HSQL
    Anonymous » » в форуме JAVA
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Как экспортировать данные из Oracle в HSQL
    Anonymous » » в форуме JAVA
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»