[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