Re: [Jts-topo-suite-user] Builds a 3D geometry from a 2D geometry
Brought to you by:
dr_jts
From: Martin D. <mtn...@gm...> - 2013-03-25 16:58:23
|
I just noticed that in fact the CoordinateSequences.copy method in fact only supports copying between sequences of the same dimension. This would support your need to copy 2D->2D, but not 2D->3D. It's pretty easy to extend this to handle copying between any dimensions of sequences, however. I'll update this methods to do this, and you can always backport or add the code to your environment. For copying 2D->2D, is there a reason you can't just use CoordinateSequence#create(CoordinateSequence) ? On Mon, Mar 25, 2013 at 9:52 AM, Martin Davis <mtn...@gm...> wrote: > Sorry about the breaking change. I presume you are referring to the > change in rev 605, which changed CoordinateArraySequence to maintain a true > dimension size (2 or 3), rather than just hardcoding to 3? > > For copying 2D->2D and 3D->2D I think the most direct way now is to use: > > CoordinateSequenceFactory.create(size, dim) > > and then > > CoordinateSequences.copy(src, 0, dist, 0, dest.size()); > > This could obviously be wrapped up in a utility method. Does this meet > your needs? Do you have a suggestion for making it easier to use? > > It would be nice to have a good set of use cases for CoordinateSequences, > accompanied by unit tests to show how this works and confirm that it does > work! This is a good example to add to that. > > In general designing a API for CoordinateSequences which allows both > simple and effective dimension handling is turning out to be a major > challenge. The current API still falls short in some ways (in particular, > for handling M values). I'm trying to evolve it to be as flexible as > possible without breaking too much existing code, but it's hard to make > changes 100% transparent. I am starting to think about a clean-sheet > design for a JTS 2 which would be better able to support XYZM dimensions, > and also geodetic data and better precision model handling. Once the > design has settled down a bit more I'll put it out for comments (and > comments are welcome in the meantime). > > > On Mon, Mar 25, 2013 at 5:28 AM, Alexis "Agemen" <a9...@gm...> wrote: > >> Hi everybody ! >> >> We've just switched to jts 1.13 in the OrbisGIS dependencies and it >> unfortunately broke some things... There have been some changes in the >> dimension management in CoordinateArraySequence that have had >> unexpected effects in our source code - we did not manage the >> dimension well and we're now forced to do it. Not a JTS problem, so, >> and I think I've fixed our code, but I still have a question. >> >> In order to fix our code, I've serached in JTS for a code/method that >> would let me transform a 2D geometry in a 2D geometry or a 3D geometry >> to a 2D geometry.I was hoping for some factory able to produce a copy >> of a geometry where the dimension attribute of the CoordinateSequence >> would have been changed. I couldn't find it, though :-( Does such a >> method exist ? Do you intend to add such a method in the JTS API ? >> >> Thanks in advance for any hints you can give us. And again, thanks for >> the work made on JTS :-) >> >> Best wishes, >> >> Alexis. >> >> -- >> OrbisGIS supporter. >> >> >> ------------------------------------------------------------------------------ >> Everyone hates slow websites. So do we. >> Make your web apps faster with AppDynamics >> Download AppDynamics Lite for free today: >> http://p.sf.net/sfu/appdyn_d2d_mar >> _______________________________________________ >> Jts-topo-suite-user mailing list >> Jts...@li... >> https://lists.sourceforge.net/lists/listinfo/jts-topo-suite-user >> > > |