E90Post
 


GTB Performance
 
BMW 3-Series (E90 E92) Forum > E90 / E92 / E93 3-series Technical Forums > AUDIO/VIDEO + BLUETOOTH + Electronics/Alarm/Software > Add Whole Foods Market and Costco to your POI



Reply
 
Thread Tools Search this Thread
      03-24-2007, 11:17 PM   #1
drfluid
Second Lieutenant
 
drfluid's Avatar
 
Drives: 2006 - 330i Navi, Premium
Join Date: May 2005
Location: Walnut Creek, CA

Posts: 244
iTrader: (0)

Add Whole Foods Market and Costco to your POI

I now added all the Whole Foods Market in North America, which is 186 and Costco to my POI.

Before I upgrade to new Progman 25, I guess this will save me some time to search these two favorite locations.

(I also added all the Korean Restaurants in SD and Orange County area and yes the letters shown on screen are Korean meaning 'Korean restaurant.'
I made it up on Photoshop and writing letters using the mouse was friggin hard and not pretty. )

Anyway, it was fun.

BTW, I didn't use the Perl script that was posted in the previous threads here, but I wrote my own codes in Matlab.
I made it to include all the phone number so I can actually place a call to any NEW location with Bluetooth. :rocks:
Attached Images
     
__________________
330i-NAV-Premium
drfluid is offline   United_States
0
Reply With Quote
      03-25-2007, 02:05 AM   #2
boggysv
Private First Class
 
Drives: A4, but riding the bus for now
Join Date: Jan 2007
Location: London, KL

Posts: 188
iTrader: (0)

Quote:
Originally Posted by drfluid View Post
here, but I wrote my own codes in Matlab.

WOW!!!

care to eleborate more?
or do you have a sample/guide I can refer to?
boggysv is offline  
0
Reply With Quote
      03-25-2007, 02:42 AM   #3
drfluid
Second Lieutenant
 
drfluid's Avatar
 
Drives: 2006 - 330i Navi, Premium
Join Date: May 2005
Location: Walnut Creek, CA

Posts: 244
iTrader: (0)

Quote:
Originally Posted by boggysv View Post
WOW!!!

care to eleborate more?
or do you have a sample/guide I can refer to?
I can send you the codes if you're interested.
__________________
330i-NAV-Premium
drfluid is offline   United_States
0
Reply With Quote
      03-25-2007, 01:22 PM   #4
timmetro69
New Member
 
Drives: 2007 BMW 335i Sedan - Loaded
Join Date: Jan 2007
Location: Las Vegas, NV

Posts: 16
iTrader: (0)

Quote:
Originally Posted by drfluid View Post
I can send you the codes if you're interested.
I'm definitely interested in learning more about how you made the additions. I've read some of the other threads, but not closely enough recently to know if they apply to US NAV versions.
timmetro69 is offline  
0
Reply With Quote
      03-25-2007, 01:40 PM   #5
bartman32
Colonel
 
bartman32's Avatar
 
Drives: e92 335i
Join Date: Feb 2007
Location: The OC

Posts: 2,290
iTrader: (0)

Garage List
Let us all know how you did that. Very interesting. Would love to be able to add like this.
__________________
bartman32 is offline   United_States
0
Reply With Quote
      03-25-2007, 03:44 PM   #6
boggysv
Private First Class
 
Drives: A4, but riding the bus for now
Join Date: Jan 2007
Location: London, KL

Posts: 188
iTrader: (0)

Quote:
Originally Posted by drfluid View Post
I can send you the codes if you're interested.

Thanks, would appreciate it.
Not sure how long I'd take to digest it though.
boggysv is offline  
0
Reply With Quote
      03-25-2007, 04:04 PM   #7
ibd12nv
Chief Warrant Officer 4
 
ibd12nv's Avatar
 
Drives: 335I, X5 4.8i
Join Date: Feb 2007
Location: Back in the US

Posts: 660
iTrader: (0)

Garage List
2007 E90 335i  [5.00]
I too would love to learn this. Where did you get the locations list?
ibd12nv is offline  
0
Reply With Quote
      03-26-2007, 01:09 PM   #8
drfluid
Second Lieutenant
 
drfluid's Avatar
 
Drives: 2006 - 330i Navi, Premium
Join Date: May 2005
Location: Walnut Creek, CA

Posts: 244
iTrader: (0)

The input file to make idx and url must
1) have one line of header
2) be tab delimited
3) have columns in orders like
:1_Address 2_City 3_State 4_ZIP 5_Name 6_Phone 7_lat 8_long

After idx and url created
1) Change the numbers on the first lines of each file: ex) SF_####.HTM
2) Change file names of idx and url accordingly. ex) 0223.idx & 0224.URL

This code is confirmed working only on Windows, small endian system. In order to run this on Mac or other big endian system, you may need to modifiy it a little. No big deal, though..



Code:
[FileName,PathName] = uigetfile('*.txt','Select the tab-delimited txt-file');
fid = fopen(fullfile(PathName,FileName),'r','b');
C_unsort = textscan(fid,'%s %s %s %s %s %s %11.6f %11.6f','headerlines',1,'delimiter','\t');fclose(fid);

% 1_Address	2_City	3_State	4_ZIP	5_Name	6_Phone	7_bg_lat 8_bg_long
num_field = length(C_unsort{1});
idx_name = 35;

Lat = C_unsort{end-1}.*2^29/45;
Lon = C_unsort{end}.*2^29/45;

[lon,ILon]=sort(Lon);  % sort ascending order in longitude
lat = Lat(ILon);

C{1}=C_unsort{1}(ILon);
C{2}=C_unsort{2}(ILon);
C{3}=C_unsort{3}(ILon);
C{4}=C_unsort{4}(ILon);
C{5}=C_unsort{5}(ILon);
C{6}=C_unsort{6}(ILon);

cd(PathName)
%%%%%%%%%%%%%%%%%%%%% Write idx
[idx_file,idx_path]=uiputfile(sprintf('%s_2007.idx',FileName(1:end-4)),'Save idx file');
fidx = fopen(fullfile(idx_path,idx_file),'w','b');

fwrite(fidx,'Glambda- CATIDX-ENG/SF_30003.HTM__','char');
fwrite(fidx,13,'int8');
fwrite(fidx,10,'int8','ieee-be');   % return

fwrite(fidx,sprintf('ID:I:%d|POS:P:8|NAME:S:%d|IMPORTANCE:S:1|_:S:1',length(num2str(num_field)),idx_name),'char');
fwrite(fidx,13,'int8');
fwrite(fidx,10,'int8','ieee-be');   % return


for i = 1:num_field    % write a binary table
    table_gap = 20;
    if i==1
        fwrite(fidx,[i-1 round(lon(i))],'int32');
        if num_field>table_gap,fwrite(fidx,124,'int8');end
    elseif mod(i,table_gap)==0
        fwrite(fidx,[i-1 round(lon(i))],'int32');
        
        
        if (num_field-i)>=table_gap
            fwrite(fidx,124,'int8');  % write | after each [number Longitude]
        else
            continue
        end
    end
end
fwrite(fidx,0,'int8');
fwrite(fidx,13,'int8');
fwrite(fidx,10,'int8','ieee-be');  % line feed

