ஒரு டெவலப்பர், உலகில் உள்ள ஒவ்வொரு கடல் துறைமுகம் மற்றும் விமான நிலையத்தையும் பட்டியலிடும் ஒரு இலவச, தேடக்கூடிய குறியீட்டை (index) வெளியிட்டுள்ளார்—3,804 துறைமுகங்கள் மற்றும் 9,640 விமான நிலையங்கள்—இதற்குப் பதிவு செய்யவோ அல்லது பணம் செலுத்தவோ தேவையில்லை. theportindex.online என்ற இந்தத் தளம், பயனர்கள் தரவை உலாவவோ அல்லது முழுத் தரவுத்தொகுப்பை CSV அல்லது JSON வடிவத்தில் பதிவிறக்கம் செய்யவோ அனுமதிக்கிறது.

இந்த குறியீடு ஏன் தேவைப்பட்டது

உலகளாவிய கடல் துறைமுகங்களின் சுத்தமான, புதுப்பிக்கப்பட்ட பட்டியலைக் கண்டறிய படைப்பாளர் முயன்றபோது ஒரு தடையைச் சந்தித்தார்: பெரும்பாலான வணிக ரீதியான சேவைகள் கட்டணத் திரைக்குப் (paywalls) பின் உள்ளன, மேலும் பொதுவில் கிடைக்கும் பட்டியல்கள் பெரும்பாலும் பல ஆண்டுகள் பழமையானவை. முழுமையற்ற அல்லது காலாவதியான தரவைச் சார்ந்திருப்பது, ஆய்வாளர்கள் ஸ்பிரெட்ஷீட்களைச் சுத்தம் செய்ய பல மணிநேரங்களை வீணடிக்கச் செய்கிறது, இது தொழில்துறையில் பெரும் செலவை ஏற்படுத்துகிறது. மூன்று பொதுத் தரவு ஆதாரங்களை—அமெரிக்க அரசாங்கத்தின் துறைமுகக் குறியீடு, ஒரு சர்வதேச இருப்பிடக் குறியீடு தொகுப்பு மற்றும் ஒரு கூட்டாகச் சேகரிக்கப்பட்ட (crowdsourced) விமான நிலையத் தரவுத்தளம்—ஒன்றிணைப்பதன் மூலம், டெவலப்பர் எவரும் உடனடியாகப் பயன்படுத்தக்கூடிய ஒரு ஒருங்கிணைந்த குறிப்புத் தொகுப்பை உருவாக்கினார்.

பின்னணியில் உள்ள தரவு ஆதாரங்கள்

  • NGA World Port Index – அங்கீகரிக்கப்பட்ட ஒவ்வொரு கடல் துறைமுகத்திற்கும் அடிப்படை விவரங்களை வழங்கும் ஒரு அமெரிக்க அரசாங்கத் தொகுப்பு.
  • UN/LOCODE – ஐக்கிய நாடுகள் சபையின் இருப்பிடக் குறியீட்டு முறை, இது துறைமுகங்கள் மற்றும் விமான நிலையங்களுக்கான தரப்படுத்தப்பட்ட அடையாளங்களைச் சேர்க்கிறது.
  • OurAirports – ஓடுதள நீளம் மற்றும் ஆயத்தொலைவுகள் (coordinates) உட்பட விமான நிலையத் தகவல்களைக் கொண்ட, சமூகத்தால் பராமரிக்கப்படும் ஒரு தொகுப்பு.

ஒவ்வொரு ஆதாரமும் ஒரு முழுமையான பார்வையை வழங்கினாலும், அவை தனித்தனியாகப் பயன்படுத்தத் தயாராக இருக்கும் ஒரு தேடக்கூடிய பட்டியலை வழங்குவதில்லை. அவற்றை இணைப்பதற்கு வெறும் நகலெடுத்து ஒட்டுவது (copy-paste) மட்டும் போதாது; டெவலப்பர் முரண்பாடுகள், நகல் பதிவுகள் மற்றும் விடுபட்ட புலங்களை (fields) சரிசெய்ய வேண்டியிருந்தது.

