I have a very specific problem. I have data crossing two coordinate-systems, more specifically: the Netherlands and Belgium.
Previously the data was stored in one table in Oracle, using the RD coordinate system. When showing the data from Belgium, it was converted using the Oracle command
SDO_CS.TRANSFORM back to the Belgian coordinate system (Lambert 72) and all was well.
Now I am moving to geoserver, and rendering using openlayers, on top of openstreetmap or google maps background. I notice the Belgian data (which is stored in RD) is shifted. If I create a table with the original Belgian data (in Lambert 72 without transformation), it is rendered correctly.
So my first guess: the Oracle transformation from LB72->RD is wrong.
But if geoserver does the transformation it is correct (since it renders the original Lambert 72 data correctly on the google maps background).
So I imported the data from one table to Postgis, and do the transformation there (using
ST_transform(geom, 4326) and I see it is even more wrong :)
So at this moment I have a problem:
- I have data in two coordinate systems, which belong in one table since it is border-spanning (it is a pipeline)
- the data is rendered correctly, by geoserver, if using the original coordinate system
- it is not if the belgian data is "transformed" using database tools (
- how can i correctly transform belgian data to a coordinate system that can be rendered correctly on top of google maps or openlayers (I was considering WGS84 or ETRS89, as a shared coordinate system for both my RD and Lambert72 data)
- or alternatively: how can I store two coordinate-systems in one table? (it is not possible in Oracle, is it possible in Postgis?)
- or alternatively: how does one generally handle data that spans several coordinate systems?
Any help is greatly appreciated :)