ዝርዝር ሁኔታ:

OpenStreetMap ን በመጠቀም ብጁ የቅጥ ካርታዎችን እንዴት መፍጠር እንደሚቻል -7 ደረጃዎች (ከስዕሎች ጋር)
OpenStreetMap ን በመጠቀም ብጁ የቅጥ ካርታዎችን እንዴት መፍጠር እንደሚቻል -7 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: OpenStreetMap ን በመጠቀም ብጁ የቅጥ ካርታዎችን እንዴት መፍጠር እንደሚቻል -7 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: OpenStreetMap ን በመጠቀም ብጁ የቅጥ ካርታዎችን እንዴት መፍጠር እንደሚቻል -7 ደረጃዎች (ከስዕሎች ጋር)
ቪዲዮ: Zero to Hero ControlNet Tutorial: Stable Diffusion Web UI Extension | Complete Feature Guide 2024, ሀምሌ
Anonim
OpenStreetMap ን በመጠቀም ብጁ የቅጥ ካርታዎችን እንዴት መፍጠር እንደሚቻል
OpenStreetMap ን በመጠቀም ብጁ የቅጥ ካርታዎችን እንዴት መፍጠር እንደሚቻል

በዚህ አስተማሪ ውስጥ ፣ በእራስዎ ብጁ የተሰሩ የቅጥ ካርታዎችን የሚያመነጩበትን ሂደት እገልጻለሁ። ቅጥ ያጣ ካርታ ተጠቃሚው የትኛውን የውሂብ ንብርብሮች እንደሚታዩ የሚገልጽበት ፣ እንዲሁም እያንዳንዱ ሽፋን የሚታየውን ዘይቤ የሚገልጽበት ካርታ ነው። ካርታዎችን ለመቅረፅ ሶፍትዌር የሚጽፉበትን ሂደት በመጀመሪያ እገልጻለሁ ፣ ከዚያ ይህንን ተግባር ለማከናወን የጻፍኩትን የፓይዘን ሶፍትዌር ምሳሌ ይከተሉ።

የሚከተለው ቪዲዮ እኔ በግሌ የቅጥ ካርታዎችን እንዴት እንደምፈጥር ያጎላል ፣ ግን ለቅርብ ዝርዝሮች ማንበብዎን ይቀጥሉ። ማህበረሰቡ የሚፈጥረውን በማየቴ በጣም ተደስቻለሁ!

ከዚህ ፕሮጀክት በስተጀርባ የእኔ ተነሳሽነት ምንድነው?

በግልጽ ለመናገር ፣ ይህንን ፕሮጀክት የጀመርኩት ማድረግ አስደሳች ይሆናል ብዬ ስላሰብኩ ነው። ይህ ሀሳብ ላለፈው አንድ ዓመት በአእምሮዬ ውስጥ እየተንከባለለ ነበር ፣ እና በመጨረሻ እሱን ለማፍራት የሚያስፈልገውን ጊዜ ወስጄ ነበር። ከአንዳንድ መሠረታዊ ስክሪፕቶች ጋር አንድ ቀን ከሠራሁ በኋላ እጅግ በጣም ተስፋ ሰጭ ውጤቶችን ማፍለቅ ችያለሁ - በጣም ተስፋ ሰጭ ስለነበር ሌሎች በቀላሉ የራሳቸውን ፈጠራዎች እንዲፈጥሩ እስክሪፕቶቼን መደበኛ ማድረግ እንዳለብኝ አውቃለሁ።

ይህንን አስተማሪ ለመፃፍ ያለኝ ተነሳሽነት የራስዎን የቅጥ ካርታዎችን ከባዶ እንዴት እንደሚፈጥሩ ላይ በጣም አነስተኛ መረጃ በማግኘቴ ነው። የተማርኩትን ለማህበረሰቡ ለማካፈል ተስፋ አደርጋለሁ።

መርጃዎች/አገናኞች

  • OpenStreetMap
  • OpenStreetMap Legalese
  • Github ማከማቻ

አቅርቦቶች

  • የፓይዘን ስርጭት (አናኮንዳ እና ፓይዘን 3.6 ን እጠቀም ነበር)
  • PyQt5 (ለ GUI ጥገኞች)