serial = num2str([0:num_field-1]');
POIname = C{5}(:);

for j = 1:num_field
    fwrite(fidx,serial(j,:),'char');
    fwrite(fidx,[round(lon(j)) round(lat(j))],'int32');
    POI_num = double(POIname{j});
    nul_char = zeros(1,idx_name);
    if length(POI_num) <= idx_name
        nul_char(1:length(POI_num)) = POI_num;
    else
        nul_char = POI_num(1:idx_name);
    end
    fwrite(fidx,nul_char,'int8');
    
    fwrite(fidx,double('L'),'int8','b');    % IMPORTANCE
    fwrite(fidx,double('_'),'int8');

    fwrite(fidx,13,'int8');
    fwrite(fidx,10,'int8','ieee-be');   % return
    clear nul_char
end
fclose(fidx);

%%%%%%%%%%%%%%%%%%%%% Write url
[url_file,url_path]=uiputfile(sprintf('%s_2007.URL',FileName(1:end-4)),'Save url file');
furl = fopen(fullfile(url_path,url_file),'w','b');

vil_len = 10; city_len= 29; name_len = 35; str_len = 35; house_len = 5;
ph_len = 12; postal_len = 5; country_len = 0; brand_len = 0; S_len = 1;

fwrite(furl,'CATURL-ENG/SF_30003.HTM_','char');
fwrite(fidx,13,'int8');
fwrite(furl,10,'int8','ieee-be');   % return

fwrite(furl, ...
    sprintf('POSWGS:S:21|VILLAGE:S:%d|CITY:S:%d|NAME:S:%d|STREET:S:%d|HOUSENUMBER:S:%d|PHONE:S:%d|POSTAL_CODE:S:%d|ENTP1:S:0|ENTP2:S:0|COUNTRY:S:%d|BRANDNAME:S:%d|_:S:%d' ...
    ,vil_len,city_len,name_len,str_len,house_len,ph_len,postal_len,country_len,brand_len,S_len),'char');
fwrite(fidx,13,'int8');
fwrite(furl,10,'int8','ieee-be');   % return

for k = 1:num_field
    coord_url = [num2str(round(lon(k))) ',' num2str(round(lat(k)))];
    while length(coord_url)<21,coord_url = [coord_url char(0)];end
    fwrite(furl,coord_url,'char');
    
    village = char(zeros(1,vil_len));
    fwrite(furl,village,'char');
    
    city = C{2}{k}; state = C{3}{k};
    
    city = strtrim(city); state = strtrim(state);  % remove leading or trailing spaces (or use deblank)
    
    city = [city ', ' state];  % append the state name
    while length(city)<city_len,city = [city char(0)];end
    fwrite(furl,city,'char');
    
    res_name = C{5}{k};
    while length(res_name)<name_len,res_name = [res_name char(0)];end
    if res_name > name_len,res_name = res_name(1:name_len);end
    fwrite(furl,res_name,'char');
    
    house_street = C{1}{k};
    ind = regexp(house_street,' ','once'); % first space index separating number and street name
    street = house_street(ind+1:end);
    house = house_street(1:ind-1);
    
    while length(street)<str_len,street = [street char(0)];end
    while length(house)<house_len,house = [house char(0)];end
    fwrite(furl,street,'char');
    fwrite(furl,house,'char');
    
    phone_num = C{6}{k};
    phone_num = strtrim(phone_num);
    if isempty(phone_num)
        fwrite(furl,char(zeros(1,ph_len)),'char');
    else
        fwrite(furl,phone_num,'char');
    end
        
    postalZIP_num = C{4}{k};
    postalZIP_num = strtrim(postalZIP_num);
    if isempty(postalZIP_num)
        fwrite(furl,char(zeros(1,postal_len)),'char');
    else
        fwrite(furl,postalZIP_num,'char');
    end
    
    if country_len~=0
        country = 'UNITED STATES';
        while length(country)<country_len,country = [country char(0)];end
        fwrite(furl,country,'char');
    end
    
    fwrite(furl,'_','char');
    fwrite(fidx,13,'int8');
    fwrite(furl,10,'int8','ieee-be');   % return
end

fclose(furl);
__________________
330i-NAV-Premium

Last edited by drfluid; 03-26-2007 at 03:38 PM.
drfluid is offline   United_States
0
Reply With Quote
      03-26-2007, 01:13 PM   #9
drfluid
Second Lieutenant
 
drfluid's Avatar
 
Drives: 2006 - 330i Navi, Premium
Join Date: May 2005
Location: Walnut Creek, CA

Posts: 244
iTrader: (0)

My next goal is to write a code for appending POIs to existing ones.
The codes I wrote is to create a separate idx and url for independent listing shown on POIs menu on Nav screen.

Since idx and url must be sorted in ascending order of Longitude, if you want to add POIs to existing ones, you'll have to re-calculate the Longitude and re-create the binary table written in each idx file.
__________________
330i-NAV-Premium
drfluid is offline   United_States
0
Reply With Quote
      03-26-2007, 01:14 PM   #10
drfluid
Second Lieutenant
 
drfluid's Avatar
 
Drives: 2006 - 330i Navi, Premium
Join Date: May 2005
Location: Walnut Creek, CA

Posts: 244
iTrader: (0)

Quote:
Originally Posted by ibd12nv View Post
I too would love to learn this. Where did you get the locations list?
http://www.gps-poi-us.com/

and

from the webpage of each store.
__________________
330i-NAV-Premium
drfluid is offline   United_States
0
Reply With Quote
      03-26-2007, 01:21 PM   #11
drfluid
Second Lieutenant
 
drfluid's Avatar
 
Drives: 2006 - 330i Navi, Premium
Join Date: May 2005
Location: Walnut Creek, CA

Posts: 244
iTrader: (0)

Quote:
Originally Posted by timmetro69 View Post
I'm definitely interested in learning more about how you made the additions. I've read some of the other threads, but not closely enough recently to know if they apply to US NAV versions.
There's nothing special on US NAV versions. Just same as european one.
Only difference is the people in US are not as interested in this matter as the european people because the primary reason for doing this job was initiated by adding the speed camera locations to the POI.

Obviously, there are not that many speed cameras in US. I created the red light camera locations onto my nav disc, but they are not that many either, although the number is increasing.
__________________
330i-NAV-Premium
drfluid is offline   United_States
0
Reply With Quote
      03-26-2007, 02:46 PM   #12
SoYank
Major General
 
SoYank's Avatar
 
Drives: 2009 E90 335i MT
Join Date: Mar 2006
Location: Brighton, Colorado

Posts: 7,502
iTrader: (1)

Garage List
Send a message via Yahoo to SoYank Send a message via Skype™ to SoYank
How about the Half Foods Market? I'm on a diet.
__________________
2009 E90 335i Montego Blue Black Leather Burl Walnut 6MT US Spec
SatNav ZPP ZCW 6FL TPMS iDrive PDC HWS Xenons BMW Assist Power Rear Sunshade Logic 7
European Taillights Rear Foglamp OEM Alarm PicoTray DataToys XM-DVR Multi-view Processor
Quaife ATB LSD Short Shift Knob Hartge Anti-Roll Bars AP Racing Front Brakes 19" Style 269
SoYank is offline   United_States
0
Reply With Quote
      03-26-2007, 03:19 PM   #13
drfluid
Second Lieutenant
 
drfluid's Avatar
 
Drives: 2006 - 330i Navi, Premium
Join Date: May 2005
Location: Walnut Creek, CA

Posts: 244
iTrader: (0)

Quote:
Originally Posted by SoYank View Post
How about the Half Foods Market? I'm on a diet.

I'll divide the coordinates (Long/Lat) of the whole foods market by 2 for you.
__________________
330i-NAV-Premium
drfluid is offline   United_States
0
Reply With Quote
      03-26-2007, 03:25 PM   #14
lkraven
Lieutenant
 
Drives: E92 335i
Join Date: Mar 2007
Location: SoCal

Posts: 429
iTrader: (1)

I might be missing something obvious here-- I see your code is to translate the data into a format usable in the iDrive SatNav-- but how did you actually LOAD those POI into the SatNav itself?
lkraven is offline  
0
Reply With Quote
      03-26-2007, 03:28 PM   #15
drfluid
Second Lieutenant
 
drfluid's Avatar
 
Drives: 2006 - 330i Navi, Premium
Join Date: May 2005
Location: Walnut Creek, CA

Posts: 244
iTrader: (0)

Quote:
Originally Posted by lkraven View Post
I might be missing something obvious here-- I see your code is to translate the data into a format usable in the iDrive SatNav-- but how did you actually LOAD those POI into the SatNav itself?
Read this thread..

http://www.e90post.com/forums/showthread.php?t=6727
__________________
330i-NAV-Premium
drfluid is offline   United_States
0
Reply With Quote
      03-26-2007, 03:45 PM   #16
lkraven
Lieutenant
 
Drives: E92 335i
Join Date: Mar 2007
Location: SoCal

Posts: 429
iTrader: (1)

Thank you, sir, I don't know how I missed it.
lkraven is offline  
0
Reply With Quote
      03-27-2007, 02:24 PM   #17
boggysv
Private First Class
 
Drives: A4, but riding the bus for now
Join Date: Jan 2007
Location: London, KL

Posts: 188
iTrader: (0)

thanks! will read through it on of these nights.
boggysv is offline  
0
Reply With Quote
      03-27-2007, 03:15 PM   #18
iatacs19
Major General
 
iatacs19's Avatar
 
Drives: 335is
Join Date: Sep 2006
Location: Washington, DC

Posts: 5,208
iTrader: (6)

You are the man! Phyting! hehe
iatacs19 is offline   United_States
0
Reply With Quote
      05-10-2007, 09:45 AM   #19
FrankoQ
Deny everything
 
FrankoQ's Avatar
 
Drives: 2006 330i
Join Date: Apr 2006
Location: Laurel, MD

Posts: 11,293
iTrader: (4)

Garage List
2006 330i  [0.00]
Send a message via AIM to FrankoQ
has anyone done the speed cam locations?
__________________

I need a drink

FrankoQ is offline   United_States
0
Reply With Quote
      05-10-2007, 09:52 AM   #20
BK
Smiling politely
 
Drives: 330i
Join Date: Feb 2006
Location: Washington DC

Posts: 7,916
iTrader: (0)

Garage List
2006 330i  [4.50]
How did I miss this post earlier? Props to drfluid. Nice work!
__________________


330i | Black Sapphire | Beige + Burl | Sport | Premium | Cold | Nav | CA | Sat prep
BK is offline   United_States
0
Reply With Quote
      09-02-2007, 11:26 AM   #21
vivekk
THE Viv
 
vivekk's Avatar
 
Drives: 330i SE
Join Date: May 2005
Location: the North, UK

Posts: 4,740
iTrader: (0)

Garage List
Wink

If anyone's interested, I've made a post about creating your own POIs, including using Google Maps to help you.

Have a look here, in the UK forum.

However, the info about BMW ConnectedDrive & Google Maps currently only applies to Europe!

All the best.

Viv
__________________
[TiAg ▪ Dakota Black ▪ Active steering ▪ Sports suspension ▪ 162s ▪ Sports seats ▪ Al trim ▪ Bi-Xenons ▪ F&R PDC NavPro ▪ Voice control ▪ Bluetooth ▪ 6CD Logic7]


vivekk is offline   England
0
Reply With Quote
      09-02-2007, 11:33 AM   #22
RichP
Major
 
RichP's Avatar
 
Drives: V-Power
Join Date: Jul 2005
Location: Michigan

Posts: 1,049
iTrader: (4)

VERY impressive!
__________________
RichP is offline   United_States
0
Reply With Quote
Reply

Bookmarks

Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -5. The time now is 03:01 AM.




e90post
Powered by vBulletin® Version 3.7.0
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
1Addicts.com, BIMMERPOST.com, E90Post.com, F30Post.com, M3Post.com, ZPost.com, 5Post.com, 6Post.com, 7Post.com, XBimmers.com logo and trademark are properties of BIMMERPOST