[GraphHopper] How to initialize my own flagEncoder?

Peter graphhopper at gmx.de
Thu May 28 19:16:34 UTC 2015


you can do so too:
new YourFlagEncoder("speedFactor=5.0|speedBits=5|turnCosts=true")

or use the normal java way:
new YourFlagEncoder(5, 5, 1)

Regards,
Peter

On 28.05.2015 21:11, John Zhao wrote:
> Thanks Peter for your answer.
>
> I mean "combne" is if I have something inside properties like:
> graph.flagEncoders=xxxcar|speedFactor=5.0|speedBits=5|turnCosts=true,
> bike, mtb, foot
>
> I want to it can be parsed by the program without hard code.
>
> *Best Regards,*
> *ZhiQiang ZHAO*
>
> On Thu, May 28, 2015 at 12:01 PM, Peter <graphhopper at gmx.de
> <mailto:graphhopper at gmx.de>> wrote:
>
>     Hi,
>
>     I'm not sure what you mean with 'combine'. You can mix Java API
>     and read from config too e.g. via
>
>     graphHopper.init(CmdArgs.readFromConfig(..))
>     graphHopper.setEncodingManager(new YourFlagEncoder(), new
>     CarFlagEncoder(), ...)
>
>     > Could you elaborate a little bit more about the portability
>     reason? I am new to reflection.
>
>     It is just that we want to support JavaScript (TeaVM) and iOS, and
>     for them we need to avoid some stuff.
>
>     Kind Regards,
>     Peter
>
>     On 28.05.2015 20:49, John Zhao wrote:
>>     Hi Peter,
>>
>>     I want to keep the compatibility of combine the existing
>>     flagEncoder with my customized flagEncoder.
>>     And intialize them from the properties file.
>>
>>     Could you elaborate a little bit more about the portability reason?
>>     I am new to reflection.
>>
>>     *Best Regards,*
>>     *ZhiQiang ZHAO*
>>
>>     On Thu, May 28, 2015 at 11:44 AM, Peter <graphhopper at gmx.de
>>     <mailto:graphhopper at gmx.de>> wrote:
>>
>>         Hi John,
>>
>>         if you have a custom flagencoder why not just call
>>         new EncodingManager(new YourFlagEncoder()) ?
>>
>>         Reflections was abandoned due to portability reasons but also
>>         it is not really necessary here, especially as you use it as
>>         a library and you have a custom flag encoder anyway.
>>
>>         Regards,
>>         Peter
>>
>>
>>         On 28.05.2015 20:14, John Zhao wrote:
>>>         Hi,
>>>
>>>         I have a project which use GH as a library.
>>>         I have implemented my own flag encoder, like xxxFlagEncoder.
>>>         I don't figure out a good way to initialize it, except to
>>>         change the EncodingManger to insert xxxFlagEncoder on
>>>         parseEncoderString().
>>>         I think it's better the change the way EncodingManger
>>>         initialize all the flagEncoders.
>>>         EncodingManger can use reflection to find the class or
>>>         flagEncoder from its name, if we standardize the name and
>>>         toString method.
>>>
>>>         Do you think it's a good idea, or there is a better way? 
>>>
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstreetmap.org/pipermail/graphhopper/attachments/20150528/11fad3dd/attachment.html>


More information about the GraphHopper mailing list