ደረጃ 1 - ሂደቱን መግለፅ I - የ OSM ፋይልን ማውረድ

I ን ሂደት መግለፅ - የ OSM ፋይልን ማውረድ
I ን ሂደት መግለፅ - የ OSM ፋይልን ማውረድ

ይህንን ፕሮጀክት ለመጀመሪያ ጊዜ ስጀምር በጣም አንጸባራቂ ጥያቄ “የካርታ መረጃ ከየት ማግኘት እችላለሁ” የሚል ነበር። እርስዎ እንደሚጠብቁት በተፈጥሮ ፣ ወዲያውኑ ስለ Google ካርታዎች አሰብኩ። ጉልህ ምርምር ካደረግኩ በኋላ ፣ Google በእውነቱ ሰዎች በፈጠራ ስሜት ወይም በሌላ መልኩ በመረጃቸው እንዲጫወቱ እንደማይፈልግ ተገነዘብኩ። እንደ እውነቱ ከሆነ ፣ ከ Google ካርታዎች ድርን መቧጨር በግልጽ ይከለክላሉ።

እንደ እድል ሆኖ ፣ በ OpenStreetMap (OSM) ግኝቴ ላይ ተስፋ መቁረጥ ለአጭር ጊዜ ነበር። OSM በዓለም ዙሪያ አስተዋፅዖ የሚያደርጉ መረጃዎችን የሚያሳትፍ የትብብር ፕሮጀክት ነው። OSM በግልጽ በክፍት ምንጭ ሶፍትዌር ስም የውሂባቸውን ክፍት አጠቃቀም በግልፅ ይፈቅዳል። ስለዚህ ፣ የ OSM ድርጣቢያ መጎብኘት የካርታው የቅጥ ጉዞ የሚጀመርበት ነው።

ወደ OSM ድር ጣቢያ ከደረሱ በኋላ የካርታ ወደ ውጭ መላኪያ መሳሪያዎችን ለማሳየት “ወደ ውጭ ላክ” ትር ላይ ጠቅ ያድርጉ። አሁን ፣ የካርታ መረጃን ለመሰብሰብ ፍላጎት ያለዎትን ክልል ለማየት ያጉሉ። በማያ ገጽዎ ላይ ሳጥን የሚያመጣውን “በእጅ የተለየ አካባቢ ይምረጡ” የሚለውን አገናኝ ይምረጡ። ይህንን ሳጥን በፍላጎት ክልል ላይ ያድርጉት እና ያስቀምጡ። ከጠገቡ በኋላ የእርስዎን OSM የውሂብ ፋይል ለማውረድ “ወደ ውጭ ላክ” ቁልፍን ጠቅ ያድርጉ።

ማስታወሻ #1 ፦ የተመረጠው ክልልዎ በጣም ብዙ ውሂብ ከያዘ ፣ እርስዎ በጣም ብዙ አንጓዎችን የመረጡት ስህተት ያገኛሉ። ይህ በአንተ ላይ ከተከሰተ ፣ ትልቁ ፋይልዎን ለማውረድ “Overpass API” የሚለውን ቁልፍ ጠቅ ያድርጉ።

ማስታወሻ #2 - የወረደው የ OSM ፋይልዎ ከ 30 ሜባ በላይ ከሆነ ፣ የጻፍኩት የ Python ፕሮግራም በሚታይ ፍጥነት ይቀንሳል። አንድ ትልቅ ክልል ለመጠቀም ከወሰኑ ፣ ለመሳል ያላሰቡትን እጅግ በጣም ብዙ ውሂብ ለመጣል ስክሪፕት መጻፍ ያስቡበት።

ደረጃ 2 - ሂደቱን መግለፅ - መረጃውን መረዳት

ሂደቱን II መግለፅ - መረጃውን መረዳት
ሂደቱን II መግለፅ - መረጃውን መረዳት
ሂደቱን II መግለፅ - መረጃውን መረዳት
ሂደቱን II መግለፅ - መረጃውን መረዳት
ሂደቱን II መግለፅ - መረጃውን መረዳት
ሂደቱን II መግለፅ - መረጃውን መረዳት
ሂደቱን II መግለፅ - መረጃውን መረዳት
ሂደቱን II መግለፅ - መረጃውን መረዳት

