pgRouting

Changeset 102

Show
Ignore:
Timestamp:
02/06/08 10:21:50 (10 months ago)
Author:
Matthieu
Message:

Added TSP algo. + bugs fixed

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/routingservice/configuration.xml

    r96 r102  
    77         
    88        <providers> 
    9                  
    109                <!--GEOBASE--> 
    11                  
    1210                <provider name="geobase" title="Geobase"> 
    1311                        <description>no description</description> 
     
    2321                                        <sql> 
    2422                                                <query transformProjectionIn="false" transformProjectionOut="false">SELECT gid, source, target, AsText(the_geom) AS wkt, distance(the_geom, GeometryFromText('POINT($sonPx$ $sonPy$)',$sridProvider$)) AS dist FROM nrn_bc WHERE the_geom &amp;&amp; setsrid('BOX3D($sonPxM$ $sonPyM$,$sonPxP$ $sonPyP$)'::box3d, $sridProvider$) ORDER BY dist LIMIT 1</query>                                  
    25                                                 <query transformProjectionIn="false" transformProjectionOut="true">SELECT gid, source, target, AsText(transform(the_geom, $sridOut$)) AS wkt, distance(the_geom, GeometryFromText('POINT($sonPx$ $sonPy$)',$sridProvider$)) AS dist FROM nrn_bc WHERE the_geom &amp;&amp; setsrid('BOX3D($sonPxM$ $sonPyM$,$sonPxP$ $sonPyP$)'::box3d, $sridProvider$) ORDER BY dist LIMIT 1</query> 
     23                                                <query transformProjectionIn="false" transformProjectionOut="true">SELECT gid, source, target, AsText(transform(setSRID(the_geom,$sridProvider$), $sridOut$)) AS wkt, distance(the_geom, GeometryFromText('POINT($sonPx$ $sonPy$)',$sridProvider$)) AS dist FROM nrn_bc WHERE the_geom &amp;&amp; setsrid('BOX3D($sonPxM$ $sonPyM$,$sonPxP$ $sonPyP$)'::box3d, $sridProvider$) ORDER BY dist LIMIT 1</query> 
    2624                                                <query transformProjectionIn="true" transformProjectionOut="false">SELECT gid, source, target, AsText(the_geom) AS wkt, distance(the_geom, transform(GeometryFromText('POINT($sonPx$ $sonPy$)',$sridIn$),$sridProvider$)) AS dist FROM nrn_bc WHERE the_geom &amp;&amp; transform(setsrid('BOX3D($sonPxM$ $sonPyM$,$sonPxP$ $sonPyP$)'::box3d, $sridIn$), $sridProvider$) ORDER BY dist LIMIT 1</query> 
    27                                                 <query transformProjectionIn="true" transformProjectionOut="true">SELECT gid, source, target, AsText(transform(the_geom, $sridOut$)) AS wkt, distance(the_geom, transform(GeometryFromText('POINT($sonPx$ $sonPy$)',$sridIn$),$sridProvider$)) AS dist FROM nrn_bc WHERE the_geom &amp;&amp; transform(setsrid('BOX3D($sonPxM$ $sonPyM$,$sonPxP$ $sonPyP$)'::box3d, $sridIn$), $sridProvider$) ORDER BY dist LIMIT 1</query> 
     25                                                <query transformProjectionIn="true" transformProjectionOut="true">SELECT gid, source, target, AsText(transform(setSRID(the_geom,$sridProvider$), $sridOut$)) AS wkt, distance(the_geom, transform(GeometryFromText('POINT($sonPx$ $sonPy$)',$sridIn$),$sridProvider$)) AS dist FROM nrn_bc WHERE the_geom &amp;&amp; transform(setsrid('BOX3D($sonPxM$ $sonPyM$,$sonPxP$ $sonPyP$)'::box3d, $sridIn$), $sridProvider$) ORDER BY dist LIMIT 1</query> 
    2826                                        </sql> 
    2927                                        <parameters> 
     
    3129                                                <parameter name="sridInput" type="integer" codename="sridIn" required="false" /> 
    3230                                                <parameter name="sridOutput" type="integer" codename="sridOut" required="false" /> 
    33                                                 <parameter name="bbox" type="integer" codename="bbox" required="false" default="100" /> 
     31                                                <parameter name="bbox" type="integer" codename="bbox" required="false" default="3000" /> 
    3432                                        </parameters> 
    3533                                        <formats> 
     
    5149                                                <user>postgres</user> 
    5250                                                <password></password> 
    53                                         </connection> 
     51                                        </connection>onload="init()" 
    5452                                        <projection srid="900913"></projection> 
    5553                                        <sql> 
    56                                                 <query transformProjectionIn="false" transformProjectionOut="false">SELECT gid, AsText($saGeomUser$) AS wkt FROM shootingstar_sp_smart('nrn_bc', $sonStartX$, $sonStartY$, $sonEndX$, $sonEndY$, $saBoxSize$,'length',true,true)</query> 
    57                                                 <query transformProjectionIn="false" transformProjectionOut="true">SELECT gid, AsText(transform(the_geom, $sridOut$)) AS wkt FROM shootingstar_sp_smart('nrn_bc', $sonStartX$, $sonStartY$, $sonEndX$, $sonEndY$, $saBoxSize$,'length',true,true)</query> 
     54                                                <query transformProjectionIn="false" transformProjectionOut="false">SELECT gid, AsText(the_geom) AS wkt FROM shootingstar_sp_smart('nrn_bc', $sonStartX$, $sonStartY$, $sonEndX$, $sonEndY$, $saBoxSize$,'length',true,true)</query> 
     55                                                <query transformProjectionIn="false" transformProjectionOut="true">SELECT gid, AsText(transform(setSRID(the_geom,$sridProvider$), $sridOut$)) AS wkt FROM shootingstar_sp_smart('nrn_bc', $sonStartX$, $sonStartY$, $sonEndX$, $sonEndY$, $saBoxSize$,'length',true,true)</query> 
    5856                                                <query transformProjectionIn="true" transformProjectionOut="false">SELECT gid, AsText(the_geom) AS wkt FROM shootingstar_sp_smart('nrn_bc', X(transform(GeometryFromText('POINT($sonStartX$ $sonStartY$)',$sridIn$),$sridProvider$)), Y(transform(GeometryFromText('POINT($sonStartX$ $sonStartY$)',$sridIn$),$sridProvider$)), X(transform(GeometryFromText('POINT($sonEndX$ $sonEndY$)',$sridIn$),$sridProvider$)), Y(transform(GeometryFromText('POINT($sonEndX$ $sonEndY$)',$sridIn$),$sridProvider$)), $saBoxSize$,'length',true,true)</query> 
    59                                                 <query transformProjectionIn="true" transformProjectionOut="true">SELECT gid, AsText(transform(the_geom, $sridOut$)) AS wkt FROM shootingstar_sp_smart('nrn_bc', X(transform(GeometryFromText('POINT($sonStartX$ $sonStartY$)',$sridIn$),$sridProvider$)), Y(transform(GeometryFromText('POINT($sonStartX$ $sonStartY$)',$sridIn$),$sridProvider$)), X(transform(GeometryFromText('POINT($sonEndX$ $sonEndY$)',$sridIn$),$sridProvider$)), Y(transform(GeometryFromText('POINT($sonEndX$ $sonEndY$)',$sridIn$),$sridProvider$)), $saBoxSize$,'length',true,true)</query> 
    60                                         </sql> 
    61                                         <parameters> 
    62                                                 <parameter name="point_start" type="text" codename="start" required="true" /> 
    63                                                 <parameter name="point_end" type="text" codename="end" required="true" /> 
    64                                                 <parameter name="sridInput" type="integer" codename="sridIn" required="false" /> 
    65                                                 <parameter name="sridOutput" type="integer" codename="sridOut" required="false" /> 
    66                                                 <parameter name="bbox" type="integer" codename="bbox" required="false" default="3000" /> 
    67                                         </parameters> 
    68                                         <formats> 
    69                                                 <format name="gml" input="true" output="true" /> 
    70                                                 <format name="xml" input="false" output="true" /> 
    71                                                 <format name="html" input="false" output="true" /> 
    72                                                 <format name="geojson" input="true" output="true" />> 
    73                                                 <format name="lonlat" input="true" output="false" /> 
    74                                                 <format name="wkt" input="true" output="true" /> 
    75                                                 <format name="kml" input="true" output="true" srid="4326" /> 
    76                                         </formats> 
    77                                 </service> 
    78                                  
    79                                  
    80                                  
    81                                 <service name="driving_distance" title="Driving Distance" enable="true"> 
    82                                         <description>blabla</description> 
    83                                         <connection driver="org.postgresql.Driver"> 
    84                                                 <url>jdbc:postgresql://192.168.20.177:5432/geobase</url> 
    85                                                 <user>postgres</user> 
    86                                                 <password></password> 
    87                                         </connection> 
    88                                         <projection srid="900913"></projection> 
    89                                         <sql> 
    90                                                 <query transformProjectionIn="false" transformProjectionOut="false">SELECT AsText(the_geom) AS wkt FROM points_as_polygon('SELECT a.vertex_id::integer AS id, b.x1::double precision AS x, b.y1::double precision AS y FROM driving_distance(''''SELECT gid AS id,source::integer,target::integer,length::double precision AS cost FROM nrn_bc'''',(select id from find_node_by_nearest_link_within_distance(''''POINT($sonPx$ $sonPy$)'''',$bbox$,''''nrn_bc'''')),$distance$,false,false) a, nrn_bc b WHERE a.vertex_id = b.source');</query> 
    91                                                 <query transformProjectionIn="false" transformProjectionOut="true">SELECT AsText(transform(setsrid(the_geom, $sridProvider$), $sridOut$)) AS wkt FROM points_as_polygon('SELECT a.vertex_id::integer AS id, b.x1::double precision AS x, b.y1::double precision AS y FROM driving_distance(''''SELECT gid AS id,source::integer,target::integer,length::double precision AS cost FROM nrn_bc'''',(select id from find_node_by_nearest_link_within_distance(''''POINT($sonPx$ $sonPy$)'''',$bbox$,''''nrn_bc'''')),$distance$,false,false) a, nrn_bc b WHERE a.vertex_id = b.source');</query> 
    92                                                 <query transformProjectionIn="true" transformProjectionOut="false">SELECT AsText(the_geom) AS wkt FROM points_as_polygon('SELECT a.vertex_id::integer AS id, b.x1::double precision AS x, b.y1::double precision AS y FROM driving_distance(''''SELECT gid AS id,source::integer,target::integer,length::double precision AS cost FROM nrn_bc'''',(select id from find_node_by_nearest_link_within_distance(''''X(transform(GeometryFromText('POINT($sonPx$ $sonPy$)',$sridIn$),$sridProvider$)), Y(transform(GeometryFromText('POINT($sonPx$ $sonPy$)',$sridIn$),$sridProvider$))'''',$bbox$,''''nrn_bc'''')),$distance$,false,false) a, nrn_bc b WHERE a.vertex_id = b.source');</query> 
    93                                                 <query transformProjectionIn="true" transformProjectionOut="true">SELECT AsText(transform(the_geom, $sridOut$)) AS wkt FROM points_as_polygon('SELECT a.vertex_id::integer AS id, b.x1::double precision AS x, b.y1::double precision AS y FROM driving_distance(''''SELECT gid AS id,source::integer,target::integer,length::double precision AS cost FROM nrn_bc'''',(select id from find_node_by_nearest_link_within_distance(''''X(transform(GeometryFromText('POINT($sonPx$ $sonPy$)',$sridIn$),$sridProvider$)), Y(transform(GeometryFromText('POINT($sonPx$ $sonPy$)',$sridIn$),$sridProvider$))'''',$bbox$,''''nrn_bc'''')),$distance$,false,false) a, nrn_bc b WHERE a.vertex_id = b.source');</query> 
    94                                         </sql> 
    95                                         <parameters> 
    96                                                 <parameter name="point" type="text" codename="data" required="true" /> 
    97                                                 <parameter name="time" type="integer" codename="time" required="false" /> 
    98                                                 <parameter name="length" type="integer" codename="length" required="false" /> 
    99                                                 <parameter name="speed" type="integer" codename="speed" required="false" default="80" /> 
    100                                                 <parameter name="sridInput" type="integer" codename="sridIn" required="false" /> 
    101                                                 <parameter name="sridOutput" type="integer" codename="sridOut" required="false" /> 
    102                                                 <parameter name="bbox" type="integer" codename="bbox" required="false" default="3000" /> 
    103                                         </parameters> 
    104                                         <formats> 
    105                                                 <format name="gml" input="true" output="true" /> 
    106                                                 <format name="xml" input="false" output="true" /> 
    107                                                 <format name="html" input="false" output="true" /> 
    108                                                 <format name="geojson" input="true" output="true" />> 
    109                                                 <format name="lonlat" input="true" output="false" /> 
    110                                                 <format name="wkt" input="true" output="true" /> 
    111                                                 <format name="kml" input="true" output="true" srid="4326" /> 
    112                                         </formats> 
    113                                 </service> 
    114                                  
    115                                  
    116                         </services> 
    117                 </provider> 
    118                  
    119                 <!--IPC--> 
    120                  
    121                 <provider name="ipc" title="IPC"> 
    122                         <description>blabla</description> 
    123                         <services> 
    124                                 <service name="closest_edge" title="Closest Edge" enable="true"> 
    125                                         <description>blabla</description> 
    126                                         <connection driver="org.postgresql.Driver"> 
    127                                                 <url>jdbc:postgresql://192.168.20.177:5432/ipc</url> 
    128                                                 <user>postgres</user> 
    129                                                 <password></password> 
    130                                         </connection> 
    131                                         <projection srid="900913"></projection> 
    132                                         <sql> 
    133                                                 <query transformProjectionIn="false" transformProjectionOut="false">SELECT gid, source, target, AsText(the_geom) AS wkt, distance(the_geom, GeometryFromText('POINT($sonPx$ $sonPy$)',$sridProvider$)) AS dist FROM ipc_trn WHERE the_geom &amp;&amp; setsrid('BOX3D($sonPxM$ $sonPyM$,$sonPxP$ $sonPyP$)'::box3d, $sridProvider$) ORDER BY dist LIMIT 1</query>                                         
    134                                                 <query transformProjectionIn="false" transformProjectionOut="true">SELECT gid, source, target, AsText(transform(the_geom, $sridOut$)) AS wkt, distance(the_geom, GeometryFromText('POINT($sonPx$ $sonPy$)',$sridProvider$)) AS dist FROM ipc_trn WHERE the_geom &amp;&amp; setsrid('BOX3D($sonPxM$ $sonPyM$,$sonPxP$ $sonPyP$)'::box3d, $sridProvider$) ORDER BY dist LIMIT 1</query> 
    135                                                 <query transformProjectionIn="true" transformProjectionOut="false">SELECT gid, source, target, AsText(the_geom) AS wkt, distance(the_geom, transform(GeometryFromText('POINT($sonPx$ $sonPy$)',$sridIn$),$sridProvider$)) AS dist FROM ipc_trn WHERE the_geom &amp;&amp; transform(setsrid('BOX3D($sonPxM$ $sonPyM$,$sonPxP$ $sonPyP$)'::box3d, $sridIn$), $sridProvider$) ORDER BY dist LIMIT 1</query> 
    136                                                 <query transformProjectionIn="true" transformProjectionOut="true">SELECT gid, source, target, AsText(transform(the_geom, $sridOut$)) AS wkt, distance(the_geom, transform(GeometryFromText('POINT($sonPx$ $sonPy$)',$sridIn$),$sridProvider$)) AS dist FROM ipc_trn WHERE the_geom &amp;&amp; transform(setsrid('BOX3D($sonPxM$ $sonPyM$,$sonPxP$ $sonPyP$)'::box3d, $sridIn$), $sridProvider$) ORDER BY dist LIMIT 1</query> 
    137                                         </sql> 
    138                                         <parameters> 
    139                                                 <parameter name="point" type="text" codename="data" required="true" /> 
    140                                                 <parameter name="sridInput" type="integer" codename="sridIn" required="false" /> 
    141                                                 <parameter name="sridOutput" type="integer" codename="sridOut" required="false" /> 
    142                                                 <parameter name="bbox" type="integer" codename="bbox" required="false" default="100" /> 
    143                                         </parameters> 
    144                                         <formats> 
    145                                                 <format name="gml" input="true" output="true" /> 
    146                                                 <format name="xml" input="false" output="true" /> 
    147                                                 <format name="html" input="false" output="true" /> 
    148                                                 <format name="geojson" input="true" output="true" /> 
    149                                                 <format name="id" input="false" output="true" /> 
    150                                                 <format name="lonlat" input="true" output="false" /> 
    151                                                 <format name="wkt" input="true" output="true" /> 
    152                                                 <format name="kml" input="true" output="true" srid="4326" /> 
    153                                         </formats> 
    154                                 </service> 
    155                                  
    156                                 <service name="shortest_path" title="Shortest Path" enable="true"> 
    157                                         <description>blabla</description> 
    158                                         <connection driver="org.postgresql.Driver"> 
    159                                                 <url>jdbc:postgresql://192.168.20.177:5432/ipc</url> 
    160                                                 <user>postgres</user> 
    161                                                 <password></password> 
    162                                         </connection> 
    163                                         <projection srid="900913"></projection> 
    164                                         <sql> 
    165                                                 <query transformProjectionIn="false" transformProjectionOut="false">SELECT gid, AsText($saGeomUser$) AS wkt FROM shootingstar_sp_smart('ipc_trn', $sonStartX$, $sonStartY$, $sonEndX$, $sonEndY$, $saBoxSize$,'length',true,true)</query> 
    166                                                 <query transformProjectionIn="false" transformProjectionOut="true">SELECT gid, AsText(transform(the_geom, $sridOut$)) AS wkt FROM shootingstar_sp_smart('ipc_trn', $sonStartX$, $sonStartY$, $sonEndX$, $sonEndY$, $saBoxSize$,'length',true,true)</query> 
    167                                                 <query transformProjectionIn="true" transformProjectionOut="false">SELECT gid, AsText(the_geom) AS wkt FROM shootingstar_sp_smart('ipc_trn', X(transform(GeometryFromText('POINT($sonStartX$ $sonStartY$)',$sridIn$),$sridProvider$)), Y(transform(GeometryFromText('POINT($sonStartX$ $sonStartY$)',$sridIn$),$sridProvider$)), X(transform(GeometryFromText('POINT($sonEndX$ $sonEndY$)',$sridIn$),$sridProvider$)), Y(transform(GeometryFromText('POINT($sonEndX$ $sonEndY$)',$sridIn$),$sridProvider$)), $saBoxSize$,'length',true,true)</query> 
    168                                                 <query transformProjectionIn="true" transformProjectionOut="true">SELECT gid, AsText(transform(the_geom, $sridOut$)) AS wkt FROM shootingstar_sp_smart('ipc_trn', X(transform(GeometryFromText('POINT($sonStartX$ $sonStartY$)',$sridIn$),$sridProvider$)), Y(transform(GeometryFromText('POINT($sonStartX$ $sonStartY$)',$sridIn$),$sridProvider$)), X(transform(GeometryFromText('POINT($sonEndX$ $sonEndY$)',$sridIn$),$sridProvider$)), Y(transform(GeometryFromText('POINT($sonEndX$ $sonEndY$)',$sridIn$),$sridProvider$)), $saBoxSize$,'length',true,true)</query> 
    169                                         </sql> 
    170                                         <parameters> 
    171                                                 <parameter name="point_start" type="text" codename="start" required="true" /> 
    172                                                 <parameter name="point_end" type="text" codename="end" required="true" /> 
    173                                                 <parameter name="sridInput" type="integer" codename="sridIn" required="false" /> 
    174                                                 <parameter name="sridOutput" type="integer" codename="sridOut" required="false" /> 
    175                                                 <parameter name="bbox" type="integer" codename="bbox" required="false" default="3000" /> 
    176                                         </parameters> 
    177                                         <formats> 
    178                                                 <format name="gml" input="true" output="true" /> 
    179                                                 <format name="xml" input="false" output="true" /> 
    180                                                 <format name="html" input="false" output="true" /> 
    181                                                 <format name="geojson" input="true" output="true" /> 
    182                                                 <format name="lonlat" input="true" output="false" /> 
    183                                                 <format name="wkt" input="true" output="true" /> 
    184                                                 <format name="kml" input="true" output="true" srid="4326" /> 
    185                                         </formats> 
    186                                 </service> 
    187                                  
    188                                  
    189                                 <service name="driving_distance" title="Driving Distance" enable="true"> 
    190                                         <description>blabla</description> 
    191                                         <connection driver="org.postgresql.Driver"> 
    192                                                 <url>jdbc:postgresql://192.168.20.177:5432/ipc</url> 
    193                                                 <user>postgres</user> 
    194                                                 <password></password> 
    195                                         </connection> 
    196                                         <projection srid="900913"></projection> 
    197                                         <sql> 
    198                                                 <query transformProjectionIn="false" transformProjectionOut="false">SELECT AsText(the_geom) AS wkt FROM points_as_polygon('SELECT a.vertex_id::integer AS id, b.x1::double precision AS x, b.y1::double precision AS y FROM driving_distance(''''SELECT gid AS id,source::integer,target::integer,length::double precision AS cost FROM ipc_trn'''',(select id from find_node_by_nearest_link_within_distance(''''POINT($sonPx$ $sonPy$)'''',$bbox$,''''ipc_trn'''')),$distance$,false,false) a, ipc_trn b WHERE a.vertex_id = b.source');</query> 
    199                                                 <query transformProjectionIn="false" transformProjectionOut="true">SELECT AsText(transform(setsrid(the_geom, $sridProvider$), $sridOut$)) AS wkt FROM points_as_polygon('SELECT a.vertex_id::integer AS id, b.x1::double precision AS x, b.y1::double precision AS y FROM driving_distance(''''SELECT gid AS id,source::integer,target::integer,length::double precision AS cost FROM ipc_trn'''',(select id from find_node_by_nearest_link_within_distance(''''POINT($sonPx$ $sonPy$)'''',$bbox$,''''ipc_trn'''')),$distance$,false,false) a, ipc_trn b WHERE a.vertex_id = b.source');</query> 
    200                                                 <query transformProjectionIn="true" transformProjectionOut="false">SELECT AsText(the_geom) AS wkt FROM points_as_polygon('SELECT a.vertex_id::integer AS id, b.x1::double precision AS x, b.y1::double precision AS y FROM driving_distance(''''SELECT gid AS id,source::integer,target::integer,length::double precision AS cost FROM ipc_trn'''',(select id from find_node_by_nearest_link_within_distance(X(transform(GeometryFromText(''''POINT($sonPx$ $sonPy$)'''',$sridIn$),$sridProvider$)), Y(transform(GeometryFromText(''''POINT($sonPx$ $sonPy$)'''',$sridIn$),$sridProvider$)),$bbox$,''''ipc_trn'''')),$distance$,false,false) a, ipc_trn b WHERE a.vertex_id = b.source');</query> 
    201                                                 <query transformProjectionIn="true" transformProjectionOut="true">SELECT AsText(transform(the_geom, $sridOut$)) AS wkt FROM points_as_polygon('SELECT a.vertex_id::integer AS id, b.x1::double precision AS x, b.y1::double precision AS y FROM driving_distance(''''SELECT gid AS id,source::integer,target::integer,length::double precision AS cost FROM ipc_trn'''',(select id from find_node_by_nearest_link_within_distance(X(transform(GeometryFromText(''''POINT($sonPx$ $sonPy$)'''',$sridIn$),$sridProvider$)), Y(transform(GeometryFromText(''''POINT($sonPx$ $sonPy$)'''',$sridIn$),$sridProvider$)),$bbox$,''''ipc_trn'''')),$distance$,false,false) a, ipc_trn b WHERE a.vertex_id = b.source');</query> 
    202                                         </sql> 
    203                                         <parameters> 
    204                                                 <parameter name="point" type="text" codename="data" required="true" /> 
    205                                                 <parameter name="time" type="integer" codename="time" required="false" /> 
    206                                                 <parameter name="length" type="integer" codename="length" required="false" /> 
    207                                                 <parameter name="speed" type="integer" codename="speed" required="false" default="80" /> 
    208                                                 <parameter name="sridInput" type="integer" codename="sridIn" required="false" /> 
    209                                                 <parameter name="sridOutput" type="integer" codename="sridOut" required="false" /> 
    210                                                 <parameter name="bbox" type="integer" codename="bbox" required="false" default="3000" /> 
    211                                         </parameters> 
    212                                         <formats> 
    213                                                 <format name="gml" input="true" output="true" /> 
    214                                                 <format name="xml" input="false" output="true" /> 
    215                                                 <format name="html" input="false" output="true" /> 
    216                                                 <format name="geojson" input="true" output="true" />> 
    217                                                 <format name="lonlat" input="true" output="false" /> 
    218                                                 <format name="wkt" input="true" output="true" /> 
    219                                                 <format name="kml" input="true" output="true" srid="4326" /> 
    220                                         </formats> 
    221                                 </service> 
    222                         </services> 
    223                 </provider> 
    224                  
    225                  
    226                 <!--SUUCHI--> 
    227                  
    228                 <provider name="suuchi" title="Suuchi"> 
    229                         <description>no description</description> 
    230                         <services> 
    231                                 <service name="closest_edge" title="Closest Edge" enable="true"> 
    232                                         <description>>no description</description> 
    233                                         <connection driver="org.postgresql.Driver"> 
    234                                                 <url>jdbc:postgresql://192.168.20.177:5432/suuchi</url> 
    235                                                 <user>postgres</user> 
    236                                                 <password></password> 
    237                                         </connection> 
    238                                         <projection srid="54004"></projection> 
    239                                         <sql> 
    240                                                 <query transformProjectionIn="false" transformProjectionOut="false">SELECT gid, source, target, AsText(the_geom) AS wkt, distance(the_geom, GeometryFromText('POINT($sonPx$ $sonPy$)',$sridProvider$)) AS dist FROM japan_54004 WHERE the_geom &amp;&amp; setsrid('BOX3D($sonPxM$ $sonPyM$,$sonPxP$ $sonPyP$)'::box3d, $sridProvider$) ORDER BY dist LIMIT 1</query>                                     
    241                                                 <query transformProjectionIn="false" transformProjectionOut="true">SELECT gid, source, target, AsText(transform(the_geom, $sridOut$)) AS wkt, distance(the_geom, GeometryFromText('POINT($sonPx$ $sonPy$)',$sridProvider$)) AS dist FROM japan_54004 WHERE the_geom &amp;&amp; setsrid('BOX3D($sonPxM$ $sonPyM$,$sonPxP$ $sonPyP$)'::box3d, $sridProvider$) ORDER BY dist LIMIT 1</query> 
    242                                                 <query transformProjectionIn="true" transformProjectionOut="false">SELECT gid, source, target, AsText(the_geom) AS wkt, distance(the_geom, transform(GeometryFromText('POINT($sonPx$ $sonPy$)',$sridIn$),$sridProvider$)) AS dist FROM japan_54004 WHERE the_geom &amp;&amp; transform(setsrid('BOX3D($sonPxM$ $sonPyM$,$sonPxP$ $sonPyP$)'::box3d, $sridIn$), $sridProvider$) ORDER BY dist LIMIT 1</query> 
    243                                                 <query transformProjectionIn="true" transformProjectionOut="true">SELECT gid, source, target, AsText(transform(the_geom, $sridOut$)) AS wkt, distance(the_geom, transform(GeometryFromText('POINT($sonPx$ $sonPy$)',$sridIn$),$sridProvider$)) AS dist FROM japan_54004 WHERE the_geom &amp;&amp; transform(setsrid('BOX3D($sonPxM$ $sonPyM$,$sonPxP$ $sonPyP$)'::box3d, $sridIn$), $sridProvider$) ORDER BY dist LIMIT 1</query> 
    244                                         </sql> 
    245                                         <parameters> 
    246                                                 <parameter name="point" type="text" codename="data" required="true" /> 
    247                                                 <parameter name="sridInput" type="integer" codename="sridIn" required="false" /> 
    248                                                 <parameter name="sridOutput" type="integer" codename="sridOut" required="false" /> 
    249                                                 <parameter name="bbox" type="integer" codename="bbox" required="false" default="100" /> 
    250                                         </parameters> 
    251                                         <formats> 
    252                                                 <format name="gml" input="true" output="true" /> 
    253                                                 <format name="xml" input="false" output="true" /> 
    254                                                 <format name="html" input="false" output="true" /> 
    255                                                 <format name="geojson" input="true" output="true" /> 
    256                                                 <format name="id" input="false" output="true" /> 
    257                                                 <format name="lonlat" input="true" output="false" /> 
    258                                                 <format name="wkt" input="true" output="true" /> 
    259                                                 <format name="kml" input="true" output="true" srid="4326" /> 
    260                                         </formats> 
    261                                 </service> 
    262                                                          
    263                                 <service name="shortest_path" title="Shortest Path" enable="true"> 
    264                                         <description>blabla</description> 
    265                                         <connection driver="org.postgresql.Driver"> 
    266                                                 <url>jdbc:postgresql://192.168.20.177:5432/suuchi</url> 
    267                                                 <user>postgres</user> 
    268                                                 <password></password> 
    269                                         </connection> 
    270                                         <projection srid="54004"></projection> 
    271                                         <sql> 
    272                                                 <query transformProjectionIn="false" transformProjectionOut="false">SELECT gid, AsText($saGeomUser$) AS wkt FROM shootingstar_sp_smart('japan_54004', $sonStartX$, $sonStartY$, $sonEndX$, $sonEndY$, $saBoxSize$,'length',true,true)</query> 
    273                                                 <query transformProjectionIn="false" transformProjectionOut="true">SELECT gid, AsText(transform(the_geom, $sridOut$)) AS wkt FROM shootingstar_sp_smart('japan_54004', $sonStartX$, $sonStartY$, $sonEndX$, $sonEndY$, $saBoxSize$,'length',true,true)</query> 
    274                                                 <query transformProjectionIn="true" transformProjectionOut="false">SELECT gid, AsText(the_geom) AS wkt FROM shootingstar_sp_smart('japan_54004', X(transform(GeometryFromText('POINT($sonStartX$ $sonStartY$)',$sridIn$),$sridProvider$)), Y(transform(GeometryFromText('POINT($sonStartX$ $sonStartY$)',$sridIn$),$sridProvider$)), X(transform(GeometryFromText('POINT($sonEndX$ $sonEndY$)',$sridIn$),$sridProvider$)), Y(transform(GeometryFromText('POINT($sonEndX$ $sonEndY$)',$sridIn$),$sridProvider$)), $saBoxSize$,'length',true,true)</query> 
    275                                                 <query transformProjectionIn="true" transformProjectionOut="true">SELECT gid, AsText(transform(the_geom, $sridOut$)) AS wkt FROM shootingstar_sp_smart('japan_54004', X(transform(GeometryFromText('POINT($sonStartX$ $sonStartY$)',$sridIn$),$sridProvider$)), Y(transform(GeometryFromText('POINT($sonStartX$ $sonStartY$)',$sridIn$),$sridProvider$)), X(transform(GeometryFromText('POINT($sonEndX$ $sonEndY$)',$sridIn$),$sridProvider$)), Y(transform(GeometryFromText('POINT($sonEndX$ $sonEndY$)',$sridIn$),$sridProvider$)), $saBoxSize$,'length',true,true)</query> 
     57                                                <query transformProjectionIn="true" transformProjectionOut="true">SELECT gid, AsText(transform(setSRID(the_geom,$sridProvider$), $sridOut$)) AS wkt FROM shootingstar_sp_smart('nrn_bc', X(transform(GeometryFromText('POINT($sonStartX$ $sonStartY$)',$sridIn$),$sridProvider$)), Y(transform(GeometryFromText('POINT($sonStartX$ $sonStartY$)',$sridIn$),$sridProvider$)), X(transform(GeometryFromText('POINT($sonEndX$ $sonEndY$)',$sridIn$),$sridProvider$)), Y(transform(GeometryFromText('POINT($sonEndX$ $sonEndY$)',$sridIn$),$sridProvider$)), $saBoxSize$,'length',true,true)</query> 
    27658                                        </sql> 
    27759                                        <parameters> 
     
    29678                                        <description>blabla</description> 
    29779                                        <connection driver="org.postgresql.Driver"> 
    298                                                 <url>jdbc:postgresql://192.168.20.177:5432/suuchi</url> 
     80                                                <url>jdbc:postgresql://192.168.20.177:5432/geobase</url> 
    29981                                                <user>postgres</user> 
    30082                                                <password></password> 
    30183                                        </connection> 
    302                                         <projection srid="54004"></projection> 
     84                                        <projection srid="900913"></projection> 
    30385                                        <sql> 
    304                                                 <query transformProjectionIn="false" transformProjectionOut="false">SELECT AsText(the_geom) AS wkt FROM points_as_polygon('SELECT a.vertex_id::integer AS id, b.x1::double precision AS x, b.y1::double precision AS y FROM driving_distance(''''SELECT gid AS id,source::integer,target::integer,length::double precision AS cost FROM japan_54004'''',(select id from find_node_by_nearest_link_within_distance(''''POINT($sonPx$ $sonPy$)'''',$bbox$,''''japan_54004'''')),$distance$,false,false) a, japan_54004 b WHERE a.vertex_id = b.source');</query> 
    305                                                 <query transformProjectionIn="false" transformProjectionOut="true">SELECT AsText(transform(setsrid(the_geom, $sridProvider$), $sridOut$)) AS wkt FROM points_as_polygon('SELECT a.vertex_id::integer AS id, b.x1::double precision AS x, b.y1::double precision AS y FROM driving_distance(''''SELECT gid AS id,source::integer,target::integer,length::double precision AS cost FROM japan_54004'''',(select id from find_node_by_nearest_link_within_distance(''''POINT($sonPx$ $sonPy$)'''',$bbox$,''''japan_54004'''')),$distance$,false,false) a, japan_54004 b WHERE a.vertex_id = b.source');</query> 
    306                                                 <query transformProjectionIn="true" transformProjectionOut="false">SELECT AsText(the_geom) AS wkt FROM points_as_polygon('SELECT a.vertex_id::integer AS id, b.x1::double precision AS x, b.y1::double precision AS y FROM driving_distance(''''SELECT gid AS id,source::integer,target::integer,length::double precision AS cost FROM japan_54004'''',(select id from find_node_by_nearest_link_within_distance(X(transform(GeometryFromText(''''POINT($sonPx$ $sonPy$)'''',$sridIn$),$sridProvider$)), Y(transform(GeometryFromText(''''POINT($sonPx$ $sonPy$)'''',$sridIn$),$sridProvider$)),$bbox$,''''japan_54004'''')),$distance$,false,false) a, japan_54004 b WHERE a.vertex_id = b.source');</query> 
    307                                                 <query transformProjectionIn="true" transformProjectionOut="true">SELECT AsText(transform(the_geom, $sridOut$)) AS wkt FROM points_as_polygon('SELECT a.vertex_id::integer AS id, b.x1::double precision AS x, b.y1::double precision AS y FROM driving_distance(''''SELECT gid AS id,source::integer,target::integer,length::double precision AS cost FROM japan_54004'''',(select id from find_node_by_nearest_link_within_distance(X(transform(GeometryFromText(''''POINT($sonPx$ $sonPy$)'''',$sridIn$),$sridProvider$)), Y(transform(GeometryFromText(''''POINT($sonPx$ $sonPy$)'''',$sridIn$),$sridProvider$)),$bbox$,''''japan_54004'''')),$distance$,false,false) a, japan_54004 b WHERE a.vertex_id = b.source');</query> 
     86                                                <query transformProjectionIn="false" transformProjectionOut="false">SELECT AsText(the_geom) AS wkt FROM points_as_polygon('SELECT a.vertex_id::integer AS id, b.x1::double precision AS x, b.y1::double precision AS y FROM driving_distance(''''SELECT gid AS id,source::integer,target::integer,length::double precision AS cost FROM nrn_bc'''',(select id from find_node_by_nearest_link_within_distance(''''POINT($sonPx$ $sonPy$)'''',$bbox$,''''nrn_bc'''')),$distance$,false,false) a, nrn_bc b WHERE a.vertex_id = b.source');</query> 
     87                                                <query transformProjectionIn="false" transformProjectionOut="true">SELECT AsText(transform(setSRID(the_geom,$sridProvider$), $sridOut$)) AS wkt FROM points_as_polygon('SELECT a.vertex_id::integer AS id, b.x1::double precision AS x, b.y1::double precision AS y FROM driving_distance(''''SELECT gid AS id,source::integer,target::integer,length::double precision AS cost FROM nrn_bc'''',(select id from find_node_by_nearest_link_within_distance(''''POINT($sonPx$ $sonPy$)'''',$bbox$,''''nrn_bc'''')),$distance$,false,false) a, nrn_bc b WHERE a.vertex_id = b.source');</query> 
     88                                                <query transformProjectionIn="true" transformProjectionOut="false">SELECT AsText(the_geom) AS wkt FROM points_as_polygon('SELECT a.vertex_id::integer AS id, b.x1::double precision AS x, b.y1::double precision AS y FROM driving_distance(''''SELECT gid AS id,source::integer,target::integer,length::double precision AS cost FROM nrn_bc'''',(select id from find_node_by_nearest_link_within_distance(text2text_transform(''''POINT($sonPx$ $sonPy$)'''',$sridIn$,$sridProvider$),$bbox$,''''nrn_bc'''')),$distance$,false,false) a, nrn_bc b WHERE a.vertex_id = b.source');</query> 
     89                                                <query transformProjectionIn="true" transformProjectionOut="true">SELECT AsText(transform(setSRID(the_geom,$sridProvider$), $sridOut$)) AS wkt FROM points_as_polygon('SELECT a.vertex_id::integer AS id, b.x1::double precision AS x, b.y1::double precision AS y FROM driving_distance(''''SELECT gid AS id,source::integer,target::integer,length::double precision AS cost FROM nrn_bc'''',(select id from find_node_by_nearest_link_within_distance(text2text_transform(''''POINT($sonPx$ $sonPy$)'''',$sridIn$,$sridProvider$),$bbox$,''''nrn_bc'''')),$distance$,false,false) a, nrn_bc b WHERE a.vertex_id = b.source');</query> 
    30890                                        </sql> 
    30991                                        <parameters> 
     
    326108                                        </formats> 
    327109                                </service> 
     110                                 
     111                                <service name="traveling_sales_person" title="Traveling Sales Person" enable="true"> 
     112                                        <description>blabla</description> 
     113                                        <connection driver="org.postgresql.Driver"> 
     114                                                <url>jdbc:postgresql://192.168.20.177:5432/geobase</url> 
     115                                                <user>postgres</user> 
     116                                                <password></password> 
     117                                        </connection> 
     118                                        <projection srid="900913"></projection> 
     119                                        <sql> 
     120                                                <query transformProjectionIn="false" transformProjectionOut="false">SELECT AsText(the_geom) AS wkt FROM tsp_astar_directed('nrn_bc','$sesSteps$', (select id from find_node_by_nearest_link_within_distance('POINT($sonStartX$ $sonStartY$)',$bbox$,'nrn_bc')),$bbox$,false,false);</query> 
     121                                                <query transformProjectionIn="false" transformProjectionOut="true">SELECT AsText(transform(setsrid(the_geom, $sridProvider$), $sridOut$)) AS wkt FROM tsp_astar_directed('nrn_bc','$sesSteps$', (select id from find_node_by_nearest_link_within_distance('X(transform(GeometryFromText('POINT($sonPx$ $sonPy$)',$sridIn$),$sridProvider$)),Y(transform(GeometryFromText('POINT($sonStartX$ $sonStartY$)',$sridIn$),$sridProvider$))',$bbox$,'nrn_bc')),$bbox$,false,false);</query> 
     122                                                <query transformProjectionIn="true" transformProjectionOut="false">SELECT AsText(the_geom) AS wkt FROM tsp_astar_directed('nrn_bc','$sesSteps$', (select id from find_node_by_nearest_link_within_distance('POINT($sonStartX$ $sonStartY$)',$bbox$,'nrn_bc')),$bbox$,false,false);</query> 
     123                                                <query transformProjectionIn="true" transformProjectionOut="true">SELECT AsText(transform(setsrid(the_geom, $sridProvider$), $sridOut$)) AS wkt FROM tsp_astar_directed('nrn_bc','$sesSteps$', (select id from find_node_by_nearest_link_within_distance('X(transform(GeometryFromText(''''POINT($sonStartX$ $sonStartY$)'''',$sridIn$),$sridProvider$)),Y(transform(GeometryFromText(''''POINT($sonStartX$ $sonStartY$)'''',$sridIn$),$sridProvider$))',$bbox$,'nrn_bc')),$bbox$,false,false);</query> 
     124                                        </sql> 
     125                                        <parameters> 
     126                                                <parameter name="point_start" type="text" codename="start" required="true" /> 
     127                                                <parameter name="points_step" type="text" codename="steps" required="true" /> 
     128                                                <parameter name="sridInput" type="integer" codename="sridIn" required="false" /> 
     129                                                <parameter name="sridOutput" type="integer" codename="sridOut" required="false" /> 
     130                                                <parameter name="bbox" type="integer" codename="bbox" required="false" default="3000" /> 
     131                                                <parameter name="findVertex" type="text" codename="findVertex" required="false" default="(select id from find_node_by_nearest_link_within_distance(''''POINT($sonPx$ $sonPy$)'''',$bbox$,''''nrn_bc''''))" /> 
     132                                                <parameter name="findVertexTransf" type="text" codename="findVertexTransf" required="false" default="(select id from find_node_by_nearest_link_within_distance(''''X(transform(GeometryFromText(''''''''POINT($sonPx$ $sonPy$)'''''''',$sridIn$),$sridProvider$)),Y(transform(GeometryFromText(''''''''POINT($sonPx$ $sonPy$)'''''''',$sridIn$),$sridProvider$))'''',$bbox$,''''nrn_bc''''))" /> 
     133                                        </parameters> 
     134                                        <formats> 
     135                                                <format name="gml" input="true" output="true" /> 
     136                                                <format name="xml" input="false" output="true" /> 
     137                                                <format name="html" input="false" output="true" /> 
     138                                                <format name="geojson" input="true" output="true" />> 
     139                                                <format name="lonlat" input="true" output="false" /> 
     140                                                <format name="wkt" input="true" output="true" /> 
     141                                                <format name="kml" input="true" output="true" srid="4326" /> 
     142                                        </formats> 
     143                                </service> 
    328144                        </services> 
    329145                </provider> 
  • branches/routingservice/src/jp/co/orkney/restlet/geo/ClosestEdge.java

    r96 r102  
    130130                { 
    131131                        StringTemplate query = ioHelper.getQuery(); 
    132                         int bboxSize = Integer.parseInt(configuration.getService().getParameter("bbox").getValue()); 
     132                        float bboxSize = Float.parseFloat(configuration.getService().getParameter("bbox").getValue()); 
    133133 
    134134                        // Makes the SQL query 
     
    143143                        query.setAttribute("sridOut", configuration.getService().getParameter("sridOutput").getValue()); 
    144144 
     145                        //System.out.println(query.toString()); 
    145146                        log.write(query.toString(),1); 
    146147                        ResultSet rs = databaseConnection.getResult(query.toString()); 
  • branches/routingservice/src/jp/co/orkney/restlet/geo/DrivingDistance.java

    r96 r102  
    5858        private Point point; 
    5959        private Configuration configuration; 
    60         private int speed; 
    61         private int time; 
    62         private int length; 
     60        private float speed; 
     61        private float time; 
     62        private float length; 
    6363        private Log log; 
    6464         
     
    108108                if(this.configuration.getService().getParameter("speed").getValue()!=null) 
    109109                { 
    110                         speed = Integer.parseInt(this.configuration.getService().getParameter("speed").getValue()); 
     110                        speed = Float.parseFloat(this.configuration.getService().getParameter("speed").getValue()); 
    111111                } 
    112112                else 
     
    117117                if(this.configuration.getService().getParameter("time").getValue()!=null) 
    118118                { 
    119                         time = Integer.parseInt(this.configuration.getService().getParameter("time").getValue()); 
     119                        time = Float.parseFloat(this.configuration.getService().getParameter("time").getValue()); 
    120120                } 
    121121                else 
     
    126126                if(this.configuration.getService().getParameter("length").getValue()!=null) 
    127127                { 
    128                         length = Integer.parseInt(this.configuration.getService().getParameter("length").getValue()); 
     128                        length = Float.parseFloat(this.configuration.getService().getParameter("length").getValue()); 
    129129                } 
    130130                else 
     
    160160                { 
    161161                        StringTemplate query = ioHelper.getQuery(); 
    162                         int bboxSize = Integer.parseInt(configuration.getService().getParameter("bbox").getValue()); 
    163                         int distance = 0; 
     162                        float bboxSize = Float.parseFloat(configuration.getService().getParameter("bbox").getValue()); 
     163                        float distance = 0; 
    164164                        //I can not specify both TIME and LENGTH for driving distance algorthims 
    165165                        if(time > 0) 
     
    180180                        query.setAttribute("sridOut", configuration.getService().getParameter("sridOutput").getValue()); 
    181181                         
     182                        System.out.println(query.toString()); 
    182183                        log.write(query.toString(),1); 
    183184                        ResultSet rs = databaseConnection.getResult(query.toString()); 
  • branches/routingservice/src/jp/co/orkney/restlet/geo/ShortestPath.java

    r96 r102  
    6464         * Constructor ShortestPath 
    6565         * <p> 
    66          * Creates a new ShortestPath object using the specifieSystem.out.println(query.toString());d Configuration object 
     66         * Creates a new ShortestPath object using the specified Configuration object 
    6767         * and extracts X and Y from the data provides by GET or POST request into a 
    6868         * new point (for start and end point). 
     
    136136                { 
    137137                        StringTemplate query = ioHelper.getQuery(); 
    138                         int bboxSize = Integer.parseInt(configuration.getService().getParameter("bbox").getValue()); 
     138                        float bboxSize = Float.parseFloat(configuration.getService().getParameter("bbox").getValue()); 
    139139 
    140140                        // Makes the SQL query 
    141                         query.setAttribute("saGeomUser", "the_geom"); 
    142141                        query.setAttribute("sonStartX", startPoint.getX()); 
    143142                        query.setAttribute("sonStartY", startPoint.getY()); 
     
    149148                        query.setAttribute("sridOut", configuration.getService().getParameter("sridOutput").getValue()); 
    150149 
     150                        System.out.println(query.toString()); 
    151151                        log.write(query.toString(),1); 
    152152                        ResultSet rs = databaseConnection.getResult(query.toString()); 
  • branches/routingservice/src/jp/co/orkney/restlet/util/IOHelper.java

    r96 r102  
    8888                catch (JSONException e) 
    8989                { 
    90                         log.write("--ERROR: Can not extract X and Y from Json object",0); 
     90                        log.write("--ERROR: Can not extract X and Y from Json object", 0); 
    9191                } 
    9292 
     
    171171                point.setY(new BigDecimal(data.split(",")[1])); 
    172172                return point; 
     173        }