{"id":2376,"date":"2024-08-16T16:05:45","date_gmt":"2024-08-16T07:05:45","guid":{"rendered":"https:\/\/secondlife.lol\/?p=2376"},"modified":"2024-08-16T22:10:54","modified_gmt":"2024-08-16T13:10:54","slug":"python-map-visualization-travel-route","status":"publish","type":"post","link":"https:\/\/secondlife.lol\/en\/python-map-visualization-travel-route\/","title":{"rendered":"Python Map Visualization: See a route you'll never regret (feat. folium package)"},"content":{"rendered":"<p class=\"wp-block-paragraph\">When you're planning a trip to somewhere you've never been before, don't you wish you could see the entire route? In today's post, you'll learn how to visualize your travel route using Python map visualization techniques. We'll use Python's powerful <strong><a href=\"https:\/\/python-visualization.github.io\/folium\/\" data-type=\"link\" data-id=\"https:\/\/python-visualization.github.io\/folium\/\" target=\"_blank\" rel=\"noopener\">folium library<\/a><\/strong>to visually represent this journey step by step.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here's a hypothetical situation <strong>JFK Airport<\/strong>and take a taxi or Uber to the <strong>Hilton New York Midtown<\/strong> After you get to your hotel, walk to the <strong>Manhattan Center<\/strong> Go to the venue. In this tutorial, <strong>Python Map Visualization<\/strong> Build your skills and learn how to plot your travel route on a map.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Understanding Python Map Visualization Summaries<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Python Map Visualization is a powerful tool for visually representing a variety of data on a map using GPS coordinates. In particular, the folium library allows you to create Google Maps-like maps in Python. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In this example, you'll see how to add markers to three major points in New York City (JFK Airport, the Hilton New York Midtown hotel, and the Manhattan Center venue), show a route connecting each point with a blue line, and display travel time and distance information on the map.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Python code step-by-step<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">1. Install and load the library<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">To visualize a map in Python <code>folium<\/code> Install and import the library.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># import required libraries\nimport os # Module for manipulating files and directories\nimport folium # Library for creating and manipulating maps\n\nCreate a directory to store # results\nresult_dir = 'C:\/result\/'\n# os.makedirs(): Create directory. Option exist_ok=True to avoid errors if it already exists\nos.makedirs(result_dir, exist_ok=True)<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">2. set up key locations and distance and time data<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Define the GPS coordinates for each place, set the distance and estimated time between the two points.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Geographical coordinates of major places (latitude, longitude)\nsimplified_locations = {\n    \"JFK Airport\": [40.6413, -73.7781],\n    \"Hilton New York Midtown\": [40.7625, -73.9780],\n    \"Event Venue (Manhattan Center)\": [40.7527, -73.9932]\n}\n\n# distance (km) and time (minutes) information\nsimplified_distances_and_times = {\n    (\"JFK Airport\", \"Hilton New York Midtown\"): (25.0, 35),\n    (\"Hilton New York Midtown\", \"Event Venue (Manhattan Center)\"): (1.2, 15)\n}\n\nSet the # route order\nordered_locations = [\n    (\"JFK Airport\", \"Hilton New York Midtown\"),\n    (\"Hilton New York Midtown\", \"Event Venue (Manhattan Center)\")\n]<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">3. create maps and visualize routes<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Create a map centered on New York City, add numbered markers to each point, and connect routes with blue lines.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Map Creation\n# folium.Map(): Create a basic map\n# location: coordinates of the center point of the map [latitude, longitude]\n# zoom_start: initial zoom level (higher zooms more)\nm = folium.Map(location=[40.7200, -73.9000], zoom_start=11)\n\nAdd # markers and paths\n# enumerate(): Returns the elements of the list together with their indexes, with indexes starting at 1 with start=1\nfor idx, location in enumerate(simplified_locations.items(), start=1):\n    loc_name, coords = location\n    # folium.Marker(): Add a marker to the map\n    # popup: text to display when clicking on the marker\n    # icon: set the appearance of the marker\n    folium.Marker(\n        coords,\n        popup=f&quot;{idx}. {loc_name}&quot;,\n        icon=folium.DivIcon(\n            html=f&quot;&quot;&quot;&quot;\n            &lt;div style=&quot;text-align: center;&quot;&gt;\n                &lt;div style=&quot;font-size: 12pt; font-weight: bold; color: black; background-color: white; border-radius: 50%;                 width: 24px; height: 24px; display: flex; align-items: center; justify-content: center;&quot;&gt;\n                {idx}\n                &lt;\/div&gt;\n                &lt;div style=&quot;font-size: 10pt; font-weight: bold; color: navy; margin-top: 10px;&quot;&gt;\n                {loc_name}\n                &lt;\/div&gt;\n            &lt;\/div&gt;&quot;&quot;&quot;\n        )\n    ).add_to(m)\n\nAdd a # route and distance\/time information\nfor (loc1, loc2) in ordered_locations:\n    # folium.PolyLine(): Draw a line between two points\n    # color: color of the line, weight: thickness of the line, opacity: transparency of the line\n    folium.PolyLine([simplified_locations[loc1], simplified_locations[loc2]], color=&quot;blue&quot;, weight=2.5, opacity=1).add_to(m)\n\n    # Get distance and time information\n    distance_km, time_min = simplified_distances_and_times[(loc1, loc2)]\n    # Calculate the midpoint coordinates of two points\n    mid_point = [(simplified_locations[loc1][0] + simplified_locations[loc2][0]) \/ 2,\n                 (simplified_locations[loc1][1] + simplified_locations[loc2][1]) \/ 2]\n    Add a marker with distance and time information at the midpoint of #\n    folium.Marker(\n        mid_point,\n        icon=folium.DivIcon(\n            html=f'&lt;div style=&quot;font-size: 10pt; font-weight: bold; color: red;&quot;&gt;{distance_km}km, {time_min}minutes&lt;\/div&gt;',\n        )\n    ).add_to(m)<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">4. save the map<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Save the completed map to the <code>C:\\result<\/code> folder, and if it completes successfully, it will output the path where the saved map HTML file is saved as shown below.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Save map as HTML\n# os.path.join(): Generate file paths using path separators specific to the operating system\nfinal_corrected_map_path = os.path.join(result_dir, 'ny_business_trip_final_corrected_map_with_distances.html')\nm.save(final_corrected_map_path) # Save the generated map as an HTML file\n\nprint(f\"Map saved to: {final_corrected_map_path}\") # Print the path to the saved file<\/code><\/pre>\n\n\n<style>.kb-image2376_945213-a0 .kb-image-has-overlay:after{opacity:0.3;}<\/style>\n<div class=\"wp-block-kadence-image kb-image2376_945213-a0\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"570\" height=\"21\" src=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/08\/image-1-4.jpg\" alt=\"\ud30c\uc774\uc36c \uc9c0\ub3c4 \uc2dc\uac01\ud654 \ucf54\ub4dc \uc2e4\ud589 \uacb0\uacfc \ud45c\uc2dc\" class=\"kb-img wp-image-2378\" srcset=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/08\/image-1-4.jpg 570w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/08\/image-1-4-300x11.jpg 300w\" sizes=\"(max-width: 570px) 100vw, 570px\" \/><figcaption>(Message on the terminal as a result of running the source code)<\/figcaption><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">To view the finished map in a browser, all you need to do is click on the HTML file in its folder, as shown below, and you'll see what we asked for.<\/p>\n\n\n<style>.kb-image2376_7dbbef-84 .kb-image-has-overlay:after{opacity:0.3;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;}.kb-image2376_7dbbef-84 img.kb-img, .kb-image2376_7dbbef-84 .kb-img img{border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;box-shadow:0px 0px 14px 0px rgba(0, 0, 0, 0.2);}<\/style>\n<div class=\"wp-block-kadence-image kb-image2376_7dbbef-84\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"401\" height=\"176\" src=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/08\/image-1-5.jpg\" alt=\"\ud30c\uc774\uc36c \uc9c0\ub3c4 \uc2dc\uac01\ud654 \uc18c\uc2a4\ucf54\ub4dc \uc2e4\ud589\uacb0\uacfc\ubb3c \ud3f4\ub354 \uc0ac\uc9c4\" class=\"kb-img wp-image-2379\" srcset=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/08\/image-1-5.jpg 401w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/08\/image-1-5-300x132.jpg 300w\" sizes=\"(max-width: 401px) 100vw, 401px\" \/><figcaption>(HTML file saved in the source code execution results folder)<\/figcaption><\/figure><\/div>\n\n\n<style>.kb-image2376_2ab125-15 .kb-image-has-overlay:after{opacity:0.3;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;}.kb-image2376_2ab125-15 img.kb-img, .kb-image2376_2ab125-15 .kb-img img{border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;box-shadow:0px 0px 14px 0px rgba(0, 0, 0, 0.2);}<\/style>\n<div class=\"wp-block-kadence-image kb-image2376_2ab125-15\"><figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"600\" height=\"448\" src=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/08\/image-1-6-600x448.jpg\" alt=\"\ud30c\uc774\uc36c \uc9c0\ub3c4 \uc2dc\uac01\ud654 \uc18c\uc2a4\ucf54\ub4dc \uc2e4\ud589\uacb0\uacfc \uc0dd\uc131\ub41c \uc9c0\ub3c4 \uc0ac\uc9c4\" class=\"kb-img wp-image-2380\" srcset=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/08\/image-1-6-600x448.jpg 600w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/08\/image-1-6-300x224.jpg 300w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/08\/image-1-6-768x573.jpg 768w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/08\/image-1-6.jpg 813w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><figcaption>(Map generated by running the source code)<\/figcaption><\/figure><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">4. frequently asked questions (FAQ)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Q1. In a Python map visualization, how do I create a <code>folium<\/code>does?<\/strong><br>A1. <code>folium<\/code>is a library that helps you visualize map data using Python. It allows you to visually represent your data in the same way as Google Maps.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Q2. How do I find the coordinates?<\/strong><br>A2. Use Google Maps to search for the desired location, then right-click on the location icon and select the coordinates (40.648275456129724, -73.78004682462297) to copy them.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"600\" height=\"300\" src=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/08\/image-1-7-600x300.jpg\" alt=\"\" class=\"wp-image-2383\" srcset=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/08\/image-1-7-600x300.jpg 600w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/08\/image-1-7-300x150.jpg 300w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/08\/image-1-7.jpg 678w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><strong>Q3. Is it possible to visualize more complex paths?<\/strong><br>A3. Yes, you can. You can extend it by adding more locations, displaying real-time traffic information, and more. You can use the source code in this post to tell the AI what you want to order and have it code it for you. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Q4. Can I save the results of a Python map visualization as an image?<\/strong><br>A4. <code>folium<\/code>is saved as an HTML file by default, <code>selenium<\/code>(we'll cover this in a separate post), or you can use a non-programmatic <strong>Keyboard shortcut (win+shift+s)<\/strong>to capture a map displayed in HTML.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Organize<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">In this post, you learned how to use Python map visualization to visually represent travel routes in New York City. This process helps you intuitively understand your data and makes it easy to visualize even complex travel routes or logistics movements. Share this post with <a href=\"https:\/\/secondlife.lol\/en\/guide-for-ai-prompting-effectively\/\" data-type=\"post\" data-id=\"1495\">Content of AI-enabled prompts<\/a>to visualize different travel routes, or add more data for an extended project!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you're preparing a full travel plan, including budget, itinerary, and more, including Python map visualizations, check out this post (<a href=\"https:\/\/secondlife.lol\/en\/perfect-travel-itinerary-with-chatgpt4\/\" data-type=\"post\" data-id=\"2305\">Can you plan a ChatGPT trip for Chinese New Year 2024 (feat. map directions)?<\/a>) for another insight.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">#Full integration code<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Copy and paste the code below into an integrated development environment such as VS code and execute it. However, if the folium package is not installed, you will get the following warning. You can install the package with the pip install folium command (pip install folium) in the terminal and then execute the integration code below.<\/p>\n\n\n<style>.kb-image2376_abd982-07 .kb-image-has-overlay:after{opacity:0.3;}<\/style>\n<div class=\"wp-block-kadence-image kb-image2376_abd982-07\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"533\" height=\"70\" src=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/08\/image-1-3.jpg\" alt=\"\ud30c\uc774\uc36c \uc9c0\ub3c4 \uc2dc\uac01\ud654 \ud328\ud0a4\uc9c0 \uc124\uce58\uc2dc \uc54c\ub78c\" class=\"kb-img wp-image-2377\" srcset=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/08\/image-1-3.jpg 533w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/08\/image-1-3-300x39.jpg 300w\" sizes=\"(max-width: 533px) 100vw, 533px\" \/><figcaption>(Alarm when folium package is not installed)<\/figcaption><\/figure><\/div>\n\n\n\n<pre class=\"wp-block-code\"><code># import required libraries\nimport os # Modules for file system manipulation (directory creation, file path manipulation, etc.)\nimport folium # Library for creating interactive maps\n\nCreate a directory to store # results\nresult_dir = 'C:\/result\/'\n# os.makedirs(): Create directory. Option exist_ok=True to avoid error if it already exists\nos.makedirs(result_dir, exist_ok=True)\n\n# Set coordinates of key places (latitude, longitude)\nsimplified_locations = {\n    &quot;JFK Airport&quot;: [40.6413, -73.7781],\n    &quot;Hilton New York Midtown&quot;: [40.7625, -73.9780],\n    &quot;Event Venue (Manhattan Center)&quot;: [40.7527, -73.9932]\n}\n\n# distance (km) and time (minutes) information\nsimplified_distances_and_times = {\n    (&quot;JFK Airport&quot;, &quot;Hilton New York Midtown&quot;): (25.0, 35),\n    (&quot;Hilton New York Midtown&quot;, &quot;Event Venue (Manhattan Center)&quot;): (1.2, 15)\n}\n\nSet the # route order\nordered_locations = [\n    (&quot;JFK Airport&quot;, &quot;Hilton New York Midtown&quot;),\n    (&quot;Hilton New York Midtown&quot;, &quot;Event Venue (Manhattan Center)&quot;)\n]\n\n# Create a map\n# folium.Map(): Create a basic map\n# location: Coordinates of the center point of the map [latitude, longitude].\n# zoom_start: initial zoom level (higher zooms more)\nm = folium.Map(location=[40.7200, -73.9000], zoom_start=11)\n\nAdd # markers and paths\n# enumerate(): Returns the elements of the list together with their indexes, with indexes starting at 1 with start=1\nfor idx, location in enumerate(simplified_locations.items(), start=1):\n    loc_name, coords = location\n    # folium.Marker(): Add a marker to the map\n    # popup: text to display when clicking on the marker\n    # icon: set the appearance of the marker\n    folium.Marker(\n        coords,\n        popup=f&quot;{idx}. {loc_name}&quot;,\n        icon=folium.DivIcon(\n            html=f&quot;&quot;&quot;&quot;\n            &lt;div style=&quot;text-align: center;&quot;&gt;\n                &lt;div style=&quot;font-size: 12pt; font-weight: bold; color: black; background-color: white; border-radius: 50%;                 width: 24px; height: 24px; display: flex; align-items: center; justify-content: center;&quot;&gt;\n                {idx}\n                &lt;\/div&gt;\n                &lt;div style=&quot;font-size: 10pt; font-weight: bold; color: navy; margin-top: 10px;&quot;&gt;\n                {loc_name}\n                &lt;\/div&gt;\n            &lt;\/div&gt;&quot;&quot;&quot;\n        )\n    ).add_to(m)\n\nAdd a # route and distance\/time information\nfor (loc1, loc2) in ordered_locations:\n    # folium.PolyLine(): Draw a line between two points\n    # color: color of the line, weight: thickness of the line, opacity: transparency of the line\n    folium.PolyLine([simplified_locations[loc1], simplified_locations[loc2]], color=&quot;blue&quot;, weight=2.5, opacity=1).add_to(m)\n\n    # Get distance and time information\n    distance_km, time_min = simplified_distances_and_times[(loc1, loc2)]\n    # Calculate the midpoint coordinates of two points\n    mid_point = [(simplified_locations[loc1][0] + simplified_locations[loc2][0]) \/ 2,\n                 (simplified_locations[loc1][1] + simplified_locations[loc2][1]) \/ 2]\n    Add a marker with distance and time information at the midpoint of #\n    folium.Marker(\n        mid_point,\n        icon=folium.DivIcon(\n            html=f'&lt;div style=&quot;font-size: 10pt; font-weight: bold; color: red;&quot;&gt;{distance_km}km, {time_min}minutes&lt;\/div&gt;',\n        )\n    ).add_to(m)\n\n# Save map as HTML\n# os.path.join(): Generate file paths using path separators specific to the operating system\nfinal_corrected_map_path = os.path.join(result_dir, 'ny_business_trip_final_corrected_map_with_distances.html')\nm.save(final_corrected_map_path) # Save the generated map as an HTML file\n\nprint(f&quot;Map saved to: {final_corrected_map_path}&quot;) # Print the path to the saved file<\/code><\/pre>","protected":false},"excerpt":{"rendered":"<p>\ucc98\uc74c \uac00\ubcf4\ub294 \uacf3\uc73c\ub85c \uc5ec\ud589\uc744 \uacc4\ud68d\ud558\ub2e4\ubcf4\uba74 \uc804\uccb4\uc801\uc73c\ub85c \uacbd\ub85c\ub97c \ud55c\ubc88 \ud655\uc778\ud574\ubcf4\uace0 \uc2f6\uc9c0&#8230;<\/p>","protected":false},"author":3,"featured_media":2388,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kad_blocks_custom_css":"","_kad_blocks_head_custom_js":"","_kad_blocks_body_custom_js":"","_kad_blocks_footer_custom_js":"","_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"categories":[3],"tags":[195,194,196,193],"class_list":["post-2376","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-python-coding","tag-folium-","tag-python-map-visualization","tag-196","tag-193"],"taxonomy_info":{"category":[{"value":3,"label":"\ud30c\uc774\uc36c(Python)"}],"post_tag":[{"value":195,"label":"Folium \ud29c\ud1a0\ub9ac\uc5bc"},{"value":194,"label":"Python Map Visualization"},{"value":196,"label":"\ub274\uc695 \uc5ec\ud589 \uc9c0\ub3c4"},{"value":193,"label":"\uc5ec\ud589 \uacbd\ub85c \uc2dc\uac01\ud654"}]},"featured_image_src_large":["https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/08\/\ud30c\uc774\uc36c-\uc9c0\ub3c4-\uc2dc\uac01\ud654-\uc378\ub124\uc77c-600x600.webp",600,600,true],"author_info":{"display_name":"TERE","author_link":"https:\/\/secondlife.lol\/en\/author\/tere\/"},"comment_info":0,"category_info":[{"term_id":3,"name":"\ud30c\uc774\uc36c(Python)","slug":"python-coding","term_group":0,"term_taxonomy_id":3,"taxonomy":"category","description":"","parent":20,"count":119,"filter":"raw","cat_ID":3,"category_count":119,"category_description":"","cat_name":"\ud30c\uc774\uc36c(Python)","category_nicename":"python-coding","category_parent":20}],"tag_info":[{"term_id":195,"name":"Folium \ud29c\ud1a0\ub9ac\uc5bc","slug":"folium-%ed%8a%9c%ed%86%a0%eb%a6%ac%ec%96%bc","term_group":0,"term_taxonomy_id":195,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":194,"name":"Python Map Visualization","slug":"python-map-visualization","term_group":0,"term_taxonomy_id":194,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":196,"name":"\ub274\uc695 \uc5ec\ud589 \uc9c0\ub3c4","slug":"%eb%89%b4%ec%9a%95-%ec%97%ac%ed%96%89-%ec%a7%80%eb%8f%84","term_group":0,"term_taxonomy_id":196,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":193,"name":"\uc5ec\ud589 \uacbd\ub85c \uc2dc\uac01\ud654","slug":"%ec%97%ac%ed%96%89-%ea%b2%bd%eb%a1%9c-%ec%8b%9c%ea%b0%81%ed%99%94","term_group":0,"term_taxonomy_id":193,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"}],"_links":{"self":[{"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/posts\/2376","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/comments?post=2376"}],"version-history":[{"count":5,"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/posts\/2376\/revisions"}],"predecessor-version":[{"id":2389,"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/posts\/2376\/revisions\/2389"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/media\/2388"}],"wp:attachment":[{"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/media?parent=2376"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/categories?post=2376"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/tags?post=2376"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}