I'm sure a code release could be arranged with Martin. SS
On Mon, Mar 31, 2008 at 2:03 PM, Christopher <[EMAIL PROTECTED]> wrote: > The slides would be great. Did he release any sample > code under the L/GPL? > > --Christopher > > > --- Stefan Steiniger <[EMAIL PROTECTED]> wrote: > > > Hei Guys, > > > > sorry for not having a look on this topic so far. > > But one thing may be > > to include Martin David' expertise in this > > discussion since he presented > > on last FOSS4G: > > > > > http://lin-ear-th-inking.blogspot.com/2007/05/geotec-2007-presentation-on-watershed.html > > > > I also have the slides. > > > > Stefan > > > > Paul Austin wrote: > > > Christopher, > > > > > > Here is some code I started to create a TIN API. > > > > > > > > > http://rsiaf.googlecode.com/svn/rs-gis-core/trunk/src/main/java/com/revolsys/gis/tin/ > > > > > > It works well for the case where you just have DEM > > points but there are > > > some issues when you start introducing breaklines. > > The problems come > > > down to dealing with cases where you have very > > thin slivers of triangles > > > created when a breakline is very close to an edge > > of a traingle. You > > > will need to look into a precision model to > > slightly adjust the path the > > > breaklines take to sometimes follow edges of the > > triangles once you get > > > to the point where say one edge of the triangle is > > < 1m in length. > > > > > > In general when building a TIN you can add points > > to it and lines to it. > > > The approach I took was to first add the points > > and lines and do the > > > triangle creation at the end, which worked out > > faster and easier. Once > > > all the points and lines are added you then build > > the trainagles by > > > using the points and all the vertices's of the > > lines. Do this using > > > Delaney triangulation. Then go back and add in the > > hard edges for the > > > breaklines. With this approach if you want to add > > more points or lines > > > you need to rebuild the TIN. > > > > > > You may want to split it into two > > interfaces/classes > > > > > > TinBuilder { > > > add(Coordinate c); > > > add(Point p); > > > add(LineString l); > > > // plus list versions (e.g. add(List<Coordinate) > > coords) or array > > > add(Coordinate[] coords) ) > > > Tin generate(); > > > } > > > > > > Tin { > > > double getElevation(Coordinate c); > > > : > > > : > > > } > > > > > > Anyway that's enough thoughts for now, there will > > need to be extra > > > methods on the TIN to get triangles by bounding > > box, calculate the > > > elevation fro a geometry returning a new geometry > > with calculated > > > z-values and also ones to return lines for a given > > height which you > > > could then use to create a smoothed contour line. > > > > > > Paul > > > > > > > > > ** > > > *Paul Austin* > > > /President/CEO/ > > > Revolution Systems Inc. > > > > > > +1 (604) 288-4304 x201 > > > www.revolsys.com <http://www.revolsys.com> > > > > > > > > > Christopher wrote: > > >> --- Paul Austin <[EMAIL PROTECTED]> wrote: > > >> > > >>> Christopher, > > >>> > > >>> Welcome aboard, glad to see someone working on > > this. > > >>> > > >>> I'm going to write a longer email later but one > > of > > >>> the things we should > > >>> consider is splitting the model and operations > > for > > >>> the TIN itself from > > >>> the visualization and IO code. So the TIN model > > >>> should not be dependent > > >>> on anything in JUMP so it could be used in other > > >>> projects. > > >>> > > >>> Paul > > >>> > > >> > > >> I tried to send off a longish reply to Landon and > > this > > >> list, but it never showed up on the list, so I'm > > >> resending it. > > >> > > >> I agree that TIN related functions not be > > dependent on > > >> any display code. > > >> > > >> --Christopher > > >> > > >> > > >> > > >> > > >> Following is an interleaved reply... > > >> > > >> > > >> --- Landon Blake <[EMAIL PROTECTED]> wrote: > > >> > > >>> Before I respond to your comments, let me ask > > you a > > >>> question: > > >>> Did you turn in your student application yet? > > >>> > > >> > > >> Yes I have. > > >> > > >> > > >>> You wrote: " I planning on first writing code > > that > > >>> can read, write > > >>> and display TIN files." > > >>> > > >>> I would split this up similarly. I would say > > that we > > >>> need code to read > > >>> TIN files, write TIN files, create TIN files > > from > > >>> other data sources, > > >>> display TIN files, and produce data products > > from > > >>> TIN files. I'm > > >>> thinking we could encapsulate this in the > > following > > >>> package structure: > > >>> > > >>> net.surveyos.sourceforge.jtin: Contains classes > > to > > >>> represent a TIN and > > >>> its elements. This would include objects like a > > TIN > > >>> face, a TIN face > > >>> edge, a TIN Breakline, TIN Boundaries, and a TIN > > >>> Point. > > >>> > > >> > > >> A TIN surface is simply a subcategory of > > >> PolyhedralSurface. > > >> > > >> Quoting the OpenGIS Simple Features spec: > > >> "A PolyhedralSurface is a contiguous collection > > of > > >> polygons, which share common boundary segments. > > For > > >> each pair of polygons that "touch", the common > > >> boundary shall be expressible as a finite > > collection > > >> of LineStrings. Each such LineString shall be > > part of > > >> the boundary of at most 2 Polygon patches. A TIN > > >> (triangulated irregular network) is a > > >> PolyhedralSurface consisting only of Triangle > > patches. > > >> > > >> > > >> In order to incorporate breaklines and > > boundaries, I > > >> think a TIN should be a Feature that contains a > > >> PolyhedralSurface as its main element with the > > >> breaklines and boundaries as LineStrings that > > overlap > > >> certain triangle edges. > > >> > > >> I'm trying to think of what will be best for > > OpenJUMP > > > === message truncated === > > > > > > ____________________________________________________________________________________ > OMG, Sweet deal for Yahoo! users/friends:Get A Month of Blockbuster Total > Access, No Cost. W00t > http://tc.deals.yahoo.com/tc/blockbuster/text2.com > > ------------------------------------------------------------------------- > Check out the new SourceForge.net Marketplace. > It's the best place to buy or sell services for > just about anything Open Source. > http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace > _______________________________________________ > Jump-pilot-devel mailing list > Jump-pilot-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel > ------------------------------------------------------------------------- Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace _______________________________________________ Jump-pilot-devel mailing list Jump-pilot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel