[pgrouting-dev] postgis2 and driving distance

Mario Basa mario.basa at gmail.com
Thu Jun 21 01:38:41 PDT 2012


cool. thanks Steve.

Mario.

On Wed, Jun 20, 2012 at 11:15 PM, Stephen Woodbridge
<woodbri at swoodbridge.com> wrote:
> You should be able write a simple wrapper for st_startpoint like:
>
> create or replace function pgr_startpoint(line geometry)
> returns geometry as
> $body$
> declare
>  pnt geometry;
> begin
>  if geometrytype(line) = 'LINESTRING' then
>    pnt := st_startpoint(line);
>  elsif geometrytype(line) = 'MULTILINESTRING' then
>    pnt := st_startpoint(st_geometryn(line,1));
>  else
>    return null;
>  end if;
>  return pnt;
> end;
> $body$
>  language plpgsql stable;
>
> I think we need to support MULTILINESTRING because the shapefile loader
> creates then by default. I understand that "real" MULTILINESTRING objects
> may not make sense but we can also just state the ALL MULTILINESTRING
> objects will be treated as those it is a valid contiguous path from start
> point to end point and that it is the users responsibility for model the
> graph correctly if they have a different interpertation of what a
> MULTILINESTRING means in their models.
>
> -Steve
>
>
> On 6/20/2012 2:37 AM, Daniel Kastl wrote:
>>
>> Hi Mario,
>>
>> Thank you for this information!
>> Which files exactly do you mean with "wrapper sql files"?
>>
>> So this means the line geometry MUST be LINESTRING from now? Or is there
>> an alternative function to ST_startpoint?
>> Maybe it's better that import tools like osm2po create a correct
>> geometry type as MULTILINESTRING doesn't make sense really for a routing
>> network anyway.
>>
>>  In the past it just didn't matter if you had LINESTRING or
>> MULTILINESTRING, right?
>> I will create a ticket for this.
>>
>> Daniel
>>
>>
>> On Wed, Jun 20, 2012 at 5:40 AM, Mario Basa <mario.basa at gmail.com
>> <mailto:mario.basa at gmail.com>> wrote:
>>
>>    Daniel,
>>
>>    You might want to limit st_startpoint usage in your devel-2.0
>>    wrapper sql files. According to documentation:
>>
>>    Changed: 2.0.0 no longer works with single geometry
>>    multilinestrings. In older versions of PostGIS -- a single line
>>    multilinestring would work happily with this function and return the
>>    start point. In 2.0.0 it just returns NULL like any other
>>    multilinestring. The older behavior was an undocumented feature, but
>>    people who assumed they had their data stored as LINESTRING may
>>    experience these returning NULL in 2.0 now.
>>
>>    I used osm2po to create the Japan networks and am getting nulls when
>>    I use st_startpoint.
>>
>>    Mario.
>>
>>
>>
>>    On Tue, Jun 19, 2012 at 6:10 PM, Daniel Kastl <daniel at georepublic.de
>>    <mailto:daniel at georepublic.de>> wrote:
>>
>>        Hi Mario,
>>
>>        I think it's a good idea to drop CGAL if possible ... and you
>>        proofed that it is possible.
>>        I guess that PostGIS 2.0 will soon become a standard, so if we
>>        now want to make a bigger cleanup and new release of pgRouting
>>        it's OK to require PostGIS 2.0 in my opinion. There haven't been
>>        many questions about driving distance on the lists, so I assume
>>        there are not so many users of this function either.
>>
>>        If you move it into "core" (which is a good idea), please don't
>>        commit it into "master" branch for now.
>>        I would propose to either make a different branch for that, that
>>        we can merge later, or use "devel-2_0" branch, which already
>>        contains code cleanup:
>>        https://github.com/pgrouting/pgrouting/tree/devel-2_0
>>
>>        Daniel
>>
>>
>>
>>        On Tue, Jun 19, 2012 at 11:11 AM, Mario Basa
>>        <mario.basa at gmail.com <mailto:mario.basa at gmail.com>> wrote:
>>
>>            Hi,
>>
>>            It really is possible now to take away CGAL from pgRouting
>>            since st_concavehull of PostGIS 2 can create the same alpha
>>            shape. I have already managed to compile diriving-dist
>>            without CGAL installed by modifying the cmake files and
>>            drivedist.c.
>>
>>            I used this:
>>
>>            select st_concavehull(st_collect(
>>               st_geomfromewkt('srid=4326;POINT('||x1||'
>>            '||y1||')')),0.7) from jp_2po_4pgr,
>>               driving_distance('SELECT
>>            id,source,target,cost,reverse_cost from jp_2po_4pgr
>>               where
>>            st_contains(ST_GeomFromEWKT(''SRID=4326;POLYGON((139 35,139
>>            36,140 36,140 35,139 35))''),
>>               the_geom) = true',156598,0.07,false,false) where id =
>>            edge_id;
>>
>>            to create the drive time polygon in the attached screen
>>            dump. The performance isn't so bad even with a 0.7 target
>>            percent parameter for the concave hull.
>>
>>            I am planning to clean up routing_dd.sql and
>>            routing_dd_wrapper.sql and start using the newer st_*
>>            postgis functions.
>>
>>            Will there be any objections if I move routing_dd into core
>>            instead of extra since it will now only use BOOST to compile.
>>
>>            Mario.
>>
>>
>>
>>            _______________________________________________
>>            pgrouting-dev mailing list
>>            pgrouting-dev at lists.osgeo.org
>>            <mailto:pgrouting-dev at lists.osgeo.org>
>>
>>            http://lists.osgeo.org/mailman/listinfo/pgrouting-dev
>>
>>
>>
>>
>>        --
>>        Georepublic UG & Georepublic Japan
>>        eMail: daniel.kastl at georepublic.de
>>        <mailto:daniel.kastl at georepublic.de>
>>        Web: http://georepublic.de <http://georepublic.de/>
>>
>>        _______________________________________________
>>        pgrouting-dev mailing list
>>        pgrouting-dev at lists.osgeo.org
>> <mailto:pgrouting-dev at lists.osgeo.org>
>>
>>        http://lists.osgeo.org/mailman/listinfo/pgrouting-dev
>>
>>
>>
>>    _______________________________________________
>>    pgrouting-dev mailing list
>>    pgrouting-dev at lists.osgeo.org <mailto:pgrouting-dev at lists.osgeo.org>
>>
>>    http://lists.osgeo.org/mailman/listinfo/pgrouting-dev
>>
>>
>>
>>
>> --
>> Georepublic UG & Georepublic Japan
>> eMail: daniel.kastl at georepublic.de <mailto:daniel.kastl at georepublic.de>
>> Web: http://georepublic.de <http://georepublic.de/>
>>
>>
>>
>> _______________________________________________
>> pgrouting-dev mailing list
>> pgrouting-dev at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/pgrouting-dev
>>
>
>
> _______________________________________________
> pgrouting-dev mailing list
> pgrouting-dev at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/pgrouting-dev


More information about the pgrouting-dev mailing list