الاسم
Normalize_Address — تُعيد، بإعطائها عنوان شارع نصيًا، نوعًا مركبًا norm_addy تكون فيه لاحقة الطريق وبادئته ونوعه موحّدة، ويُقسَّم فيه الشارع واسم الشارع وغيرها إلى حقول منفصلة. تعمل هذه الدالة باستخدام بيانات البحث المرفقة مع tiger_geocoder فقط (دون الحاجة إلى بيانات تعداد tiger).
المختصر
norm_addy normalize_address(varchar in_address);
الوصف
تُعيد، بإعطائها عنوان شارع نصيًا، نوعًا مركبًا norm_addy تكون فيه لاحقة الطريق وبادئته ونوعه موحّدة، ويُقسَّم فيه الشارع واسم الشارع وغيرها إلى حقول منفصلة. هذه هي الخطوة الأولى في عملية الترميز الجغرافي لتحويل جميع العناوين إلى الصيغة البريدية الموحّدة. لا يلزم أي بيانات أخرى غير ما يأتي مرفقًا مع المُرمِّز الجغرافي.
تستخدم هذه الدالة فقط جداول البحث المختلفة الخاصة بالاتجاهات والولايات واللواحق والمحمّلة مسبقًا مع tiger_geocoder والموجودة في المخطط tiger، لذا لا تحتاج إلى تنزيل بيانات تعداد tiger أو أي بيانات إضافية أخرى لاستخدامها. قد تجد حاجة إلى إضافة مزيد من الاختصارات أو التسميات البديلة إلى جداول البحث المختلفة في المخطط tiger.
تستخدم جداول بحث ضابطة مختلفة موجودة في المخطط tiger لتوحيد صيغة العنوان المُدخل.
الحقول في كائن النوع norm_addy الذي تُعيده هذه الدالة بالترتيب التالي، حيث تشير () إلى حقل يتطلبه المُرمِّز الجغرافي، وتشير [] إلى حقل اختياري:
(address) [predirAbbrev] (streetName) [streetTypeAbbrev] [postdirAbbrev] [internal] [location] [stateAbbrev] [zip] [parsed] [zip4] [address_alphanumeric]
حُسّنت في: 2.4.0 يتضمن كائن norm_addy الحقلين الإضافيين zip4 وaddress_alphanumeric.
-
addressعدد صحيح: رقم المبنى في الشارع -
predirAbbrevمن النوع varchar: البادئة الاتجاهية للطريق مثل N وS وE وW وغيرها. يُتحكَّم فيها باستخدام الجدولdirection_lookup. -
streetNamevarchar -
streetTypeAbbrevمن النوع varchar، الصيغة المختصرة لنوع الشارع: مثل St وAve وCir. يُتحكَّم فيها باستخدام الجدولstreet_type_lookup. -
postdirAbbrevمن النوع varchar، اللاحقة الاتجاهية المختصرة للطريق N وS وE وW وغيرها. يُتحكَّم فيها باستخدام الجدولdirection_lookup. -
internalمن النوع varchar، العنوان الداخلي مثل رقم الشقة أو الجناح. -
locationمن النوع varchar، وهو عادةً مدينة أو مقاطعة إدارية. -
stateAbbrevمن النوع varchar، رمز الولاية الأمريكية المكوّن من حرفين، مثل MA وNY وMI. يُتحكَّم فيها بواسطة الجدولstate_lookup. -
zipمن النوع varchar، الرمز البريدي المكوّن من 5 أرقام، مثل 02109. -
parsedقيمة منطقية (boolean) - تشير إلى ما إذا كان العنوان قد تكوّن من عملية التوحيد. تضبط الدالة normalize_address هذه القيمة على true قبل إعادة العنوان. -
zip4آخر 4 أرقام من الرمز البريدي المكوّن من 9 أرقام. متاحة منذ: PostGIS 2.4.0. -
address_alphanumericرقم المبنى الكامل حتى لو احتوى على حروف مثل 17R. يكون تحليل هذا الحقل أفضل باستخدام الدالة Pagc_Normalize_Address. متاحة منذ: PostGIS 2.4.0.
أمثلة
إخراج حقول مختارة. استخدم Pprint_Addy إذا أردت مُخرجًا نصيًا منسّقًا.
SELECT address As orig, (g.na).streetname, (g.na).streettypeabbrev
FROM (SELECT address, normalize_address(address) As na
FROM addresses_to_geocode) As g;
orig | streetname | streettypeabbrev
-----------------------------------------------------+---------------+------------------
28 Capen Street, Medford, MA | Capen | St
124 Mount Auburn St, Cambridge, Massachusetts 02138 | Mount Auburn | St
950 Main Street, Worcester, MA 01610 | Main | St
529 Main Street, Boston MA, 02129 | Main | St
77 Massachusetts Avenue, Cambridge, MA 02139 | Massachusetts | Ave
25 Wizard of Oz, Walaford, KS 99912323 | Wizard of Oz |