“ውሂቡ አለኝ… አሁን ምን?”

የወረደውን የ OSM ፋይልዎን ወደ እርስዎ ተወዳጅ የጽሑፍ አርትዖት ሶፍትዌር በመክፈት ይጀምሩ። በመጀመሪያ ይህ የኤክስኤምኤል ፋይል መሆኑን ያስተውላሉ ፣ በጣም ጥሩ ነው! ኤክስኤምኤል ለመተንተን በቂ ነው። የፋይልዎ መጀመሪያ ከዚህ ደረጃ የመጀመሪያ ስዕል ጋር ተመሳሳይ መሆን አለበት - አንዳንድ መሠረታዊ ሜታዳታ እና ጂኦግራፊያዊ ወሰኖች ይዘረዘራሉ።

ፋይሉን ሲያሸብልሉ ፣ በጠቅላላው ጥቅም ላይ የዋሉትን ሦስት የውሂብ አካላት ያስተውላሉ-

  1. አንጓዎች
  2. መንገዶች
  3. ግንኙነቶች

በጣም መሠረታዊው የውሂብ አካል ፣ መስቀለኛ መንገድ ከእሱ ጋር የተቆራኘ ልዩ መለያ ፣ ኬክሮስ እና ኬንትሮስ አለው። በእርግጥ ፣ ተጨማሪ ሜታዳታ አለ ፣ ግን እኛ በደህና መጣል እንችላለን።

መንገዶች የአንጓዎች ስብስቦች ናቸው። አንድ መንገድ እንደ የታሸገ ቅርፅ ወይም እንደ ክፍት መስመር ሊሰጥ ይችላል። መንገዶች በልዩ መለያቸው ተለይተው የታወቁ የአንጓዎችን ስብስብ ያካትታሉ። እነሱ የያዙትን የውሂብ ቡድን በሚገልጹ ቁልፎች መለያ ተሰጥቷቸዋል። ለምሳሌ ፣ ከላይ በሦስተኛው ምስል ላይ የሚታየው መንገድ የውሂብ ቡድን ‹ቦታ› እና ንዑስ ቡድኑ ‹ደሴት› ነው። በሌላ አነጋገር ፣ ይህ ልዩ መንገድ በ “ቦታ” ቡድን ስር የ “ደሴት” ንብርብር ነው። መንገዶችም ልዩ መለያዎች አሏቸው።

በመጨረሻም ግንኙነቶች የመንገዶች ስብስቦች ናቸው። ግንኙነት ከጉድጓዶች ጋር ወይም ከበርካታ ክልሎች ጋር የተወሳሰበ ቅርፅን ሊወክል ይችላል። ግንኙነቶች እንዲሁ ልዩ መለያ ይኖራቸዋል እና በተመሳሳይ መንገድ ላይ መለያ ይደረግባቸዋል።

ስለእነዚህ የመረጃ አካላት ከ OSM wiki የበለጠ ማንበብ ይችላሉ-

  • አንጓዎች
  • መንገዶች
  • ግንኙነቶች

ደረጃ 3 - የሂደቱን III መግለፅ - ውሂቡን መፍጨት

የሂደቱን III መግለፅ - ውሂቡን መፍጨት
የሂደቱን III መግለፅ - ውሂቡን መፍጨት

አሁን ቢያንስ የ OSM ፋይልን ስለሚፈጥሩ የውሂብ አካላት ቢያንስ ላዩን መረዳት አለብዎት። በዚህ ጊዜ ፣ የእርስዎን ምርጫ ቋንቋ በመጠቀም የ OSM ውሂቡን ለማንበብ ፍላጎት አለን። ይህ እርምጃ Python-centric ቢሆንም ፣ Python ን ለመጠቀም ካልፈለጉ ፣ ጥቂት ምክሮችን እና ዘዴዎችን ስለያዘ አሁንም ይህንን ክፍል ማንበብ አለብዎት።

