Skip to Main Content

Database Software

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

ORACLE GEOCODER problems

701981May 18 2009 — edited Oct 28 2010
Hi!

I'm new to oracle geocoding. I downloaded TeleAtlas sample data of San Marino and successfully imported it into Oracle database. I already succesfully geocoded and reverse geocoded some sample data, but when trying other functions like SDO_GCDR.GEOCODE_ALL or SDO_GCDR.GEOCODE_ADDR_ALL etc... I allways get the same error:

ERROR at line 1:
ORA-06502: PL/SQL: numeric or value error: character to number conversion error
ORA-06512: at "MDSYS.SDO_GCDR", line 554
ORA-06512: at "MDSYS.SDO_GCDR", line 625
ORA-06512: at "MDSYS.SDO_GCDR", line 754
ORA-06512: at line 1

This works: SELECT SDO_GCDR.GEOCODE('O10G_EUR0705', SDO_KEYWORDARRAY('CONTRADA', '47890'), 'SM', 'RELAX_BASE_NAME') FROM DUAL;
The result is:

SDO_GCDR.GEOCODE('O10G_EUR0705',SDO_KEYWORDARRAY('CONTRADA','47890'),'SM','RELAX
--------------------------------------------------------------------------------
SDO_GEO_ADDR(0, SDO_KEYWORDARRAY(), NULL, NULL, NULL, NULL, NULL, 'SAN MARINO',
NULL, 'SM', '47890', NULL, NULL, NULL, NULL, NULL, NULL, 'F', 'F', NULL, NULL, '
L', 0, 1,6740E+13, '??????????B281CP?', 4, 'RELAX_BASE_NAME', 12,4507268, 43,936
4842, NULL)

This also works: SELECT SDO_GCDR.REVERSE_GEOCODE('O10G_EUR0705',
2 SDO_GEOMETRY(2001, 8307,
3 SDO_POINT_TYPE(12.4507268, 43.9364842, NULL), NULL, NULL),
4 'SM') FROM DUAL;

The result is:

SDO_GCDR.REVERSE_GEOCODE('O10G_EUR0705',SDO_GEOMETRY(2001,8307,SDO_POINT_TYPE(12
--------------------------------------------------------------------------------
SDO_GEO_ADDR(0, SDO_KEYWORDARRAY(), NULL, 'STRADA SOTTOMONTANA', NULL, NULL, NUL
L, NULL, NULL, 'SM', '47890', NULL, '47890', NULL, NULL, NULL, NULL, 'F', 'F', N
ULL, NULL, 'L', ,999998505, 1,6740E+13, '', 1, 'DEFAULT', 12,4507268, 43,9364842
, NULL)


But when I try: SELECT SDO_GCDR.GEOCODE_ALL('O10G_EUR0705', SDO_KEYWORDARRAY('CONTRADA'), 'SM', 'DEFAULT') FROM DUAL; or
SELECT SDO_GCDR.GEOCODE_ALL('O10G_EUR0705', SDO_KEYWORDARRAY('PIAZZETTA MARINO MADIONI'), 'SM', 'DEFAULT') FROM DUAL; or
SELECT SDO_GCDR.GEOCODE_ADDR_ALL('O10G_EUR0705', create_addr_from_placename('CASA DEL CASTELLO DI FIORENTINO', 'SM'), 3) FRO
M DUAL;
I allways get the following error:

ERROR at line 1:
ORA-06502: PL/SQL: numeric or value error: character to number conversion error
ORA-06512: at "MDSYS.SDO_GCDR", line 554
ORA-06512: at "MDSYS.SDO_GCDR", line 625
ORA-06512: at "MDSYS.SDO_GCDR", line 769
ORA-06512: at line 1

I did create the function for creating addres from placename as described in example and the function was successfully created.

What am I doing wrong? Please help.
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Nov 25 2010
Added on May 18 2009
6 comments
1,986 views