I just completed my first code review of the JTin SoC project that
Chris Demars has been working on. I wanted to include the mailing list
on my comments to Chris, as I know there are more experienced
programmers listening that can offer Chris there own suggestions on
his design.

I must say that Chris took an interesting approach to the design of
JTin, and one that was a lot different from the approach I would have
taken. However, I think Chris' design will be much quicker and more
memory efficient. His professional programming background is evident
in the work. I tend to get lazy when I program, creating objects for
every little thing. JTin looks like it was written by a C programmer.
All the data structures are concise and fairly low-level.

Here are some of my questions and comments for Chris:

- I like that the TinFace objects, braklines, and boundaries in
ImmutableTin points to a common Coordinate array to eliminated
duplicated Coordinate references.
  Did you think about using a CoordinateSequence instead of a Coordinate array?

- Why did we choose STRtree and not QuadTree for the spatial index? I
know very little about both classes, and STRtree may indeed be the
better choice. Maybe Martin Davis will
  take a few minutes to educate me.

- Is the int in the first element of the int[][] triTable argument for
the ImmutableTin class constructor the identifier of the Tin Face,
while the in in the
  second element is the ID of the vertex?

- I'm not sure about storing the nieghbor TinFaces in the actual
TinFace object. I almost wonder if having a separate class to manage
TIN topology would be better.
  For example, how do you set references to a TinFace object's
neighbors when creating the first TinFace in an ImmutableTin? I guess
you could go back and set the
  neighbors for each TinFace after the TIN was constructed, but it
looks like your only constructor for this class requires int arguments
identifying the neighbors.
  You probably have good reason for this design, I just didn't pick up on it.

- Let's get that JTF format documented in JTFLayout class into an
external document, prefereably PDF or HTML. We can then introduce the
rest of the FOSS GIS community to the format. This will encourage
broad adoption of the format.

Chris has done great work. I didn't go trough his code with a fine
tooth comb, as there is quite a bit of material there, but I look
forward to learning more about the library as I work with it.

If others have a time to browse the JTin source I know that Chris and
I would both appreciate it. Please feel free to respond to my
questions and comments for Chris in this e-mail.

Landon

-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to