தரவைச் சுத்தம் செய்தல்: கடினமாகப் பெற்ற மூன்று பாடங்கள்

  1. Embedded newlines break naïve parsers – மேற்கோள் குறிக்குள் (quoted fields) வரிப் பிரிவுகள் (line breaks) கொண்ட CSV கோப்புகளை, ஒரு சாதாரண “split on newline” கட்டளை மூலம் பிரிக்க முடியாது. வரிசைகளைச் சிதையாமல் வைத்திருக்க முறையான ஒரு CSV parser அவசியமாகும்.
  2. Outlier values hide mistakes – சில எண்ணெய் முனையங்கள் 900 மீட்டர் ஆழத்தைக் குறிப்பிட்டுள்ளன, இது துறைமுகங்களுக்கு அல்ல, மாறாக கப்பல் நங்கூரமிடும் மிதவைக்களுக்கு (mooring buoys) உரிய அளவு. ஆழத்தை அடிப்படையாகக் கொண்ட தரவரிசைகள் நம்பகத்தன்மையுடன் இருக்க, சாத்தியமற்ற எண்களை வடிகட்டுவது அவசியமாக இருந்தது.
  3. Zeros are often placeholders – பூஜ்ஜியமாகக் குறிப்பிடப்பட்ட ஆழம் என்பது பொதுவாக அந்த அளவீடு தெரியவில்லை என்பதைக் குறிக்கிறதே தவிர, நீர் தட்டையாக உள்ளது என்பதைக் குறிப்பதல்ல. பூஜ்ஜியத்தை விடுபட்ட தரவாகக் கருதுவது, ஆழத்தைச் சார்ந்த எந்தவொரு பகுப்பாய்வின் நம்பகத்தன்மையையும் பாதுகாக்கும்.

வெறும் எண்களுக்கு அப்பால் மதிப்பைக் கூட்டுதல்

இந்தத் தளம் வெறும் ஆயத்தொலைவுகளைப் பட்டியலிடுவதோடு நின்றுவிடுவதில்லை. துறைமுகங்களுக்குப் பொறுத்தவரை, இது ஆழத்தை, எந்த வகையான கப்பல்கள் பாதுகாப்பாகத் தங்குவதற்கு (dock) ஏற்றது என்பதைக் கண்டறியும் வகையில் மாற்றுகிறது, இது ஒரு அளவீட்டை நடைமுறை முடிவெடுக்கும் கருவியாக மாற்றுகிறது. விமான நிலையங்களுக்கு, ஓடுதள நீளம் அங்கு இயங்கக்கூடிய விமானங்களின் வகைகளுடன் இணைக்கப்பட்டுள்ளது, இது விமானிகள் மற்றும் திட்டமிடுபவர்களுக்குத் திறனைத் துரிதமாக மதிப்பிட உதவுகிறது.

ஒரு இடஞ்சார்ந்த கட்டமைப்பு (spatial grid) ஒவ்வொரு துறைமுகத்தையும் அதன் அருகிலுள்ள விமான நிலையங்களுடன் இணைக்கிறது, இது இந்தத் தளத்தை ஒரு ஆய்வுத் கருவியாக மாற்றுகிறது. உதாரணமாக, ஒரு குறிப்பிட்ட துறைமுகத்திற்கு அருகில் எந்தெந்த விமான நிலையங்கள் உள்ளன என்பதைப் பயனர்கள் கண்டறியலாம்—இது பல்துறை சரக்குத் திட்டமிடலுக்கு (multimodal freight planning) பயனுள்ளதாக இருக்கும்.

பெரிய அளவில் ஒரு static-site இயந்திரத்தை உருவாக்குதல்

