…с одной стороны у них может быть дофига атрибутов. С другой — может и не быть и большинства скорее всего не будет, тратить память под указатели на них — как-то нелепо… Собрать всё нечастое в отдельный классик и хранить указатель на него? Сделать вообще всё неосновное в property bag?
Update Язык — Java, «точки из GPX» — это точки в пространстве с двумя обязательными атрибутами (longitude, latitude) и массой дополнительных атрибутов (даже время и высота опциональны, а там ещё пяток строк и десяток чисел может быть) из GPS-трека.
May 3 2009, 15:10:42 UTC 3 years ago
May 3 2009, 15:13:06 UTC 3 years ago
Что-то я вот день на ней пишу и уже сомневаюсь, не стоило ли на JS писать :)
May 3 2009, 15:17:31 UTC 3 years ago
May 3 2009, 15:21:27 UTC 3 years ago
И натурально, надо уметь переваривать сотни тысяч точек… Вот я и задумался — не слишком ли это для JS. Да ещё рисовать всё это дело разом (OpenLayers?)…
Не сдохнут ли бразуеры (да даже хром) от такого?
May 3 2009, 15:51:38 UTC 3 years ago
3 years ago
May 3 2009, 15:29:13 UTC 3 years ago
May 3 2009, 15:50:28 UTC 3 years ago
May 3 2009, 15:34:18 UTC 3 years ago
May 3 2009, 15:42:47 UTC 3 years ago
Хм… Если Взять SQLite… Надо подумать.
Хотя всё одно всякими скользящими окошками по 200 штук в окне по базе бегать неудобно… Всё равно в массивы выдёргивать… Но только координаты… Хм-хм-хм.
May 3 2009, 23:44:22 UTC 3 years ago
May 3 2009, 15:45:03 UTC 3 years ago
May 4 2009, 06:00:37 UTC 3 years ago
May 4 2009, 06:04:02 UTC 3 years ago
May 4 2009, 06:57:18 UTC 3 years ago
May 3 2009, 17:04:28 UTC 3 years ago
делает стойку на слово GPX
А зачем это вообще?May 3 2009, 17:09:10 UTC 3 years ago
Re: делает стойку на слово GPX
Не нашёл ни одного приличного тулза для обработки сырых треков от SirfStar-III (ну и остальных, но у меня-то интерес в нём, конечно). Там по результатам макетирования можно делать гораздо более умные вещи, чем все делают — и искать места характерных для SirfStar-III плясок на месте, и разбивать треки по изменению скорости (шли пешком/поехали на машине), и фильтровать умнее чем “каждая 20-ая точка или каждая 20-ая секунда” и много что ещё.May 3 2009, 17:28:03 UTC 3 years ago
Re: делает стойку на слово GPX
НадоMay 3 2009, 17:28:56 UTC 3 years ago
Re: делает стойку на слово GPX
У тебя какой гармин? :) Формально у меня тоже гармин. А внутри — сирфстар-3.У меня GPSMap 60CSx
May 3 2009, 17:35:00 UTC 3 years ago
Re: делает стойку на слово GPX
У меня Etrex Vista C. Характерного дрейфа на месте, который бывает в наладонниках с Sirf III не видел. Зато чувствительность хуже.3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
May 4 2009, 00:39:24 UTC 3 years ago
Re: делает стойку на слово GPX
а не проще дописать пару фильтров в gpsbabel?May 4 2009, 00:47:02 UTC 3 years ago
Re: делает стойку на слово GPX
А гуй к нему как прицепить?May 4 2009, 05:40:51 UTC 3 years ago
Re: делает стойку на слово GPX
Нет. Потому что всё равно это операция не 100% автоматическая — надо показывать трек на экране (а желательно — на карте, но это совсем далёкие планы) с флажочками “вот тут мы подумали что глюк чипсета а вот тут мы подумали что сменился транспорт и вот тут что-то странное — из статистики кусок выбивается но мы не поняли как” и давать пользователю разбираться.May 8 2009, 03:32:24 UTC 3 years ago
Re: делает стойку на слово GPX
ладно, тогда может посмотреть в сторону уже готового? зачем заново велосипед изобретать?http://activityworkshop.net/software/pr
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
May 4 2009, 09:18:53 UTC 3 years ago
interface IOptional
{
pure virtual IPropery getProperty( EPropertyTag a_tag );
}
У основного класса:
virtual IProperty getProperty( EPropertyTag a_tag )
{
m_impl.getProperty( a_tag );
}
generic< EPropertyTag tag >
class SomeOption : IOptional
{
virtual IProperty getProperty( EPropertyTag a_tag )
{
if( tag == a_tag )
{
return m_someField;
}
}
}
Второй вариант - завести хеш-словарик из атрибутов в значения.
Канделябром прошу не бить, сами мы не местные.
May 4 2009, 09:20:51 UTC 3 years ago
if( tag == a_tag ) { return m_someField; } else { if( null != m_next ) { return m_next->getProperty( a_tag ); } else { throw CSearchException(a_tag); } }