דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. JS ביטוי רגולארי לפיצול כתובת לעמודות רחוב בית/דירה ועיר

JS ביטוי רגולארי לפיצול כתובת לעמודות רחוב בית/דירה ועיר

מתוזמן נעוץ נעול הועבר תכנות
12 פוסטים 4 כותבים 296 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • dovidD מנותק
    dovidD מנותק
    dovid ניהול
    השיב לחוקר ב נערך לאחרונה על ידי
    #2

    @חוקר יש לי תוכנית מסובכת לומר לך מה לעשות,
    ואז אני נזכר שאני אישית משתמש בAPI של גוגל כאני צריך כאלה דברים.

    זה ממש פשוט, והרבה יותר מדוייק
    https://maps.googleapis.com/maps/api/geocode/json?key=XXXXXX&language=he&result_type=street_address&address=הרצל 17

    התוצאה נראית ככה:

    {
       "results" : [
          {
             "address_components" : [
                {
                   "long_name" : "17",
                   "short_name" : "17",
                   "types" : [ "street_number" ]
                },
                {
                   "long_name" : "הרצל",
                   "short_name" : "הרצל",
                   "types" : [ "route" ]
                },
                {
                   "long_name" : "תל אביב-יפו",
                   "short_name" : "תל אביב-יפו",
                   "types" : [ "locality", "political" ]
                },
                {
                   "long_name" : "מחוז תל אביב",
                   "short_name" : "מחוז תל אביב",
                   "types" : [ "administrative_area_level_1", "political" ]
                },
                {
                   "long_name" : "ישראל",
                   "short_name" : "IL",
                   "types" : [ "country", "political" ]
                }
             ],
             "formatted_address" : "הרצל 17, תל אביב-יפו, ישראל",
             "geometry" : {
                "location" : {
                   "lat" : 32.0616741,
                   "lng" : 34.7703751
                },
                "location_type" : "ROOFTOP",
                "viewport" : {
                   "northeast" : {
                      "lat" : 32.06301403029149,
                      "lng" : 34.7716624802915
                   },
                   "southwest" : {
                      "lat" : 32.0603160697085,
                      "lng" : 34.7689645197085
                   }
                }
             },
             "place_id" : "ChIJv09_XJxMHRURWh4zBRBM2y0",
             "plus_code" : {
                "compound_code" : "3Q6C+M5 תל אביב-יפו, ישראל",
                "global_code" : "8G4P3Q6C+M5"
             },
             "types" : [ "street_address" ]
          }
       ],
       "status" : "OK"
    }
    

    אם אתה מתעקש על אלגוריתם,
    אני מניח שכל הערים נמצאות בקצה המחרוזת.
    אתה צריך לטעון את כל הערים למערך, ולבדוק עם endsWith אם המחרוזת מסיימת בטקסט הרצוי. אם יש רק תוצאה חיובית אחת זו העיר, אם יש יותר מאחת, צריך לעבור לבדוק אם הרחוב קיים שם וזה על ידי רג'קס שמוריד כל מספר וסימן אחורה, עד הטקסט הקודם ואז לולאה על הרחובות המתאימים לאותה העיר. בקיצור זה לא עבודה נחמדה.

    מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

    בכל נושא אפשר ליצור קשר dovid@tchumim.com

    ח תגובה 1 תגובה אחרונה
    10
    • yossizY מנותק
      yossizY מנותק
      yossiz
      השיב לחוקר ב נערך לאחרונה על ידי
      #3

      @חוקר כדי לעשות סדר, אני מציע לפצל את הבעיה
      ל 1) תיאור הדרישה 2) האלגוריתם, 3) המימוש.
      החלק הקשה יותר הוא האלגוריתם, המימוש אמור להיות די קל.
      חלק מהשאלות שלך למעלה קשורות יותר לחלק המימוש. ולכן בשלב הראשון הם פחות רלוונטיים. אתה החלטת ללכת על ביטוי רגולרי וזה גרם לחלק מהשאלות אם הבנתי נכון. אולי זה לא כיוון נכון כלל במקרה הזה

      📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

      תגובה 1 תגובה אחרונה
      7
      • ח מנותק
        ח מנותק
        חוקר
        השיב לdovid ב נערך לאחרונה על ידי חוקר
        #4

        @dovid אמר בJS ביטוי רגולארי לפיצול כתובת לעמודות רחוב בית/דירה ועיר:

        API של גוגל כאני צריך כאלה דברים.

        איך אני יכול להשיג KEY לזה? איזה סוג רשיון זה?

        @dovid אמר בJS ביטוי רגולארי לפיצול כתובת לעמודות רחוב בית/דירה ועיר:

        אני מניח שכל הערים נמצאות בקצה המחרוזת.

        ואני מניח שלא התעמקת לבדוק את הדוגמאות שצירפתי
        מדובר בערבול נתונים, ובפרט שזה מאוד הרבה מהקלטה בטלפון.
        יש את כל סוגי הפורמטים, בתחילה בסוף ובאמצע.

        @yossiz אמר בJS ביטוי רגולארי לפיצול כתובת לעמודות רחוב בית/דירה ועיר:

        אתה החלטת ללכת על ביטוי רגולרי

        אכן לא חשבתי על רעיון אחר, אשמח לשמוע.

        dovidD תגובה 1 תגובה אחרונה
        0
        • dovidD מנותק
          dovidD מנותק
          dovid ניהול
          השיב לחוקר ב נערך לאחרונה על ידי dovid
          #5

          @חוקר אמר בJS ביטוי רגולארי לפיצול כתובת לעמודות רחוב בית/דירה ועיר:

          האם זה קולט מחרוזות בצורה כזו?
          נתיבות המשפט 89 מודיעין עילית קרית ספר דירה 75

          {
             "results" : [
                {
                   "address_components" : [
                      {
                         "long_name" : "75",
                         "short_name" : "75",
                         "types" : [ "subpremise" ]
                      },
                      {
                         "long_name" : "89",
                         "short_name" : "89",
                         "types" : [ "street_number" ]
                      },
                      {
                         "long_name" : "נתיבות המשפט",
                         "short_name" : "נתיבות המשפט",
                         "types" : [ "route" ]
                      },
                      {
                         "long_name" : "מודיעין עילית",
                         "short_name" : "מודיעין עילית",
                         "types" : [ "locality", "political" ]
                      }
                   ],
                   "formatted_address" : "75, נתיבות המשפט 89, מודיעין עילית",
                   "geometry" : {
                      "location" : {
                         "lat" : 31.924848,
                         "lng" : 35.0412809
                      },
                      "location_type" : "RANGE_INTERPOLATED",
                      "viewport" : {
                         "northeast" : {
                            "lat" : 31.9262777802915,
                            "lng" : 35.0426899802915
                         },
                         "southwest" : {
                            "lat" : 31.9235798197085,
                            "lng" : 35.0399920197085
                         }
                      }
                   },
                   "place_id" : "EiY3NSwgTmV0aXZvdCBIYU1pc2hwYXQgODksIE1vZGknaW4gSWxpdCI4GjYKMBIuChQKEglXx1yJntICFRFeR3jBEGaDshBZKhQKEgmL6UPhodICFRH-o2JfnBeBwBICNzU",
                   "types" : [ "subpremise" ]
                }
             ],
             "status" : "OK"
          }
          

          @חוקר אמר בJS ביטוי רגולארי לפיצול כתובת לעמודות רחוב בית/דירה ועיר:

          ואיך אני יכול להשיג KEY לזה? איזה סוג רשיון זה?

          כמו כל הAPI של גוגל.
          נכנס בקונסול למפתחים, עושה enable לספריית geocoding ומייצר מפתח API.
          הנה התיעוד https://developers.google.com/maps/documentation/geocoding/start
          זה עולה עלות כל שהיא אחרי אלף בקשות יומיות כמדומני, לא משהו שירושש אותך.

          מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

          בכל נושא אפשר ליצור קשר dovid@tchumim.com

          ח 2 תגובות תגובה אחרונה
          6
          • ח מנותק
            ח מנותק
            חוקר
            השיב לdovid ב נערך לאחרונה על ידי
            #6

            @dovid אמר בJS ביטוי רגולארי לפיצול כתובת לעמודות רחוב בית/דירה ועיר:

            זה עולה עלות כל שהיא אחרי אלף בקשות יומיות כמדומני, לא משהו שירושש אותך.

            אני צריך לעשות את זה כעת חד פעמי על טבלה של 121000 שורות
            אבל על פניו נראה שזה כבר הכי יעיל

            תגובה 1 תגובה אחרונה
            3
            • ח מנותק
              ח מנותק
              חוקר
              השיב לdovid ב נערך לאחרונה על ידי
              #7

              @dovid אמר בJS ביטוי רגולארי לפיצול כתובת לעמודות רחוב בית/דירה ועיר:

              זה עולה עלות כל שהיא אחרי אלף בקשות יומיות כמדומני

              זה השירות הזה?
              c790bdbe-2dbc-461c-8b30-f1d578aafdc7-image.png

              א"כ יכול לעלות 605 דולר ח"פ כ 2000 ש"ח.
              לא?

              dovidD תגובה 1 תגובה אחרונה
              0
              • ח מנותק
                ח מנותק
                חוקר
                כתב ב נערך לאחרונה על ידי
                #8

                אולי לבקשות מרובות זה יותר זול?
                281d3738-06bd-43f5-9000-873369e35ec2-image.png

                תגובה 1 תגובה אחרונה
                1
                • dovidD מנותק
                  dovidD מנותק
                  dovid ניהול
                  השיב לחוקר ב נערך לאחרונה על ידי
                  #9

                  @חוקר אכן זה כנראה המחיר.
                  כפי שחגי אמר וכפי שמתבקש היית צריך לבדוק במחשבון את הכמות ולא לחשבן לבד,
                  כי זה משתנה ל0.4.

                  מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                  בכל נושא אפשר ליצור קשר dovid@tchumim.com

                  ח תגובה 1 תגובה אחרונה
                  1
                  • ח מנותק
                    ח מנותק
                    חוקר
                    השיב לdovid ב נערך לאחרונה על ידי
                    #10

                    @dovid אמר בJS ביטוי רגולארי לפיצול כתובת לעמודות רחוב בית/דירה ועיר:

                    כפי שחגי אמר

                    אני לא רואה כאן תגובה שלו!?

                    dovidD תגובה 1 תגובה אחרונה
                    3
                    • dovidD מנותק
                      dovidD מנותק
                      dovid ניהול
                      השיב לחוקר ב נערך לאחרונה על ידי
                      #11

                      @חוקר אמר בJS ביטוי רגולארי לפיצול כתובת לעמודות רחוב בית/דירה ועיר:

                      אני לא רואה כאן תגובה שלו!?

                      טעות שלי, זה חוקר בכבודו ובעצמו.

                      מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                      בכל נושא אפשר ליצור קשר dovid@tchumim.com

                      תגובה 1 תגובה אחרונה
                      3
                      • D מנותק
                        D מנותק
                        davidnead
                        כתב ב נערך לאחרונה על ידי
                        #12

                        דוקא בגלל שזה מחרוזות לא שיטתיות, הסיכוי של האלגוריתם של גוגל לזהות אותן נכון גדול לאין שיעור מאלגוריתם שתבנה.
                        כדי לבנות בעצמך משהו יעיל שמוכוון למטרה שלך וישיג תוצאות טובות יותר מגוגל, תצטרך כל כך הרבה התאמות ותיקונים שזה יהיה כבר חצי עבודה ידנית (בהנחה שיש לך לכל היותר עשרות אלפי כתובות, אם לא הרבה פחות).

                        המחירים של גוגל: הם נותנים זיכוי חינם של 200$ לחודש בAPI שלהם. לכל סוג בקשה יש מחיר אחר. למיטב זכרוני חישבתי בעבר על סוג הבקשה הזה שהוא מספיק ל28 אלף בקשות בחודש.

                        תגובה 1 תגובה אחרונה
                        4

                        בא תתחבר לדף היומי!
                        • התחברות

                        • אין לך חשבון עדיין? הרשמה

                        • התחברו או הירשמו כדי לחפש.
                        • פוסט ראשון
                          פוסט אחרון
                        0
                        • דף הבית
                        • קטגוריות
                        • פוסטים אחרונים
                        • משתמשים
                        • חיפוש
                        • חוקי הפורום