[GraphHopper] Multiple Extended Storages
Peter
graphhopper at gmx.de
Wed Oct 29 10:27:54 UTC 2014
Hi Erik,
the extended storage(s) is useful for different purposes where one needs
dynamic data per edge and not just a fixed number of bytes like one
would get via increasing the row size. So both options have a good
reason. Still we should probably start with only one :)
Regards,
Peter.
On 29.10.2014 00:43, Erik Formella wrote:
> Oh I think increasing the row size could be really awesome. I don't
> know which method should be preferred at the moment. Is it your
> intention to eventually remove extended storage all together?
>
> On Tue, Oct 28, 2014 at 1:23 PM, Peter <graphhopper at gmx.de
> <mailto:graphhopper at gmx.de>> wrote:
>
> Hi Erik,
>
> sounds reasonable.
>
> When I think about extending the graph storage, should we
> implement this for edges and nodes too?
>
> Also we could allow to just increase the row size so that one can
> somehow access attributes directly, without going to some external
> storage. Or should we concentrate on real external storages for now?
>
> I've created:
> https://github.com/graphhopper/graphhopper/issues/276
>
> Regards,
> Peter.
>
> On 28.10.2014 21:11, Erik Formella wrote:
>> I think it is more extensible to hold a collection of different
>> storages than to have to make subclasses for every combination of
>> them. Right now I have a subclass implementation working for my
>> use case, but it isn't the cleanest.
>>
>> On Tue, Oct 28, 2014 at 12:06 PM, Peter <graphhopper at gmx.de
>> <mailto:graphhopper at gmx.de>> wrote:
>>
>> Hi Erik,
>>
>> a list of extended storages sounds interesting, still I would
>> like to understand better the usecase.
>>
>> When you would use e.g. a subclass with separate DataAccess
>> objects what would be more complex or impossible compared to
>> a list of extended storages?
>>
>> Kind Regards,
>> Peter.
>>
>>
>> On 27.10.2014 22:35, Erik Formella wrote:
>>> It looks like to be able to support turn costs we have to
>>> sacrifice the ability to use any other extended storage.
>>>
>>> I am thinking I can refactor GraphStorage to use an
>>> ExtendedStorageManager. It would allow us to write things like:
>>>
>>> TurnCostStorage turnCostStorage =
>>> graph.getExtendedStorageManager().get("turn_costs");
>>>
>>> instead of doing:
>>>
>>> if (graph.getExtendedStorage() istanceof TurnCostStorage) {
>>> ... }
>>>
>>>
>>> This is just my first guess at what the interfaces should
>>> look like, but does that seem like a change you would
>>> appreciate in GraphHopper?
>>>
>
>
> _______________________________________________
> GraphHopper mailing list
> GraphHopper at openstreetmap.org <mailto:GraphHopper at openstreetmap.org>
> https://lists.openstreetmap.org/listinfo/graphhopper
>
>
>
>
> _______________________________________________
> GraphHopper mailing list
> GraphHopper at openstreetmap.org
> https://lists.openstreetmap.org/listinfo/graphhopper
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstreetmap.org/pipermail/graphhopper/attachments/20141029/3669f653/attachment.html>
More information about the GraphHopper
mailing list