[Geoserver-users] XY layers in Oracle?

Is it possible to create a GeoServer layer against an Oracle table that has only X and Y numeric columns?

(This seems like it might provide another potential solution to the issue of reducing Oracle query data size).

On Tue, Mar 10, 2015 at 7:47 PM, Martin Davis <mtnclimb@anonymised.com> wrote:

Is it possible to create a GeoServer layer against an Oracle table that
has only X and Y numeric columns?

(This seems like it might provide another potential solution to the issue
of reducing Oracle query data size).

No, it is not possible. I started working on a possible solution some time
ago via the TransformFeatureSource,
but it's quite more general than just transforming two x and y into a
Point, which makes it somehow harder
to hook up (it's in the "non trivial" realm, otherwise I would have already
hooked it up in my spare time).

Generally speaking though, whatever you do, you'll need to create a UI and
configuration allowing the
user to specify which columns to use, and which crs the resulting point is
in... and whatever solution
you approach, handle the problem of transforming a generic spatial filter
against the point, towards
something that talks x and y instead (this part of the problem is not
solved in TransformDataStore
yet, but would not be too hard to add)

Cheers
Andrea

--

GeoServer Professional Services from the experts! Visit
http://goo.gl/NWWaa2 for more information.

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

*AVVERTENZE AI SENSI DEL D.Lgs. 196/2003*

Le informazioni contenute in questo messaggio di posta elettronica e/o
nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il
loro utilizzo è consentito esclusivamente al destinatario del messaggio,
per le finalità indicate nel messaggio stesso. Qualora riceviate questo
messaggio senza esserne il destinatario, Vi preghiamo cortesemente di
darcene notizia via e-mail e di procedere alla distruzione del messaggio
stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso,
divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od
utilizzarlo per finalità diverse, costituisce comportamento contrario ai
principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for
the attention and use of the named addressee(s) and may be confidential or
proprietary in nature or covered by the provisions of privacy act
(Legislative Decree June, 30 2003, no.196 - Italy's New Data Protection
Code).Any use not in accord with its purpose, any disclosure, reproduction,
copying, distribution, or either dissemination, either whole or partial, is
strictly forbidden except previous formal approval of the named
addressee(s). If you are not the intended recipient, please contact
immediately the sender by telephone, fax or e-mail and delete the
information in this message that has been received in error. The sender
does not give any warranty or accept liability as the content, accuracy or
completeness of sent messages and accepts no responsibility for changes
made after they were sent or for other risks which arise as a result of
e-mail transmission, viruses, etc.

-------------------------------------------------------

I figured that was the case, but thought I’d ask.

As a variation of this I tried converting the Oracle geometry into WKT and then convert that back into a geometry in the SLD using the geomFromWKT filter function. However, this failed with the "Rendering process failed Unable to transform referenced envelope, crs has not yet been provided. " error. I don’t suppose there’s any way to force a SRID into a geometry read from WKT? Does GeoServer support the EWKT SRID syntax by any chance?

···

On Tue, Mar 10, 2015 at 1:21 PM, Andrea Aime <andrea.aime@anonymised.com> wrote:

On Tue, Mar 10, 2015 at 7:47 PM, Martin Davis <mtnclimb@anonymised.com> wrote:

Is it possible to create a GeoServer layer against an Oracle table that has only X and Y numeric columns?

(This seems like it might provide another potential solution to the issue of reducing Oracle query data size).

No, it is not possible. I started working on a possible solution some time ago via the TransformFeatureSource,
but it’s quite more general than just transforming two x and y into a Point, which makes it somehow harder
to hook up (it’s in the “non trivial” realm, otherwise I would have already hooked it up in my spare time).

Generally speaking though, whatever you do, you’ll need to create a UI and configuration allowing the
user to specify which columns to use, and which crs the resulting point is in… and whatever solution
you approach, handle the problem of transforming a generic spatial filter against the point, towards
something that talks x and y instead (this part of the problem is not solved in TransformDataStore
yet, but would not be too hard to add)

Cheers
Andrea

==

GeoServer Professional Services from the experts! Visit
http://goo.gl/NWWaa2 for more information.