የ xml ጥቅል በአብዛኛዎቹ መደበኛ የ Python ስርጭቶች በነባሪነት ተካትቷል። በመጀመሪያው ምስል ላይ እንደሚታየው የእኛን OSM ፋይል በቀላሉ ለመተንተን ይህንን ጥቅል እንጠቀማለን። ለሉፕ በአንድ ነጠላ ፣ ለእያንዳንዱ የተለየ የውሂብ አካል የ OSM ውሂብ አያያዝን ማስኬድ ይችላሉ።

በምስሉ የመጨረሻ መስመር ላይ ፣ ‹ድንበሮች› የሚለውን መለያ ምልክት እንዳደርግ ታስተውላለህ። በማያ ገጹ ላይ የኬክሮስ እና የኬንትሮስ እሴቶችን ወደ ፒክሰሎች ለመተርጎም ይህ እርምጃ በጣም አስፈላጊ ነው። የጅምላ ውሂቡ ሂደት ከፍተኛ ስለሆነ የ OSM ፋይልን በሚጭኑበት ጊዜ ይህንን ልወጣ እንዲያሄዱ በጣም እመክራለሁ።

ኬክሮስ እና ኬንትሮስን ወደ መጋጠሚያዎች መጋጠሚያዎች ስለመቀየር ስንናገር ፣ እኔ ወደጻፍኩት የስሌት ተግባር አገናኝ እዚህ አለ። ኬክሮስ ወደ ማያ መጋጠሚያዎች በመቀየር ትንሽ እንግዳ የሆነ ነገር ያስተውሉ ይሆናል። ከኬንትሮስ ጋር ሲወዳደር አንድ ተጨማሪ እርምጃ አለ! እንደ ተለወጠ ፣ የ OSM ውሂብ በሐሰተኛ-መርኬተር ትንበያ ዘዴ በመጠቀም የተቀረፀ ነው። እንደ እድል ሆኖ ፣ ኦኤስኤም እዚህ ስለዚህ ጉዳይ አስደናቂ ሰነዶች አሉት ፣ እና እነሱ ለብዙ ቋንቋዎች የኬክሮስ ቅየራ ተግባራትን ይሰጣሉ። ደስ የሚል!

ማሳሰቢያ-በእኔ ኮድ ውስጥ የማያ ገጽ ቅንጅት (0 ፣ 0) በማያ ገጹ የላይኛው ግራ ጥግ ላይ ነው።

ደረጃ 4 የፓይዘን ካርታ ስታይሊዘር ትግበራ

የ Python Map Stylizer ትግበራ
የ Python Map Stylizer ትግበራ
የ Python Map Stylizer ትግበራ
የ Python Map Stylizer ትግበራ
የ Python Map Stylizer ትግበራ
የ Python Map Stylizer ትግበራ

እስከዚህ ነጥብ ድረስ ፣ ስለ OSM የውሂብ ፋይል - ምን እንደ ሆነ ፣ እንዴት እንደሚያነቡት እና ከእሱ ጋር ምን ማድረግ እንዳለበት ተወያይቻለሁ። የስታቲስቲክ ካርታ ምስልን ለመቅረፍ የጻፍኩትን ሶፍትዌር አሁን እወያይበታለሁ (በመግቢያው ውስጥ የቀረበው GitHub repo)።

የእኔ ልዩ አተገባበር የሚያተኩረው በቧንቧ መስመር ላይ በተጠቃሚ ቁጥጥር ላይ ነው። በተለይ ፣ ተጠቃሚው እንዲታይላቸው የሚፈልጓቸውን ንብርብሮች እና ያ ንብርብር እንዴት እንዲታይ እንደሚፈልግ እንዲመርጥ እፈቅዳለሁ። ቀደም ብዬ በአጭሩ እንደገለጽኩት ፣ የቀረቡት ሁለት ክፍሎች ክፍሎች አሉ - እቃዎችን ይሙሉ እና የመስመር ዕቃዎች። መሙያዎች በቀለም ብቻ ይገለፃሉ ፣ መስመሮች በቀለም ፣ በመስመር ስፋት ፣ በመስመር ዘይቤ ፣ በመስመሪያ ካፕ ዘይቤ እና በመስመር መቀላቀል ዘይቤ ይገለፃሉ።