முழுமையான முன்முனை (front end) Next.js மற்றும் static generation மூலம் இயங்குகிறது. உருவாக்கச் செயல்பாட்டின் (build process) போது, ஒவ்வொரு துறைமுகம் மற்றும் விமான நிலையத்திற்கும் சேர்த்து சுமார் 14,000 பக்கங்கள் முன்கூட்டியே உருவாக்கப்படுகின்றன (pre-rendered). இதில் தரவுத்தளம் அல்லது சர்வர் பக்க லாஜிக் (server-side logic) இல்லாததால், தளத்திற்குத் தொடர்ச்சியான கணினிச் செலவுகள் (compute costs) ஏற்படுவதில்லை; இது உலகெங்கிலும் உள்ள பக்கங்களை உடனடியாக வழங்கும் ஒரு உள்ளடக்க விநியோக வலையமைப்பில் (CDN) இயங்குகிறது.

SEO சிக்கல்கள் மற்றும் 'thin-content' தீர்வு

ஆயிரக்கணக்கான வார்ப்புருப் பக்கங்களை (templated pages) பதிவேற்றுவது தேடுபொறிகளில் எச்சரிக்கையை ஏற்படுத்தலாம், அவை தளத்தை "thin content" என்று கருதி தரவரிசையைக் குறைக்கலாம். AdSense விண்ணப்பம் நிராகரிக்கப்பட்டபோது டெவலப்பர் இந்தச் சிக்கலைச் சந்தித்தார். இதற்குத் தீர்வாக, பார்வையாளர்களுக்காக முழுமையான பக்கங்களை நேரலையில் வைத்திருந்தாலும், ஒவ்வொரு வகையிலும் உள்ள மிக உயர்தரமான முதல் 400 பக்கங்களைத் தவிர மற்ற அனைத்துப் பக்கங்களுக்கும் noindex அறிவுறுத்தலைச் சேர்த்தார். இது தேடுபொறிகளுக்கு மிகவும் மதிப்புமிக்க பக்கங்கள் மட்டுமே தேடல் முடிவுகளில் தோன்ற வேண்டும் என்று கூறுகிறது, இதன் மூலம் முழுத் தரவுத்தொகுப்பையும் வழங்கும் அதே வேளையில் நம்பகத்தன்மையையும் பாதுகாக்கிறது.

யாருக்குப் பயன், மற்றும் அதன் வரம்புகள் என்ன?

  • Logistics firms – பல PDF கோப்புகளைத் தேடாமல், ஒரு சரக்குக் கப்பல் துறைமுகத்தின் ஆழ வரம்பிற்குள் பொருந்துமா என்பதை விரைவாகச் சரிபார்க்க முடியும்.
  • Airline planners – ஓடுதளம் மற்றும் விமான வகை ஒப்பீடுகளை உடனடியாகப் பெற முடியும், இது வழித்தடச் சாத்தியக்கூறு ஆய்வுகளுக்கு (route feasibility studies) பயனுள்ளதாக இருக்கும்.
  • Developers and researchers – தனிப்பயனாக்கப்பட்ட கருவிகளில் இறக்குமதி செய்யக்கூடிய சுத்தமான, இயந்திரம் வாசிக்கக்கூடிய (machine-readable) தரவைப் பெறலாம்.

இந்தத் திட்டத்தின் அடுத்த கட்டம் என்ன?

கூடுதல் அம்சங்கள் குறித்த கருத்துக்களைப் பெற படைப்பாளர் சமூகத்திடம் கேட்டுள்ளார்.

முக்கியக் கருத்து

தரவுத் தூய்மைப்படுத்தும் சிக்கல்களைக் கையாளுதல், அனுமான அடுக்குகளைச் (inference layers) சேர்த்தல் மற்றும் நிலையான உருவாக்கத்தின் (static generation) மூலம் சர்வர் செலவுகளைத் தவிர்த்தல் ஆகியவற்றின் மூலம், ஒரு எளிமையான கட்டமைப்பு (lean architecture) உலகளாவிய ரீதியில் பயனுள்ள ஒரு கருவியை வழங்க முடியும் என்பதை இந்த டெவலப்பர் காட்டுகிறார்—நீங்கள் அவ்வப்போது வரும் புதுப்பிப்புகளை ஏற்றுக்கொள்வதற்கும், தேடுபொறி வழிகாட்டுதல்களைக் கண்காணிப்பதற்கும் தயாராக இருந்தால் மட்டுமே.