Hi Brandon,

I've read back a wee bit, and you might have answered these things already,
but I don't seem to able to find them so here goes:
* From your description I understand you effectively want to find all the
vertices that are unique (or those that aren't..). Is this correct?
* Why use a library the see if two points are at the same location? Is your
data input "forcing" you to use something like JTS?

Cheers,

Alexander

On 20 May 2013 22:23, brandon willard <[email protected]> wrote:

> I checked out JCS, but there was an odd dependency on JUMP and GUI-based
> operations.   I ultimately cannot use a GUI, so it's really just the API
> I'm interested in; however, JCS' API was rather difficult to directly
> connect to my sequence of needs.  Looking through the source did provide
> some insight, though.
>
> Now, I'm at a point where my requirements are better understood, so I'll
> try to clarify:
>
>    1. A set of input LineStrings need to be noded and/or snapped along
>    their overlapping (within a tolerance) and co-directional segments only.
>    2. When LineStrings are noded/snapped, ShapeIds and a length index
>    (relative to the parent LineString) need to be mapped to the resulting
>    LineStrings.
>
> I've found most of what I need in JTS, like snapping through
> GeometrySnapper and noding through a custom SegmentStringMerger,
> IntersectionAdder and SegmentStringDisolver, but the former doesn't make
> for easy/any mapping or length indexing, and with the latter it's not
> apparent how one would "snap" (i.e. remove/dissolve overlapping lines) and
> end up with a connected line network.  Also, JTS can't index the input
> LineStrings (by length in this case) if they're not simple, so I've had to
> completely node them individually and produce the index before noding the
> entire network.  The "complete" noding I'm talking about is the JTS generic
> noding that introduces nodes for all intersections, which breaks things
> down more than I'd like.
> Naturally, I've gone the path of custom noding classes, since it's the
> only way I can create the mappings, but it's clearly not satisfying.
>
> Next, I need to create a directed graph that doesn't simply attach all
> in/out lines to shared vertices.  There should be separate nodes for each
> direction so that u-turns aren't possible all over the place.
> Currently, I'm using DirectedLineStringGraphGenerator in OpenGeo, so those
> requirements aren't being fulfilled, and I expect I'll have to build a
> graph manually.
>
>
> On Thu, Feb 28, 2013 at 12:44 AM, David Zwiers <[email protected]>wrote:
>
>> Check out JCS (http://www.vividsolutions.com/jcs/) - there are a couple
>> graph structure tools. We've successfully built a polygonal coverage
>> manipulation model over JCS, so you should be able to do roughly the same
>> thing - just ignore the polygon faces and visualize how the polygon rings
>> are represented as a graph structure, should be similar to what you're
>> looking for.
>>
>> David
>>
>> On Wed, Feb 27, 2013 at 6:04 PM, brandon willard <
>> [email protected]> wrote:
>>
>>> Looking over my problem again, the result of a large union (e.g. using
>>> Geometry.union or CascadePolygonUnion) does produce the output lines I
>>> need, but then I lose any graph-like structure that would associate the
>>> input lines with those union-produced lines.  (I wasn't clear about that
>>> requirement, sorry)
>>>
>>> How can I produce/maintain a relationship between the input lines and
>>> the "broken down" lines the union produces, without brute force checking
>>> overlaps between the two?
>>>
>>>
>>> On Wed, Feb 27, 2013 at 9:15 AM, Justin Deoliveira <[email protected]
>>> > wrote:
>>>
>>>> Hey Brandon,
>>>>
>>>> I am not 100% sure i undersand what you are looking for. Are you
>>>> looking to node the graph at intersections and line string endings?
>>>>
>>>> I am not sure if this will be what you are looking for but there is a
>>>> very cool effect that can be achieved with JTS. Basically take all the line
>>>> strings and join them into one multi linestring. Then union that multi
>>>> linestring with a single point that exists on it. The result is a multi
>>>> linestring where all the individual linestrings are properly noded at
>>>> intersections.
>>>>
>>>> -Justin
>>>>
>>>>
>>>> On Tue, Feb 26, 2013 at 9:47 AM, brandon willard <
>>>> [email protected]> wrote:
>>>>
>>>>> Hello,
>>>>>
>>>>> I'm working with a bunch of LineStrings that mostly overlap, and I
>>>>> would like to find a way to build a graph, or manipulate the geometries, 
>>>>> so
>>>>> that it ends up with vertices from the points at which they stop
>>>>> overlapping.
>>>>> E.g. L1 =  a->...->b->c, L2 = a->...->b->d and get vertices (a, b, c,
>>>>> d)
>>>>>
>>>>> I realize that it's possible to do this with a combination of JTS
>>>>> intersections/differences and whatnot, but I'm working with a lot of a
>>>>> LineStrings and was hoping there was something specifically for this that 
>>>>> I
>>>>> passed over.
>>>>>
>>>>>
>>>>> ------------------------------------------------------------------------------
>>>>> 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_feb
>>>>> _______________________________________________
>>>>> GeoTools-GT2-Users mailing list
>>>>> [email protected]
>>>>> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Justin Deoliveira
>>>> OpenGeo - http://opengeo.org
>>>> Enterprise support for open source geospatial.
>>>>
>>>
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> 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_feb
>>> _______________________________________________
>>> GeoTools-GT2-Users mailing list
>>> [email protected]
>>> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
>>>
>>>
>>
>
>
> ------------------------------------------------------------------------------
> AlienVault Unified Security Management (USM) platform delivers complete
> security visibility with the essential security capabilities. Easily and
> efficiently configure, manage, and operate all of your security controls
> from a single console and one unified framework. Download a free trial.
> http://p.sf.net/sfu/alienvault_d2d
> _______________________________________________
> GeoTools-GT2-Users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
>
>
------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service 
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may
_______________________________________________
GeoTools-GT2-Users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users

Reply via email to