ተጠቃሚው በንብርብር ቅጦች እና ታይነት ላይ ማሻሻያዎችን ሲያደርግ ፣ ለውጦቹ በቀኝ በኩል በካርታው መግብር ውስጥ ይንጸባረቃሉ። አንዴ ተጠቃሚ የካርታውን ገጽታ ወደ እርካታቸው ካሻሻለ በኋላ ከፍተኛውን የካርታ ልኬት በማስተካከል ካርታውን በኮምፒውተሩ ላይ እንደ ምስል ማስቀመጥ ይችላል። ምስልን በማስቀመጥ የተጠቃሚ ውቅር ፋይል እንዲሁ ይቀመጣል። ይህ አንድ ተጠቃሚ በማንኛውም ጊዜ አንድን የተወሰነ ምስል ለማመንጨት የተጠቀመበትን ውቅረት ማስታወስ እና እንደገና መጠቀም እንደሚችል ያረጋግጣል።

ደረጃ 5 - የትግበራ መሰናክል + መፍትሄ

የትግበራ መሰናክል + መፍትሄ
የትግበራ መሰናክል + መፍትሄ
የትግበራ መሰናክል + መፍትሔ
የትግበራ መሰናክል + መፍትሔ

እኔ መጀመሪያ ካርታውን በእጅ ማስተካከል ስጀምር ፣ ይህ በጣም አድካሚ ሂደት መሆኑን ተረዳሁ። በተገኙት “ቁጥቋጦዎች” ብዛት ምክንያት ለተጠቃሚው ከፍተኛውን ቁጥጥር መስጠቱ በቀላሉ ሊደናቀፍ ይችላል። ሆኖም ግን ፣ ቀላል መፍትሄ አለ ፣ ይህም ትንሽ ተጨማሪ ስክሪፕት ያካትታል።

እኔ በተለይ የትኞቹን ንብርብሮች እንደሚፈልጉኝ በመለየት ጀመርኩ። ለዚህ አስተማሪ ዓላማ ፣ እኔ ሕንፃዎችን (ሁሉንም) ፣ ወንዞችን ፣ ዋና አውራ ጎዳናዎችን እና የወለል ጎዳናዎችን በጣም እወዳለሁ እንበል። እኔ የቅንብር ምሳሌን የምፈጥርበትን ፣ የ setItemState () ተግባርን እና የተገለጹ ቋሚዎች በመጠቀም የንብርብሮች ግዛቶችን በተገቢው ሁኔታ መቀያየር ፣ እና የእኔን ንብርብሮች setValue () ን በመጠቀም እንዴት እንደሚታይ ላይ በመመስረት ቀለሞችን ያዘጋጁ። የተቀመጠው የውጤት ፋይል ወደ ውቅሮች አቃፊ ሊገለበጥ እና በተጠቃሚው ሊጫን ይችላል።

ምሳሌ ስክሪፕት ከላይ ባለው ምስል ላይ ነው። ሁለተኛው ምስል የረዳቱ ተግባራት ምን እንደሚመስሉ ናሙና ነው ፣ እና በመሠረቱ ሁሉም ተመሳሳይ ስለሆኑ ፣ በተለዋዋጭ ቋሚዎች ብቻ ፣ እኔ የአንድ ምሳሌ ስዕል ብቻ አካትቻለሁ።

ደረጃ 6 - ለማሻሻል ቦታዎች

የማሻሻያ ቦታዎች
የማሻሻያ ቦታዎች

