ThinkGeo.com    |     Documentation    |     Premium Support

Extendingroutingsource function st_asbinary(integer) does not exist

 Hi, I'm trying to use a postgis table instead of a shp file to story my roaddata.


(postgres 9.2.2, postgis 2.0.1)
npgsql 2.0.12
 
I'm using this sample:
C:\Program Files (x86)\ThinkGeo\Map Suite Routing Full Edition 6.0\HowDoISamples\CSharp HowDoISamples\CSharp Desktop HowDoISamples\Samples\ExtendingRoutingSource.cs
 
 
But Im getting this exception: {"ERROR: 42883: function st_asbinary(integer) does not exist"}
when i get to this line:
Feature feature = featureSource.GetFeatureById(roadId, ReturningColumnsType.NoColumns);
 
here:
    protected override RouteSegment GetRouteSegmentByFeatureIdCore(string roadId)
        {
            Feature feature = featureSource.GetFeatureById(roadId, ReturningColumnsType.NoColumns);

postgis doesn't have st_asbinary(int) postgis.refractions.net/docs/ST_AsBinary.html
 
Any idea how to fix this?
 
- Niels

Hello Niels, 
  
 Here are something I cannot confirm for your issue: 
 I have a postgis table named “rail” and the column name of feature is “oid”. In  psogreSQL, I use the below string to query when get feature by id, can you check it on your table to make sure the string or your table is correct? 
  
 “select st_asbinary("shape") from "rail" where "oid" in (‘1’);” 
  
 And I use the below code to do the work of postgis in postgre, it works well on desktop edition. can you check the code on your environment? 
  
 “PostgreSqlFeatureSource source = new PostgreSqlFeatureSource(connectionString, “rail”, “oid”); 
 source.Srid = 4326;                                                                                                                       
 source.Open(); 
 Feature feature =  source.GetFeatureById("1", ReturningColumnsType.NoColumns);” 
  
 If there are still anything errors, please let us know. 
  
 Regards, 
  
 Gary 


Sorry my fault …copy pasting…, I had set the FeatureIdColumn to the wrong name…

Hello Niels, 
  
 No problem, please feel free to let us know your problems. 
  
 Regards, 
  
 Gary