==

Ing. Andrea Aime

@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy’s New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.


Answering my own question, I see that geomFromWKT does NOT support EWKT. It would be fairly easy to write a geomFromEWKT function, of course.

Would this be all that is needed to get WKT to work as the source of the SLD element? If so, I might give this a go.

···

On Tue, Mar 10, 2015 at 1:50 PM, Martin Davis <mtnclimb@anonymised.com> wrote:

I figured that was the case, but thought I’d ask.

As a variation of this I tried converting the Oracle geometry into WKT and then convert that back into a geometry in the SLD using the geomFromWKT filter function. However, this failed with the "Rendering process failed Unable to transform referenced envelope, crs has not yet been provided. " error. I don’t suppose there’s any way to force a SRID into a geometry read from WKT? Does GeoServer support the EWKT SRID syntax by any chance?

On Tue, Mar 10, 2015 at 1:21 PM, Andrea Aime <andrea.aime@anonymised.com> wrote:

On Tue, Mar 10, 2015 at 7:47 PM, Martin Davis <mtnclimb@anonymised.com> wrote:

Is it possible to create a GeoServer layer against an Oracle table that has only X and Y numeric columns?

(This seems like it might provide another potential solution to the issue of reducing Oracle query data size).

No, it is not possible. I started working on a possible solution some time ago via the TransformFeatureSource,
but it’s quite more general than just transforming two x and y into a Point, which makes it somehow harder
to hook up (it’s in the “non trivial” realm, otherwise I would have already hooked it up in my spare time).

Generally speaking though, whatever you do, you’ll need to create a UI and configuration allowing the
user to specify which columns to use, and which crs the resulting point is in… and whatever solution
you approach, handle the problem of transforming a generic spatial filter against the point, towards
something that talks x and y instead (this part of the problem is not solved in TransformDataStore
yet, but would not be too hard to add)

Cheers
Andrea

==

GeoServer Professional Services from the experts! Visit
http://goo.gl/NWWaa2 for more information.

==

Ing. Andrea Aime

@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy’s New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.


Or it might be simpler and neater to have a function

geomFromWKT_SRID(String wkt, int srid)

After a bit of code browsing it looks as thought this might not be sufficient to get this to work though?

···

On Tue, Mar 10, 2015 at 1:55 PM, Martin Davis <mtnclimb@anonymised.com> wrote:

Answering my own question, I see that geomFromWKT does NOT support EWKT. It would be fairly easy to write a geomFromEWKT function, of course.

Would this be all that is needed to get WKT to work as the source of the SLD element? If so, I might give this a go.

On Tue, Mar 10, 2015 at 1:50 PM, Martin Davis <mtnclimb@anonymised.com> wrote:

I figured that was the case, but thought I’d ask.

As a variation of this I tried converting the Oracle geometry into WKT and then convert that back into a geometry in the SLD using the geomFromWKT filter function. However, this failed with the "Rendering process failed Unable to transform referenced envelope, crs has not yet been provided. " error. I don’t suppose there’s any way to force a SRID into a geometry read from WKT? Does GeoServer support the EWKT SRID syntax by any chance?

On Tue, Mar 10, 2015 at 1:21 PM, Andrea Aime <andrea.aime@anonymised.com> wrote:

On Tue, Mar 10, 2015 at 7:47 PM, Martin Davis <mtnclimb@anonymised.com> wrote:

Is it possible to create a GeoServer layer against an Oracle table that has only X and Y numeric columns?

(This seems like it might provide another potential solution to the issue of reducing Oracle query data size).

No, it is not possible. I started working on a possible solution some time ago via the TransformFeatureSource,
but it’s quite more general than just transforming two x and y into a Point, which makes it somehow harder
to hook up (it’s in the “non trivial” realm, otherwise I would have already hooked it up in my spare time).

Generally speaking though, whatever you do, you’ll need to create a UI and configuration allowing the
user to specify which columns to use, and which crs the resulting point is in… and whatever solution
you approach, handle the problem of transforming a generic spatial filter against the point, towards
something that talks x and y instead (this part of the problem is not solved in TransformDataStore
yet, but would not be too hard to add)

Cheers
Andrea

==

GeoServer Professional Services from the experts! Visit
http://goo.gl/NWWaa2 for more information.

==

Ing. Andrea Aime

@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy’s New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.


On Tue, Mar 10, 2015 at 9:50 PM, Martin Davis <mtnclimb@anonymised.com> wrote:

I figured that was the case, but thought I'd ask.

As a variation of this I tried converting the Oracle geometry into WKT and
then convert that back into a geometry in the SLD <Geometry> using the
geomFromWKT filter function. However, this failed with the "Rendering
process failed Unable to transform referenced envelope, crs has not yet
been provided. " error. I don't suppose there's any way to force a SRID
into a geometry read from WKT? Does GeoServer support the EWKT SRID
syntax by any chance?

Regardless of the conversion issues, the main problem I see is that you'd
basically have to include
extra filters to actually leverage the indexes you might have in your x/y
columns to avoid loading
all the data for nothing?

Besides, wouldn't GeoServer see the table as a geometryless one (as wkt is
just a string to GeoServer)?
And in this case, it should just refuse the publish the layer on the WMS
protocol?

Cheers
Andrea

--

GeoServer Professional Services from the experts! Visit
http://goo.gl/NWWaa2 for more information.

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

*AVVERTENZE AI SENSI DEL D.Lgs. 196/2003*

Le informazioni contenute in questo messaggio di posta elettronica e/o
nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il
loro utilizzo è consentito esclusivamente al destinatario del messaggio,
per le finalità indicate nel messaggio stesso. Qualora riceviate questo
messaggio senza esserne il destinatario, Vi preghiamo cortesemente di
darcene notizia via e-mail e di procedere alla distruzione del messaggio
stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso,
divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od
utilizzarlo per finalità diverse, costituisce comportamento contrario ai
principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for
the attention and use of the named addressee(s) and may be confidential or
proprietary in nature or covered by the provisions of privacy act
(Legislative Decree June, 30 2003, no.196 - Italy's New Data Protection
Code).Any use not in accord with its purpose, any disclosure, reproduction,
copying, distribution, or either dissemination, either whole or partial, is
strictly forbidden except previous formal approval of the named
addressee(s). If you are not the intended recipient, please contact
immediately the sender by telephone, fax or e-mail and delete the
information in this message that has been received in error. The sender
does not give any warranty or accept liability as the content, accuracy or
completeness of sent messages and accepts no responsibility for changes
made after they were sent or for other risks which arise as a result of
e-mail transmission, viruses, etc.

-------------------------------------------------------

Well, yes… I had thought about those issues, but wanted to see how far it was possible to go with current implementation.

I’ve worked on some projects where we’ve found that for point data it’s faster to use X and Y columns with standard B-tree indexes, rather than spatial data. In that case we ended up using a custom rendering engine for the point layer. But it would be nifty if GeoServer was able to provide this capability. Not something I have funding for right now though.

···

On Wed, Mar 11, 2015 at 2:17 PM, Andrea Aime <andrea.aime@anonymised.com> wrote:

On Tue, Mar 10, 2015 at 9:50 PM, Martin Davis <mtnclimb@anonymised.com> wrote:

I figured that was the case, but thought I’d ask.

As a variation of this I tried converting the Oracle geometry into WKT and then convert that back into a geometry in the SLD using the geomFromWKT filter function. However, this failed with the "Rendering process failed Unable to transform referenced envelope, crs has not yet been provided. " error. I don’t suppose there’s any way to force a SRID into a geometry read from WKT? Does GeoServer support the EWKT SRID syntax by any chance?

Regardless of the conversion issues, the main problem I see is that you’d basically have to include
extra filters to actually leverage the indexes you might have in your x/y columns to avoid loading
all the data for nothing?

Besides, wouldn’t GeoServer see the table as a geometryless one (as wkt is just a string to GeoServer)?
And in this case, it should just refuse the publish the layer on the WMS protocol?

Cheers

Andrea

==

GeoServer Professional Services from the experts! Visit
http://goo.gl/NWWaa2 for more information.

==

Ing. Andrea Aime

@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy’s New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.