በሶፍትዌር ትግበራዬ ላይ ካሰላሰልኩ በኋላ ለኃይል ተጠቃሚዎች አጋዥ ማሻሻያ የሚሆኑ በርካታ ቦታዎችን ለይቻለሁ።

  1. ተለዋዋጭ ንብርብር ማቅረቢያ። በአሁኑ ጊዜ ፣ የሚቀርበው የንብርብሮች ቅድመ -ዝርዝር ዝርዝር አለኝ ፣ ያ ነው። የመጽደቁ አካል አንድ ንብርብር አንድ መስመር ወይም ሙላት መሆን አለመሆኑን ለመወሰን አስቸጋሪ ነበር። በውጤቱም ፣ በከፈቱት እያንዳንዱ የ OSM ፋይል ማለት ይቻላል ፣ ስለማይታዩ ንብርብሮች ብዙ ማስጠንቀቂያ ይሰጥዎታል። ብዙውን ጊዜ እነዚህ በጣም ትንሽ ናቸው ፣ ይህ ጉዳይ አይደለም ፣ ግን የጎደሉ ወሳኝ ንብርብሮች መኖራቸው አይቀርም። ተለዋዋጭ ንብርብር ማቅረቡ እነዚህን ስጋቶች ያስወግዳል።
  2. ተለዋዋጭ ንብርብር ምደባ። ይህ #1 ጋር እጅ ለእጅ ይሄዳል; ተለዋዋጭ ንብርብር ማቅረብ ከፈለጉ ፣ ተለዋዋጭ የንብርብር ምደባ ያስፈልግዎታል (ማለትም ፣ የመሙላት ንብርብርን እና የመስመር ንብርብርን መለየት)። እኔ እንደተረዳሁት ይህ በምክንያታዊነት ሊከናወን ይችላል ፣ ምክንያቱም የመጀመሪያ እና የመጨረሻ መስቀለኛ መንገዳቸው ተመሳሳይ የሆኑ መንገዶች ተዘግተው ስለሚሞሉ ይሞላሉ።
  3. የቀለም ቡድኖች። ቅጥ ያጣ ካርታ ብዙውን ጊዜ አንድ ዓይነት ዘይቤ ያላቸው በርካታ ንብርብሮች አሉት ፣ እና ተጠቃሚው የቡድን ዘይቤን በአንድ ጊዜ እንዲያስተካክል ማስቻል ተጠቃሚዎችን ንብርብሮችን አንድ በአንድ በማስተካከል ያሳለፈውን ጊዜ በእጅጉ ይቀንሳል።

ደረጃ 7 - ሀሳቦችን መዝጋት

የመዝጊያ ሀሳቦች
የመዝጊያ ሀሳቦች
የመዝጊያ ሀሳቦች
የመዝጊያ ሀሳቦች
የመዝጊያ ሀሳቦች
የመዝጊያ ሀሳቦች

በትምህርቴ በኩል ለማንበብ ጊዜ ስለወሰዱ ለሁሉም አመሰግናለሁ። ይህ ፕሮጀክት የብዙ ሰዓታት የምርምር ፣ የንድፍ ፣ የፕሮግራም እና የማረም መጨረሻን ይወክላል። የራስዎን ፕሮጀክት የሚገነቡበት ወይም ቀደም ሲል በጻፍኩት ላይ የሚገነቡበትን የማስነሻ ፓድ ማቅረብ እንደቻልኩ ተስፋ አደርጋለሁ። እኔ ደግሞ ድክመቶቼ እና ምክሮቼ በንድፍዎ ውስጥ ከግምት ውስጥ የሚገቡ ብዙ ነጥቦችን እንደሚሰጡ ተስፋ አደርጋለሁ። ለፕሮግራም የማዘንበል እና የጥበብ ሥራዎችን ለመፍጠር የበለጠ ዝንባሌ ካላችሁ በአስተያየቶቹ ውስጥ ምን እንዳደረጉ ማየት እወዳለሁ! አጋጣሚዎች ማለቂያ የሌላቸው ናቸው!

ለ OpenStreetMap አስተዋፅዖ አድራጊዎች ልዩ ምስጋና! እንደዚህ ያሉ ፕሮጀክቶች ያለ ጉልህ ጥረቶች ሊደረጉ አይችሉም።

በአስተያየቶቹ ውስጥ ማናቸውም ጥያቄዎች ካሉዎት እባክዎን ያሳውቁኝ!

የካርታዎች ፈተና
የካርታዎች ፈተና
የካርታዎች ፈተና
የካርታዎች ፈተና

በካርታዎች ውድድር ውስጥ ሯጭ

የሚመከር: