From: Stephen W. <wo...@sw...> - 2011-03-01 20:29:02
|
OK, a few steps forward and one step back to this problem. With Walter's generous support and help, I have been able to use the new datastores code to load my version of Tiger data into PAGC. I built ds with: ./configure --with-norm=s --with-raw=d --with-sch=d --with-cache=f And I have been able to load each county of Massachusetts by appending it to the previous. And geocoding works as well as before. BUT sadly, the zipcode issue still exists! So to review on this issue. This works (NO ZIPCODE): > http://imaptools.com:8080/cgi-bin/gc-tiger?methodName=GeocodeRequest&Version=1.1&InterpolationOffset=10.0&UnParsedAddress=&CompleteAddressNumber=1&CompleteStreetName=rote+hill+rd&CompleteStreetName2=&PlaceName=sheffield&StateName=MA&ZipCode=&CountryCode=US&ResponseFormat=XML This does not (HAS ZIPCODE): > http://imaptools.com:8080/cgi-bin/gc-tiger?methodName=GeocodeRequest&Version=1.1&InterpolationOffset=10.0&UnParsedAddress=&CompleteAddressNumber=1&CompleteStreetName=rote+hill+rd&CompleteStreetName2=&PlaceName=sheffield&StateName=MA&ZipCode=01257&CountryCode=US&ResponseFormat=XML The only difference is that the second request includes the zipcode. So trying the addresses below (fails means fails with zipcode): 177-205 work (record 1) 176 fails, but 178-204 work (record 2) 125-161 fails (record 3) 126-160 fails (record 4) 163-175 fails (record 5) I did not try every address beyond these but tried random ones with no luck at finding any that worked. So this a a large percentage of records that are failing in this sample for exact matches. > woodbri@mappy:/u/data/tgr2009-test/streets$ dbfdump Streets > 3942309:177:205:FM999:{}:%3d:Rote Hill:::::Rd::L:SHEFFIELD:Sheffield:Berkshire:MA:US:01257 > 3942309:176:204:FM999:{}:%3d:Rote Hill:::::Rd::R:SHEFFIELD:Sheffield:Berkshire:MA:US:01257 > 3942326:125:161:FM999:{}:%3d:Rote Hill:::::Rd::L:SHEFFIELD:Sheffield:Berkshire:MA:US:01257 > 3942326:126:160:FM999:{}:%3d:Rote Hill:::::Rd::R:SHEFFIELD:Sheffield:Berkshire:MA:US:01257 > 3942327:163:175:FM999:{}:%3d:Rote Hill:::::Rd::L:SHEFFIELD:Sheffield:Berkshire:MA:US:01257 > 3942327:162:174:FM999:{}:%3d:Rote Hill:::::Rd::R:SHEFFIELD:Sheffield:Berkshire:MA:US:01257 > 3942332:207:457:FM999:{}:%3d:Rote Hill:::::Rd::L:SHEFFIELD:Sheffield:Berkshire:MA:US:01257 > 3942332:206:456:FM999:{}:%3d:Rote Hill:::::Rd::R:SHEFFIELD:Sheffield:Berkshire:MA:US:01257 > 3947098:459:495:FM999:{}:%3d:Rote Hill:::::Rd::L:SHEFFIELD:Sheffield:Berkshire:MA:US:01257 > 3947098:458:494:FM999:{}:%3d:Rote Hill:::::Rd::R:SHEFFIELD:Sheffield:Berkshire:MA:US:01257 > 3963810:1:11:FM99:{}:%2d:Rote Hill:::::Rd::L:SHEFFIELD:Sheffield:Berkshire:MA:US:01257 > 3963810:2:12:FM99:{}:%2d:Rote Hill:::::Rd::R:SHEFFIELD:Sheffield:Berkshire:MA:US:01257 > 3968133:13:93:FM99:{}:%2d:Rote Hill:::::Rd::L:SHEFFIELD:Sheffield:Berkshire:MA:US:01257 > 3968133:14:94:FM99:{}:%2d:Rote Hill:::::Rd::R:SHEFFIELD:Sheffield:Berkshire:MA:US:01257 > 3968134:95:123:FM999:{}:%3d:Rote Hill:::::Rd::L:SHEFFIELD:Sheffield:Berkshire:MA:US:01257 > 3968134:96:124:FM999:{}:%3d:Rote Hill:::::Rd::R:SHEFFIELD:Sheffield:Berkshire:MA:US:01257 > 3982370:497:531:FM999:{}:%3d:Rote Hill:::::Rd::L:SHEFFIELD:Sheffield:Berkshire:MA:US:01257 > 3982370:496:530:FM999:{}:%3d:Rote Hill:::::Rd::R:SHEFFIELD:Sheffield:Berkshire:MA:US:01257 > 618744647:533:565:FM999:{}:%3d:Rote Hill:::::Rd::L:SHEFFIELD:Sheffield:Berkshire:MA:US:01257 > 618744647:532:564:FM999:{}:%3d:Rote Hill:::::Rd::R:SHEFFIELD:Sheffield:Berkshire:MA:US:01257 > 618744648:567:569:FM999:{}:%3d:Rote Hill:::::Rd::L:SHEFFIELD:New Marlborough:Berkshire:MA:US:01257 > 618744648:566:568:FM999:{}:%3d:Rote Hill:::::Rd::R:SHEFFIELD:New Marlborough:Berkshire:MA:US:01257 I have created a shapefile with just the records above that should reproduce this problem and can be downloaded from: http://imaptools.com:8080/dl/tgr2009-test.tbz This contains: > tar tvjf /u/www/html/dl/tgr2009-test.tbz > -rw-r--r-- woodbri/woodbri 11717 2011-01-01 00:34 tgr2009-test/streets/Streets.dbf > -rw-r--r-- woodbri/woodbri 3860 2011-01-01 00:34 tgr2009-test/streets/Streets.shp > -rw-r--r-- woodbri/woodbri 276 2011-01-01 00:34 tgr2009-test/streets/Streets.shx > -rwxr-xr-x woodbri/woodbri 325 2010-12-30 11:43 tgr2009-test/testgc > -rw-r--r-- woodbri/woodbri 11833 2010-12-30 10:17 tgr2009-test/standard/gazeteer.csv > -rw-r--r-- woodbri/woodbri 84943 2010-12-30 10:17 tgr2009-test/standard/featwords.csv > -rw-r--r-- woodbri/woodbri 2242 2010-12-30 10:17 tgr2009-test/standard/tgr2pagc-single.dbf > -rw-r--r-- woodbri/woodbri 75537 2010-12-30 10:17 tgr2009-test/standard/lexicon.csv > -rw-r--r-- woodbri/woodbri 1090 2010-12-30 10:17 tgr2009-test/standard/landmarks09.dbf So it looks like, this problem still remains in the code. I think I have taken this about as far as I can. There is a lot of research below in this thread. If there is anyway that I can help Walter, please let me know. Seems like we are very close to having this working. Best regards, -Steve On 1/11/2011 10:59 AM, Stephen Woodbridge wrote: > On 1/11/2011 5:12 AM, whi...@de... wrote: >> Hi Steve : Did you try without the commas, just spaces? > > I think I can reproduce the problem using just your hardcoded tested > program so no commas involved. > > 1. without zipcode, I get 22 records, record 10 is geocoded with lat,lon > 2. with zipcode, I get one record that is not geocoded with lat, lon > > This is using pagclib based on branches/landmarks svn code. If you are > using the datastore branch then you are using DBVER45 and I'm using > DBVER42 so there might be a bug in that also. > >> Another thing to >> consider is that I'm using the new library. Bugs. > > What code is this? From branches/datastore? > Can you give a brief intro on how to build this? Looking at the code > maybe something like this: > > cd branches/datastrore/ds > aclocal > libtoolize > automake -a > autoconf > > ### looks like configure.ac is hardcoded to your BDB version !!! > ### also looks like it is hardcoded to DBVER45 > ### I realize this is not ready for primetime yet > ### I'll try to hack this to use DBVER42 that I have installed > ### Can I specify it as an argument??? > > ### defaults look to build BDB and Shapefile like before > ./configure > ### or ### > ./configure --with-norm=b --with-raw=d --with-sch=d --with-cache=b > > ### or to build with SQLite and shapefile (ie: no BDB) > ./configure --with-norm=s --with-raw=d --with-sch=d --with-cache=f > > ### This configured ok, but make fails with: > woodbri@mappy:~/work/pagc/pagc/branches/datastore/ds$ make > make: *** No rule to make target `sqlite3.c', needed by > `libds_la-sqlite3.lo'. Stop. > > ### I don't see this file in the sqlite3 source tree, so > ### I'm guessing you have stuff that is nor checked in yet or this is > ### just not ready for testing yet. > > make > ### does old version of pagc need to be removed? > sudo make install > > Then build the rest of the tools as normal? > > Is SQLite stable enough to try yet? > > Anyway, no worries on the new stuff. I thought I would give it a try and > see how far I could get. I'll see if I can hack configure.ac to work for > my version of BDB. > >> Have been hit with cold, >> then flu, so I'm not concentrating well right now. Thanks,<= walter => > > My sympathies. I had some 24hr bug and basically sleep all day on the > sofa. Hope you feel better quickly. > > -Steve > >>> Hi Walter, >>> >>> OK, when the zipcode is left off, I get item (10) that is geocoded. So >>> this is consistent with my geocode_response. On when I run your test >>> program with the zipcode it does not find that record. >>> >>> So, this is not the same result that you get? >>> >>> I'm not sure how to proceed with this. Thoughts? >>> >>> -Steve >>> >>> On 1/9/2011 12:48 AM, whi...@de... wrote: >>>> Hi Steve : every one of them except one will have that geocode -- it >>>> just >>>> means that the target house address does not fit in the interval. There >>>> should be one on your candidate list (somewhere in the middle) that has >>>> the right coordinates. Thanks,<= walter => >>>> >>>>> Walter, >>>>> >>>>> Is it normal for your test program to always return the geocoded >>>>> location as (-181.000000,-181.000000)? >>>>> >>>>> woodbri@mappy:/u/data/tgr2009-test/streets$ ../testit >>>>> Log name is test_log >>>>> Reference is >>>>> (0) (<SiteAddress><CompleteAddressNumber>1</CompleteAddressNumber> >>>>> <CompleteStreetName><StreetName>Rote Hill</StreetName> >>>>> <PostType>Rd</PostType></CompleteStreetName> >>>>> <PlaceName>SHEFFIELD</PlaceName> >>>>> <PlaceName_USPS>Sheffield</PlaceName_USPS> >>>>> <StateName>MASSACHUSETTS</StateName> >>>>> <ZipCode>01257</ZipCode></SiteAddress>) (1.000000) >>>>> (-181.000000,-181.000000) >>>>> woodbri@mappy:/u/data/tgr2009-test/streets$ >>>>> >>>>> Like wise if I remove the zipcode, I get back 22 responses and all have >>>>> the same (-181.000000,-181.000000) location. >>>>> >>>>> -Steve >>>>> >>>>> >>>>> On 1/8/2011 12:28 AM, Stephen Woodbridge wrote: >>>>>> Hi Walter, >>>>>> >>>>>> Running the geocode_response in gdb and looking at the output of your >>>>>> test script I notice that the macro I use to combine that parseaddress >>>>>> fields is a little different. Below is the gc_req_p object that I >>>>>> create. Notice that I have "," instead of spaces " " in: >>>>>> >>>>>> complete_feature_address = "1,rote hill rd", '\0'<repeats 4081 times>, >>>>>> place_state_zip = "sheffield,MA,01257", '\0'<repeats 4077 times>, >>>>>> >>>>>> Too bleary eyed to continue tonight. I can change this and try it >>>>>> again, >>>>>> but I dont think this is the issue because I can reproduce this >>>>>> behavior >>>>>> using just the landmarks branch, so it is something broken in >>>>>> geocode_response. But after 2.5 hours of stepping through code in the >>>>>> debugger, I don't have a clue what to look for. >>>>>> >>>>>> -Steve >>>>>> >>>>>> (gdb) p *gc_req_p >>>>>> $2 = {context_idx = 1, match_schema_idx = {0}, landmark_schema_idx = >>>>>> {0}, >>>>>> interpolate_schema_idx = 1, collect_all_points = 0, >>>>>> client_max_responses = 30, num_cgi_entries = 5, numb_cands = 0, >>>>>> cand_list = 0xa87610, cand_list_cutoff = 0, >>>>>> client_format_requested >>>>>> = 2, >>>>>> base_geocode_method = 0, base_geocode_strategy = 1, >>>>>> site_strategy_switch = 1, client_interpolation_offset = 10, >>>>>> client_intersection_cutoff_radius = 30, pagc_handle = 0x608010, >>>>>> mini_hash_table = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, >>>>>> 0x0, >>>>>> 0x7fb1f1c5aa00, 0x0, 0x0, 0x7fb1f1c5a3e8, 0x0<repeats 13 >>>>>> times>, >>>>>> 0x7fb1f1c5a5f0, 0x0<repeats 18 times>, 0x7fb1f1c5a7f8}, >>>>>> cgi_entry_buf = {{ >>>>>> name = "methodName", '\0'<repeats 245 times>, >>>>>> value = "GeocodeRequest", '\0'<repeats 241 times>, next = >>>>>> 0x0}, >>>>>> { >>>>>> name = "Version", '\0'<repeats 248 times>, >>>>>> value = "1.1", '\0'<repeats 252 times>, next = 0x0}, { >>>>>> name = "InterpolationOffset", '\0'<repeats 236 times>, >>>>>> value = "10.0", '\0'<repeats 251 times>, next = 0x0}, { >>>>>> name = "UnParsedAddress", '\0'<repeats 240 times>, >>>>>> value = "1 rote hill rd sheffield ma 01257", '\0'<repeats 222 >>>>>> times>, >>>>>> next = 0x7fb1f1c5a1e0}, { >>>>>> name = "ResponseFormat", '\0'<repeats 241 times>, >>>>>> value = "XML", '\0'<repeats 252 times>, next = 0x0}, { >>>>>> name = '\0'<repeats 255 times>, value = '\0'<repeats 255 >>>>>> times>, >>>>>> next = 0x0}<repeats 95 times>}, >>>>>> country_code = "US\000\000\000\000\000", >>>>>> geocode_buf = '\0'<repeats 65135 times>, >>>>>> fault_buf = '\0'<repeats 4095 times>, >>>>>> interface_version = "1.1\000\000\000\000\000", >>>>>> complete_feature_address = "1,rote hill rd", '\0'<repeats 4081 >>>>>> times>, >>>>>> complete_feature_address_B = '\0'<repeats 4095 times>, >>>>>> county_name = '\0'<repeats 255 times>, >>>>>> place_state_zip = "sheffield,MA,01257", '\0'<repeats 4077 times>, >>>>>> client_request_id = '\0'<repeats 255 times>, >>>>>> requested_address = "<UnParsedAddress>1 rote hill rd sheffield ma >>>>>> 01257</UnParsedAddress>\n<CompleteAddressNumber>1</CompleteAddressNumber>\n<CompleteStreetName>rote >>>>>> hill rd</CompleteStreetName>\n<PlaceName>sheffield</PlaceN"..., >>>>>> header_str = '\0'<repeats 4095 times>} >>>>>> >>>>>> >>>>>> On 1/4/2011 4:46 AM, whi...@de... wrote: >>>>>>> Hi Steve : >>>>>>> No, I didn't notice your shell script -- thanks -- I'll try it out. >>>>>>> I'm >>>>>>> working on my cache right now -- it seems to be working for the >>>>>>> approx >>>>>>> 5000 record landmark file. I need to try it on really large file so I >>>>>>> know >>>>>>> it's evicting the right victims. The sqlite also appears to be >>>>>>> working >>>>>>> and >>>>>>> is faster than I expected, after you dispense with all the journaling >>>>>>> and >>>>>>> other rigamarole. Again, I need to try it on a larger dataset. >>>>>>> I have a command line program that takes no commands from the >>>>>>> command >>>>>>> line (see below) which I use to cycle through the library interfaces >>>>>>> in >>>>>>> basically the same order as the geocoding service. I wrote it to test >>>>>>> one >>>>>>> address, hardwired into the code -- I just change the address and the >>>>>>> relevant variables (coverage name, strategy etc) and recompile. For >>>>>>> interpolation candidates it scores and includes blockranges into >>>>>>> which >>>>>>> the target number doesn't fit -- just geocodes with -181, 181 >>>>>>> coordinates >>>>>>> to indicate failure. So the match I got was : >>>>>>> >>>>>>> (10) (<SiteAddress><CompleteAddressNumber>1</CompleteAddressNumber> >>>>>>> <CompleteStreetName><StreetName>Rote Hill</StreetName> >>>>>>> <PostType>Rd</PostType></CompleteStreetName> >>>>>>> <PlaceName>SHEFFIELD</PlaceName> >>>>>>> <PlaceName_USPS>Sheffield</PlaceName_USPS> >>>>>>> <StateName>MASSACHUSETTS</StateName> >>>>>>> <ZipCode>01257</ZipCode></SiteAddress>) (0.809667) >>>>>>> (-73.326481,42.098817) >>>>>>> >>>>>>> I'm not including parity and id fields etc in this stripped down >>>>>>> tester, >>>>>>> nor dealing with the more complicated merged lists of candidates. >>>>>>> Code >>>>>>> for >>>>>>> tester follows. Thanks,<= walter => >>>>>>> >>>>>>> >>>>>>> #include<string.h> >>>>>>> #include<stdio.h> >>>>>>> #include "pagc_client.h" >>>>>>> #include "pagc_tools.h" >>>>>>> >>>>>>> #define FAILED_EXIT( MSG ) \ >>>>>>> printf( "%s\n" , MSG ) ; \ >>>>>>> fflush( stdout ) ; \ >>>>>>> pagc_close( pagc_p ) ; \ >>>>>>> return 0 >>>>>>> >>>>>>> >>>>>>> #define POST_BUF_SIZE 4096 >>>>>>> >>>>>>> static const char *log_name_string = "test_log" ; >>>>>>> static const char *hardwired_refname = "streets" ; >>>>>>> /*static const char *hardwired_refname = >>>>>>> "clipped_to_metro2_lat_point" >>>>>>> ;*/ >>>>>>> static int base_geocode_strategy = SITE_INTERPOLATE ; >>>>>>> static int start_schema_op = BOTH ; >>>>>>> static int client_format_requested = XML ; >>>>>>> >>>>>>> int main( int argc , char *argv[] ) { >>>>>>> int num_candidates , cand_sel , error_code , >>>>>>> is_parity_mismatch ; >>>>>>> int interpolation_hn , cur_context ; >>>>>>> int score_card ; >>>>>>> int client_max_responses = 30 ; >>>>>>> int retain_cands = FALSE ; >>>>>>> int collect_all_points = TRUE ; >>>>>>> int client_intersection_cutoff_radius = 20 ; >>>>>>> int client_interpolation_offset = 0 ; >>>>>>> double cur_score ; >>>>>>> PAGC_POINT match_point ; >>>>>>> char local_result_str[ POST_BUF_SIZE ] ; >>>>>>> char record_id_str[ POST_BUF_SIZE ] ; >>>>>>> char complete_feature_address[ POST_BUF_SIZE ] ; >>>>>>> char complete_feature_address_B[ POST_BUF_SIZE ] ; >>>>>>> char place_state_zip[ POST_BUF_SIZE ] ; >>>>>>> char landmark_name_buf[ MAXSTRLEN ] ; >>>>>>> char landmark_type_buf[ MAXSTRLEN ] ; >>>>>>> char landmark_county_buf[ MAXSTRLEN ] ; >>>>>>> char county_name[ POST_BUF_SIZE ] ; >>>>>>> char macro_buf[ MAXSTRLEN ] ; >>>>>>> char current_working[ PATHNAME_LEN ] ; >>>>>>> char ref_path[ PATHNAME_LEN ] ; >>>>>>> char log_path_name[ PATHNAME_LEN ] ; >>>>>>> char ref_name[ PATHNAME_LEN ] ; >>>>>>> char path_sep ; >>>>>>> >>>>>>> current_working[ 0 ] = SENTINEL ; >>>>>>> ref_path[ 0 ] = SENTINEL ; >>>>>>> log_path_name[ 0 ] = SENTINEL ; >>>>>>> ref_name[ 0 ] = SENTINEL ; >>>>>>> if ( !establish_directory( current_working ,&path_sep ) ) { >>>>>>> printf( "Could not establish current working directory" ) ; >>>>>>> return 0 ; >>>>>>> } >>>>>>> parse_file_name( hardwired_refname , path_sep , ref_name , ref_path >>>>>>> ) >>>>>>> ; >>>>>>> combine_path_file( path_sep , ref_path , (char *) log_name_string , >>>>>>> log_path_name ) ; >>>>>>> printf( "Log name is %s\n" , log_path_name ) ; >>>>>>> printf( "Reference is %s\n" , ref_path ) ; >>>>>>> >>>>>>> PAGC_HANDLE pagc_p = pagc_init( TRUE , ref_path , log_path_name ) ; >>>>>>> if ( pagc_p == NULL ) { >>>>>>> FAILED_EXIT( "No pagc library found" ) ; >>>>>>> } >>>>>>> int schema_idx = pagc_add_schema( pagc_p , hardwired_refname , 0 , >>>>>>> TRUE ) ; >>>>>>> if ( schema_idx == 0 ) { >>>>>>> FAILED_EXIT( "Schema did not open" ) ; >>>>>>> } >>>>>>> int context_idx = pagc_add_context( pagc_p , schema_idx , >>>>>>> start_schema_op >>>>>>> , TRUE , NULL ) ; >>>>>>> if ( context_idx == 0 ) { >>>>>>> FAILED_EXIT( "Context did not open" ) ; >>>>>>> } >>>>>>> >>>>>>> /* hardwired address assignments */ >>>>>>> >>>>>>> strcpy( complete_feature_address , "1 rote hill rd" ) ; >>>>>>> strcpy( place_state_zip , "sheffield ma 01257" ) ; >>>>>>> BLANK_STRING( complete_feature_address_B ) ; >>>>>>> BLANK_STRING( county_name ) ; >>>>>>> /* BLANK_STRING( place_state_zip ) ; */ >>>>>>> retain_cands = FALSE ; >>>>>>> client_max_responses = 20 ; >>>>>>> /*--------------------------------*/ >>>>>>> >>>>>>> if ( !pagc_reset_context_schema( pagc_p , schema_idx , context_idx ) >>>>>>> ) >>>>>>> { >>>>>>> } >>>>>>> switch ( base_geocode_strategy ) { >>>>>>> case LANDMARK_NAME : >>>>>>> error_code = pagc_match_landmark_item( pagc_p , context_idx , >>>>>>> complete_feature_address , complete_feature_address_B , county_name , >>>>>>> place_state_zip , client_max_responses , retain_cands ) ; >>>>>>> if ( error_code == FAIL || error_code == ERR_FAIL ) { >>>>>>> FAILED_EXIT( "Match failed" ) ; >>>>>>> } >>>>>>> if ( error_code == NULL_READ ) { >>>>>>> FAILED_EXIT( "Match failed: NULL" ) ; >>>>>>> } >>>>>>> break ; >>>>>>> case SITE_MATCH : >>>>>>> case SITE_INTERPOLATE : >>>>>>> error_code = pagc_match_item( pagc_p , context_idx , >>>>>>> complete_feature_address , NULL , place_state_zip , NULL , >>>>>>> client_max_responses , retain_cands ) ; >>>>>>> if ( error_code == FAIL || error_code == ERR_FAIL ) { >>>>>>> FAILED_EXIT( "Match failed" ) ; >>>>>>> } >>>>>>> if ( error_code == NULL_READ ) { >>>>>>> FAILED_EXIT( "Match failed: NULL" ) ; >>>>>>> } >>>>>>> break ; >>>>>>> case INTERSECTION : >>>>>>> /* -- set cutoff parameters before matching -- */ >>>>>>> if ( !pagc_set_intersection_cutoff( pagc_p , context_idx >>>>>>> ,collect_all_points , client_intersection_cutoff_radius ) ) { >>>>>>> FAILED_EXIT( "Match failed" ) ; >>>>>>> } >>>>>>> error_code = pagc_match_item( pagc_p , context_idx , >>>>>>> complete_feature_address , complete_feature_address_B , >>>>>>> place_state_zip , NULL , client_max_responses , FALSE ) ; >>>>>>> if ( error_code == FAIL || error_code == ERR_FAIL ) { >>>>>>> FAILED_EXIT( "Match failed" ) ; >>>>>>> } >>>>>>> if ( error_code == NULL_READ ) { >>>>>>> FAILED_EXIT( "Match failed: NULL" ) ; >>>>>>> } >>>>>>> break ; >>>>>>> } >>>>>>> if (!pagc_numb_cands( pagc_p , context_idx ,&num_candidates ) ) { >>>>>>> pagc_register_context_error( pagc_p , context_idx , TRUE , "No >>>>>>> candidate >>>>>>> numbers" ) ; >>>>>>> FAILED_EXIT( "Exit: no candidate numbers" ) ; >>>>>>> } >>>>>>> if ( num_candidates<= 0 ) { >>>>>>> pagc_register_context_error( pagc_p , context_idx , TRUE , "No >>>>>>> candidates" ) ; >>>>>>> FAILED_EXIT( "Exit: no candidates found" ) ; >>>>>>> } >>>>>>> for ( cand_sel = 0 ; cand_sel< num_candidates ; cand_sel ++ ) { >>>>>>> *local_result_str = SENTINEL ; >>>>>>> switch ( base_geocode_strategy ) { >>>>>>> case LANDMARK_NAME : >>>>>>> error_code = pagc_geocode_landmark_candidate( pagc_p , >>>>>>> context_idx >>>>>>> , >>>>>>> cand_sel ,&match_point ) ; >>>>>>> if ( error_code == FAIL ) { >>>>>>> pagc_register_context_error( pagc_p , context_idx , TRUE , "No >>>>>>> geocoding of candidate" ) ; >>>>>>> FAILED_EXIT( "Exit: no geocode" ) ; >>>>>>> } >>>>>>> break ; >>>>>>> case SITE_INTERPOLATE : >>>>>>> case SITE_MATCH : >>>>>>> /* -- get the coords in match_point and house number in >>>>>>> interpolation_hn --*/ >>>>>>> error_code = pagc_geocode_address_candidate( pagc_p , context_idx >>>>>>> , >>>>>>> cand_sel ,&match_point ,&interpolation_hn , >>>>>>> client_interpolation_offset ) ; >>>>>>> if ( error_code == FAIL ) { >>>>>>> pagc_register_context_error( pagc_p , context_idx , TRUE , "No >>>>>>> geocoding of candidate" ) ; >>>>>>> FAILED_EXIT( "Exit: no geocode" ) ; >>>>>>> } >>>>>>> if ( !error_code ) { >>>>>>> /* -- non-geocodable address range -- */ >>>>>>> break ; >>>>>>> } >>>>>>> break ; >>>>>>> case INTERSECTION : >>>>>>> error_code = pagc_geocode_intersection_candidate( pagc_p , >>>>>>> context_idx >>>>>>> , cand_sel ,&match_point ) ; >>>>>>> if ( error_code == FAIL ) { >>>>>>> pagc_register_context_error( pagc_p , context_idx , TRUE , "No >>>>>>> geocoding of candidate" ) ; >>>>>>> FAILED_EXIT( "Exit: no geocode" ) ; >>>>>>> } >>>>>>> break ; >>>>>>> default : >>>>>>> FAILED_EXIT( "Exit: no strategy found" ) ; >>>>>>> } >>>>>>> /* -- copy adt into local_result_str --*/ >>>>>>> if ( !pagc_format_candidate( pagc_p , context_idx , cand_sel , >>>>>>> local_result_str , interpolation_hn , client_format_requested , >>>>>>> base_geocode_strategy ,&is_parity_mismatch , record_id_str ) ) { >>>>>>> pagc_register_context_error( pagc_p , context_idx , TRUE , "Can't >>>>>>> format candidate\n" ) ; >>>>>>> FAILED_EXIT( "Exit: no formatting" ) ; >>>>>>> } >>>>>>> if ( !pagc_get_normalized_score( pagc_p , context_idx , cand_sel , >>>>>>> base_geocode_strategy ,&cur_score ,&score_card ) ) { >>>>>>> pagc_register_context_error( pagc_p , context_idx , TRUE , "No >>>>>>> scoring >>>>>>> of candidate" ) ; >>>>>>> FAILED_EXIT( "Exit: no scoring" ) ; >>>>>>> } >>>>>>> /* output candidate result */ >>>>>>> printf( "(%d) (%s) (%lf) (%lf,%lf)\n" , cand_sel , local_result_str >>>>>>> , >>>>>>> cur_score , match_point . X , match_point . Y ) ; >>>>>>> } >>>>>>> pagc_close( pagc_p ) ; >>>>>>> return 0 ; >>>>>>> } >>>>>>> >>>>>>> >>>>>>> >>>>>>>> Walter, >>>>>>>> >>>>>>>> Thanks that is good to know and if the data looks ok then I can >>>>>>>> start >>>>>>>> loading all the Tiger data. >>>>>>>> >>>>>>>> Did you notice my testgc shell script? This is a handy way to test >>>>>>>> the >>>>>>>> geocode_response in a commandline You can even envoke it in gdb >>>>>>>> with: >>>>>>>> >>>>>>>> ./testgc >>>>>>>> 'methodName=GeocodeRequest&Version=1.1&InterpolationOffset=10.0&UnParsedAddress=1+rote+hill+rd+sheffield+ma+01257&ResponseFormat=XML' >>>>>>>> gdb >>>>>>>> >>>>>>>> notice that the last commandline argument is gdb. the script sets up >>>>>>>> the >>>>>>>> environment then starts geocode_response in gdb and puts you in the >>>>>>>> gdb >>>>>>>> commandline environment. But that might be be useful if you are >>>>>>>> using >>>>>>>> a >>>>>>>> GUI based development environment. >>>>>>>> >>>>>>>> Also, I am pretty sure that I tested this in geocode_response from >>>>>>>> the >>>>>>>> landmark branch passing in the parsed arguments and got the same >>>>>>>> results. I'll give this another try to confirm it. >>>>>>>> >>>>>>>> OK, so how did you test it using just the library? >>>>>>>> >>>>>>>> Thanks, >>>>>>>> -Steve >>>>>>>> >>>>>>>> On 1/3/2011 8:24 PM, whi...@de... wrote: >>>>>>>>> Hi Steve -- I built it with the new library (just library, no >>>>>>>>> geocode >>>>>>>>> service) and it works properly. So there's no problem with the >>>>>>>>> data. >>>>>>>>> So >>>>>>>>> it's somewhere in the service, either with the input itself, or >>>>>>>>> with >>>>>>>>> the >>>>>>>>> handling of the candidates. But I'm not yet in a position to test >>>>>>>>> the >>>>>>>>> geocode service. Thanks,<= walter => >>>>>>>>> >>>>>>>>>> Walter, >>>>>>>>>> >>>>>>>>>> Sorry for so many emails on this, I was trying to simplify the >>>>>>>>>> problem >>>>>>>>>> to make it easier to debug. So I have a shapefile with about 22 >>>>>>>>>> records >>>>>>>>>> the reproduces this problem. The tar file at >>>>>>>>>> http://imaptools.com:8080/dl/tgr2009-test.tbz >>>>>>>>>> has the files need to build. >>>>>>>>>> >>>>>>>>>> I'll leave it at this since this demonstrates the problem and 22 >>>>>>>>>> records >>>>>>>>>> is small enough I hope it will be easy to identify the problem. >>>>>>>>>> >>>>>>>>>> Thanks, >>>>>>>>>> -Steve >>>>>>>>>> >>>>>>>>>> Here is the failure that includes the zipcode: >>>>>>>>>> >>>>>>>>>> woodbri@mappy:/u/data/tgr2009-test$ ./testgc >>>>>>>>>> 'methodName=GeocodeRequest&Version=1.1&InterpolationOffset=10.0&UnParsedAddress=1+rote+hill+rd+sheffield+ma+01257&ResponseFormat=XML' >>>>>>>>>> Content-type: text/xml >>>>>>>>>> >>>>>>>>>> <?xml version="1.0" encoding="UTF-8" ?> >>>>>>>>>> <GeocodeService xmlns="http://www.metrogis.org/geocode" >>>>>>>>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >>>>>>>>>> xsi:schemaLocation="http://www.metrogis.org/geocode >>>>>>>>>> GeocodeService.xsd" >>>>>>>>>> xmlns:gml="http://www.opengis.net/gml"> >>>>>>>>>> <ResponseHeader /> >>>>>>>>>> <Response Version="1.1" RequestID=""> >>>>>>>>>> <GeocodeResponse><GeocodeResponseList >>>>>>>>>> numberOfGeocodedAddresses="0"> >>>>>>>>>> </GeocodeResponseList> >>>>>>>>>> </GeocodeResponse> >>>>>>>>>> <requestedAddress> >>>>>>>>>> <UnParsedAddress>1 rote hill rd sheffield ma >>>>>>>>>> 01257</UnParsedAddress> >>>>>>>>>> <CompleteAddressNumber>1</CompleteAddressNumber> >>>>>>>>>> <CompleteStreetName>rote hill rd</CompleteStreetName> >>>>>>>>>> <PlaceName>sheffield</PlaceName> >>>>>>>>>> <StateName>MA</StateName> >>>>>>>>>> <ZipCode>01257</ZipCode> >>>>>>>>>> <CountryCode>US</CountryCode></requestedAddress> >>>>>>>>>> </Response></GeocodeService> >>>>>>>>>> >>>>>>>>>> Here is the same address without the zipcode that works: >>>>>>>>>> >>>>>>>>>> woodbri@mappy:/u/data/tgr2009-test$ ./testgc >>>>>>>>>> 'methodName=GeocodeRequest&Version=1.1&InterpolationOffset=10.0&UnParsedAddress=1+rote+hill+rd+sheffield+ma&ResponseFormat=XML' >>>>>>>>>> Content-type: text/xml >>>>>>>>>> >>>>>>>>>> <?xml version="1.0" encoding="UTF-8" ?> >>>>>>>>>> <GeocodeService xmlns="http://www.metrogis.org/geocode" >>>>>>>>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >>>>>>>>>> xsi:schemaLocation="http://www.metrogis.org/geocode >>>>>>>>>> GeocodeService.xsd" >>>>>>>>>> xmlns:gml="http://www.opengis.net/gml"> >>>>>>>>>> <ResponseHeader /> >>>>>>>>>> <Response Version="1.1" RequestID=""> >>>>>>>>>> <GeocodeResponse><GeocodeResponseList >>>>>>>>>> numberOfGeocodedAddresses="1"> >>>>>>>>>> <GeocodedAddress> >>>>>>>>>> <Address> >>>>>>>>>> <SiteAddress><CompleteAddressNumber>1</CompleteAddressNumber> >>>>>>>>>> <CompleteStreetName><StreetName>Rote Hill</StreetName> >>>>>>>>>> <PostType>Rd</PostType></CompleteStreetName> >>>>>>>>>> <PlaceName>SHEFFIELD</PlaceName> >>>>>>>>>> <PlaceName_USPS>Sheffield</PlaceName_USPS> >>>>>>>>>> <StateName>MASSACHUSETTS</StateName> >>>>>>>>>> <ZipCode>01257</ZipCode></SiteAddress></Address> >>>>>>>>>> <gml:Point><gml:pos>-73.326481 42.098817</gml:pos></gml:Point> >>>>>>>>>> <GeocodeMatchCode accuracy="0.915095" matchType="INTERPOLATED" >>>>>>>>>> note="P"/> >>>>>>>>>> <source><dataSource>Streets</dataSource><addressIdentifier>3963810</addressIdentifier></source></GeocodedAddress> >>>>>>>>>> </GeocodeResponseList> >>>>>>>>>> </GeocodeResponse> >>>>>>>>>> <requestedAddress> >>>>>>>>>> <UnParsedAddress>1 rote hill rd sheffield ma</UnParsedAddress> >>>>>>>>>> <CompleteAddressNumber>1</CompleteAddressNumber> >>>>>>>>>> <CompleteStreetName>rote hill rd</CompleteStreetName> >>>>>>>>>> <PlaceName>sheffield</PlaceName> >>>>>>>>>> <StateName>MA</StateName> >>>>>>>>>> <CountryCode>US</CountryCode></requestedAddress> >>>>>>>>>> </Response></GeocodeService> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On 12/31/2010 5:54 PM, Stephen Woodbridge wrote: >>>>>>>>>>> Arggh, ignore this. The three record version appears to be >>>>>>>>>>> working, >>>>>>>>>>> I >>>>>>>>>>> need to rebuild the file with more records and post it again, >>>>>>>>>>> after >>>>>>>>>>> I >>>>>>>>>>> get back from some New Years partying :) >>>>>>>>>>> >>>>>>>>>>> Enjoy and be safe, >>>>>>>>>>> -Steve >>>>>>>>>>> >>>>>>>>>>> On 12/31/2010 12:24 PM, Stephen Woodbridge wrote: >>>>>>>>>>>> Hi Walter, >>>>>>>>>>>> >>>>>>>>>>>> I did some more testing and was able to get this problem down to >>>>>>>>>>>> 3 >>>>>>>>>>>> records: >>>>>>>>>>>> >>>>>>>>>>>> woodbri@mappy:/u/data/tgr2009-test/streets$ dbfdump Streets.dbf >>>>>>>>>>>> 3963810:1:11:FM99:{}:%2d:Rote >>>>>>>>>>>> Hill:::::Rd::L:SHEFFIELD:Sheffield:Berkshire:MA:US:01257 >>>>>>>>>>>> 3963810:2:12:FM99:{}:%2d:Rote >>>>>>>>>>>> Hill:::::Rd::R:SHEFFIELD:Sheffield:Berkshire:MA:US:01257 >>>>>>>>>>>> 3963816:768:924:FM999:{}:%3d:East:::::Rd::R:RICHMOND:Richmond:Berkshire:MA:US:01254 >>>>>>>>>>>> >>>>>>>>>>>> I updated the tar file referenced below to contain this >>>>>>>>>>>> shapefile. >>>>>>>>>>>> >>>>>>>>>>>> Everything else is the same. Also the code I am running is from >>>>>>>>>>>> the >>>>>>>>>>>> pagc/branches/parseaddress/ branch which should be identical to >>>>>>>>>>>> the >>>>>>>>>>>> landmarks except for the parseaddress code I added. >>>>>>>>>>>> >>>>>>>>>>>> woodbri@mappy:/u/data/tgr2009-test/streets$ pagc_dump -rStreets >>>>>>>>>>>> -b >>>>>>>>>>>> 0 : |1,11,,,,,,,ROTE HILL,Rote >>>>>>>>>>>> Hill,ROAD,Rd,,,SHEFFIELD,SHEFFIELD,SHEFFIELD,Sheffield,MASSACHUSETTS,,01257,3963810,| >>>>>>>>>>>> 1 : |2,12,,,,,,,ROTE HILL,Rote >>>>>>>>>>>> Hill,ROAD,Rd,,,SHEFFIELD,SHEFFIELD,SHEFFIELD,Sheffield,MASSACHUSETTS,,01257,3963810,| >>>>>>>>>>>> 2 : >>>>>>>>>>>> |768,924,,,,,,,EAST,East,ROAD,Rd,,,RICHMOND,RICHMOND,RICHMOND,Richmond,MASSACHUSETTS,,01254,3963816,| >>>>>>>>>>>> >>>>>>>>>>>> OK >>>>>>>>>>>> woodbri@mappy:/u/data/tgr2009-test/streets$ pagc_dump -rStreets >>>>>>>>>>>> -i0 >>>>>>>>>>>> EAST,ROAD : 2 >>>>>>>>>>>> EAST,ROAD,01254 : 2 >>>>>>>>>>>> ROTE HILL,ROAD : 0 >>>>>>>>>>>> ROTE HILL,ROAD : 1 >>>>>>>>>>>> ROTE HILL,ROAD,01257 : 0 >>>>>>>>>>>> ROTE HILL,ROAD,01257 : 1 >>>>>>>>>>>> >>>>>>>>>>>> OK >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> -Steve >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> On 12/31/2010 10:46 AM, Stephen Woodbridge wrote: >>>>>>>>>>>>> Hi Walter, >>>>>>>>>>>>> >>>>>>>>>>>>> I have narrowed the problem down to loading a shapefile with 13 >>>>>>>>>>>>> records >>>>>>>>>>>>> as follows: >>>>>>>>>>>>> >>>>>>>>>>>>> woodbri@mappy:/u/data/tgr2009-test$ dbfdump streets/Streets >>>>>>>>>>>>> 3963802:1:73:FM99:{}:%2d:Railroad:::::St::L:GREAT >>>>>>>>>>>>> BARRINGTON:Great >>>>>>>>>>>>> Barrington:Berkshire:MA:US:01230 >>>>>>>>>>>>> 3963802:2:72:FM99:{}:%2d:Railroad:::::St::R:GREAT >>>>>>>>>>>>> BARRINGTON:Great >>>>>>>>>>>>> Barrington:Berkshire:MA:US:01230 >>>>>>>>>>>>> 3963803:75:99:FM99:{}:%2d:Railroad:::::St::L:GREAT >>>>>>>>>>>>> BARRINGTON:Great >>>>>>>>>>>>> Barrington:Berkshire:MA:US:01230 >>>>>>>>>>>>> 3963803:74:98:FM99:{}:%2d:Railroad:::::St::R:GREAT >>>>>>>>>>>>> BARRINGTON:Great >>>>>>>>>>>>> Barrington:Berkshire:MA:US:01230 >>>>>>>>>>>>> 3963808:89:97:FM99:{}:%2d:Shore:::::Rd::L:RICHMOND:Richmond:Berkshire:MA:US:01254 >>>>>>>>>>>>> 3963808:100:108:FM999:{}:%3d:Shore:::::Rd::R:RICHMOND:Richmond:Berkshire:MA:US:01254 >>>>>>>>>>>>> 3963809:99:143:FM999:{}:%3d:Shore:::::Rd::L:RICHMOND:Richmond:Berkshire:MA:US:01254 >>>>>>>>>>>>> 3963809:110:150:FM999:{}:%3d:Shore:::::Rd::R:RICHMOND:Richmond:Berkshire:MA:US:01254 >>>>>>>>>>>>> 3963810:1:11:FM99:{}:%2d:Rote >>>>>>>>>>>>> Hill:::::Rd::L:SHEFFIELD:Sheffield:Berkshire:MA:US:01257 >>>>>>>>>>>>> 3963810:2:12:FM99:{}:%2d:Rote >>>>>>>>>>>>> Hill:::::Rd::R:SHEFFIELD:Sheffield:Berkshire:MA:US:01257 >>>>>>>>>>>>> 3963816:768:924:FM999:{}:%3d:East:::::Rd::R:RICHMOND:Richmond:Berkshire:MA:US:01254 >>>>>>>>>>>>> 3963817:1066:1134:FM9999:{}:%4d:East:::::Rd::R:RICHMOND:Richmond:Berkshire:MA:US:01254 >>>>>>>>>>>>> 3963817:926:1064:FM9999:{}:%4d:East:::::Rd::R:RICHMOND:Richmond:Berkshire:MA:US:01254 >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> woodbri@mappy:/u/data/tgr2009-test$ pagc_build_schema -r >>>>>>>>>>>>> /u/data/tgr2009-test/streets/Streets -s >>>>>>>>>>>>> /u/data/tgr2009-test/standard/tgr2pagc-single.dbf -p -l >>>>>>>>>>>>> 10 percent complete >>>>>>>>>>>>> 20 percent complete >>>>>>>>>>>>> 30 percent complete >>>>>>>>>>>>> 40 percent complete >>>>>>>>>>>>> 50 percent complete >>>>>>>>>>>>> 60 percent complete >>>>>>>>>>>>> 70 percent complete >>>>>>>>>>>>> 80 percent complete >>>>>>>>>>>>> 90 percent complete >>>>>>>>>>>>> 100 percent complete >>>>>>>>>>>>> 110 percent complete<<<< Whoa! >>>>>>>>>>>>> 120 percent complete<<<< Whoa! I have seen that before! >>>>>>>>>>>>> >>>>>>>>>>>>> OK >>>>>>>>>>>>> >>>>>>>>>>>>> You can download the data from: >>>>>>>>>>>>> http://imaptools.com:8080/dl/tgr2009-test.tbz >>>>>>>>>>>>> >>>>>>>>>>>>> tar xjf tgr2009-test.tbz >>>>>>>>>>>>> cd tgr2009-test >>>>>>>>>>>>> pagc_build_schema -r /u/data/tgr2009-test/streets/Streets -s >>>>>>>>>>>>> /u/data/tgr2009-test/standard/tgr2pagc-single.dbf -p -l >>>>>>>>>>>>> >>>>>>>>>>>>> # this fails >>>>>>>>>>>>> ./testgc >>>>>>>>>>>>> 'methodName=GeocodeRequest&Version=1.1&InterpolationOffset=10.0&UnParsedAddress=1+rote+hill+rd+sheffield+ma+01257&ResponseFormat=XML' >>>>>>>>>>>>> >>>>>>>>>>>>> # this works >>>>>>>>>>>>> ./testgc >>>>>>>>>>>>> 'methodName=GeocodeRequest&Version=1.1&InterpolationOffset=10.0&UnParsedAddress=1+rote+hill+rd+sheffield+ma&ResponseFormat=XML' >>>>>>>>>>>>> >>>>>>>>>>>>> Hopefully this will shead some light on the problem and make it >>>>>>>>>>>>> easier >>>>>>>>>>>>> to debug. >>>>>>>>>>>>> >>>>>>>>>>>>> Thanks, >>>>>>>>>>>>> -Steve >>>>>>>>>>>>> >>>>>>>>>>>>> ------------------------------------------------------------------------------ >>>>>>>>>>>>> Learn how Oracle Real Application Clusters (RAC) One Node >>>>>>>>>>>>> allows >>>>>>>>>>>>> customers >>>>>>>>>>>>> to consolidate database storage, standardize their database >>>>>>>>>>>>> environment, and, >>>>>>>>>>>>> should the need arise, upgrade to a full multi-node Oracle RAC >>>>>>>>>>>>> database >>>>>>>>>>>>> without downtime or disruption >>>>>>>>>>>>> http://p.sf.net/sfu/oracle-sfdevnl >>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>>> Pagc-devel mailing list >>>>>>>>>>>>> Pag...@li... >>>>>>>>>>>>> https://lists.sourceforge.net/lists/listinfo/pagc-devel >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> ------------------------------------------------------------------------------ >>>>>>>>>>>> Learn how Oracle Real Application Clusters (RAC) One Node allows >>>>>>>>>>>> customers >>>>>>>>>>>> to consolidate database storage, standardize their database >>>>>>>>>>>> environment, and, >>>>>>>>>>>> should the need arise, upgrade to a full multi-node Oracle RAC >>>>>>>>>>>> database >>>>>>>>>>>> without downtime or disruption >>>>>>>>>>>> http://p.sf.net/sfu/oracle-sfdevnl >>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>> Pagc-devel mailing list >>>>>>>>>>>> Pag...@li... >>>>>>>>>>>> https://lists.sourceforge.net/lists/listinfo/pagc-devel >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> ------------------------------------------------------------------------------ >>>>>>>>>>> Learn how Oracle Real Application Clusters (RAC) One Node allows >>>>>>>>>>> customers >>>>>>>>>>> to consolidate database storage, standardize their database >>>>>>>>>>> environment, >>>>>>>>>>> and, >>>>>>>>>>> should the need arise, upgrade to a full multi-node Oracle RAC >>>>>>>>>>> database >>>>>>>>>>> without downtime or disruption >>>>>>>>>>> http://p.sf.net/sfu/oracle-sfdevnl >>>>>>>>>>> _______________________________________________ >>>>>>>>>>> Pagc-devel mailing list >>>>>>>>>>> Pag...@li... >>>>>>>>>>> https://lists.sourceforge.net/lists/listinfo/pagc-devel >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> ------------------------------------------------------------------------------ >>>>>>>>>> Learn how Oracle Real Application Clusters (RAC) One Node allows >>>>>>>>>> customers >>>>>>>>>> to consolidate database storage, standardize their database >>>>>>>>>> environment, >>>>>>>>>> and, >>>>>>>>>> should the need arise, upgrade to a full multi-node Oracle RAC >>>>>>>>>> database >>>>>>>>>> without downtime or disruption >>>>>>>>>> http://p.sf.net/sfu/oracle-sfdevnl >>>>>>>>>> _______________________________________________ >>>>>>>>>> Pagc-devel mailing list >>>>>>>>>> Pag...@li... >>>>>>>>>> https://lists.sourceforge.net/lists/listinfo/pagc-devel >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> ------------------------------------------------------------------------------ >>>>>>>>> Learn how Oracle Real Application Clusters (RAC) One Node allows >>>>>>>>> customers >>>>>>>>> to consolidate database storage, standardize their database >>>>>>>>> environment, >>>>>>>>> and, >>>>>>>>> should the need arise, upgrade to a full multi-node Oracle RAC >>>>>>>>> database >>>>>>>>> without downtime or disruption >>>>>>>>> http://p.sf.net/sfu/oracle-sfdevnl >>>>>>>>> _______________________________________________ >>>>>>>>> Pagc-devel mailing list >>>>>>>>> Pag...@li... >>>>>>>>> https://lists.sourceforge.net/lists/listinfo/pagc-devel >>>>>>>> >>>>>>>> >>>>>>>> ------------------------------------------------------------------------------ >>>>>>>> Learn how Oracle Real Application Clusters (RAC) One Node allows >>>>>>>> customers >>>>>>>> to consolidate database storage, standardize their database >>>>>>>> environment, >>>>>>>> and, >>>>>>>> should the need arise, upgrade to a full multi-node Oracle RAC >>>>>>>> database >>>>>>>> without downtime or disruption >>>>>>>> http://p.sf.net/sfu/oracle-sfdevnl >>>>>>>> _______________________________________________ >>>>>>>> Pagc-devel mailing list >>>>>>>> Pag...@li... >>>>>>>> https://lists.sourceforge.net/lists/listinfo/pagc-devel >>>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> ------------------------------------------------------------------------------ >>>>>>> Learn how Oracle Real Application Clusters (RAC) One Node allows >>>>>>> customers >>>>>>> to consolidate database storage, standardize their database >>>>>>> environment, and, >>>>>>> should the need arise, upgrade to a full multi-node Oracle RAC >>>>>>> database >>>>>>> without downtime or disruption >>>>>>> http://p.sf.net/sfu/oracle-sfdevnl >>>>>>> _______________________________________________ >>>>>>> Pagc-devel mailing list >>>>>>> Pag...@li... >>>>>>> https://lists.sourceforge.net/lists/listinfo/pagc-devel >>>>>> >>>>>> >>>>>> ------------------------------------------------------------------------------ >>>>>> Gaining the trust of online customers is vital for the success of any >>>>>> company >>>>>> that requires sensitive data to be transmitted over the Web. Learn >>>>>> how >>>>>> to >>>>>> best implement a security strategy that keeps consumers' information >>>>>> secure >>>>>> and instills the confidence they need to proceed with transactions. >>>>>> http://p.sf.net/sfu/oracle-sfdevnl >>>>>> _______________________________________________ >>>>>> Pagc-devel mailing list >>>>>> Pag...@li... >>>>>> https://lists.sourceforge.net/lists/listinfo/pagc-devel >>>>> >>>>> >>>>> ------------------------------------------------------------------------------ >>>>> Gaining the trust of online customers is vital for the success of any >>>>> company >>>>> that requires sensitive data to be transmitted over the Web. Learn >>>>> how >>>>> to >>>>> best implement a security strategy that keeps consumers' information >>>>> secure >>>>> and instills the confidence they need to proceed with transactions. >>>>> http://p.sf.net/sfu/oracle-sfdevnl >>>>> _______________________________________________ >>>>> Pagc-devel mailing list >>>>> Pag...@li... >>>>> https://lists.sourceforge.net/lists/listinfo/pagc-devel >>>>> >>>> >>>> >>>> >>>> ------------------------------------------------------------------------------ >>>> Gaining the trust of online customers is vital for the success of any >>>> company >>>> that requires sensitive data to be transmitted over the Web. Learn how >>>> to >>>> best implement a security strategy that keeps consumers' information >>>> secure >>>> and instills the confidence they need to proceed with transactions. >>>> http://p.sf.net/sfu/oracle-sfdevnl >>>> _______________________________________________ >>>> Pagc-devel mailing list >>>> Pag...@li... >>>> https://lists.sourceforge.net/lists/listinfo/pagc-devel >>> >>> >>> ------------------------------------------------------------------------------ >>> Gaining the trust of online customers is vital for the success of any >>> company >>> that requires sensitive data to be transmitted over the Web. Learn how >>> to >>> best implement a security strategy that keeps consumers' information >>> secure >>> and instills the confidence they need to proceed with transactions. >>> http://p.sf.net/sfu/oracle-sfdevnl >>> _______________________________________________ >>> Pagc-devel mailing list >>> Pag...@li... >>> https://lists.sourceforge.net/lists/listinfo/pagc-devel >>> >> >> >> >> ------------------------------------------------------------------------------ >> Gaining the trust of online customers is vital for the success of any company >> that requires sensitive data to be transmitted over the Web. Learn how to >> best implement a security strategy that keeps consumers' information secure >> and instills the confidence they need to proceed with transactions. >> http://p.sf.net/sfu/oracle-sfdevnl >> _______________________________________________ >> Pagc-devel mailing list >> Pag...@li... >> https://lists.sourceforge.net/lists/listinfo/pagc-devel > > > ------------------------------------------------------------------------------ > Gaining the trust of online customers is vital for the success of any company > that requires sensitive data to be transmitted over the Web. Learn how to > best implement a security strategy that keeps consumers' information secure > and instills the confidence they need to proceed with transactions. > http://p.sf.net/sfu/oracle-sfdevnl > _______________________________________________ > Pagc-devel mailing list > Pag...@li... > https://lists.sourceforge.net/lists/listinfo/pagc-devel |