{"allowedRenditionsWidth":["320","480","640","768","960","1200","1440","1920"],"cssClassNames":"page basicpage summit-page","templateName":"quickstart-page-template","language":"ko","title":"지리 공간 데이터 활용기","analyticsPageType":"quickstart-page-template","analyticsCategory":"general","analyticsSubCategory":"","excludeFromAnalytics":false,":hierarchyType":"page",":path":"/content/snowflake-site/global/ko/developers/guides/getting-started-with-geospatial-geography-kr","analyticsEnabled":true,"coveoConfig":{"pipeline":"snowflake.com","searchHub":"snowflake.com","organizationId":"snowflakecomputingproduction8neljofn","apiKey":"xx335921a6-2a0a-40f2-a167-e390b4766c3d"},"analyticsDebugMode":false,"analyticsData":{"excludeFromAnalytics":false,"subCategory":"","pageType":"quickstart-page-template","templateName":"quickstart-page-template","siteName":"snowflake","pageUrl":"/content/snowflake-site/global/ko/developers/guides/getting-started-with-geospatial-geography-kr","language":"ko","category":"general","pageName":"지리 공간 데이터 활용기","contentTags":["snowflake-site:taxonomy/snowflake-feature/interactive-analytics","snowflake-site:taxonomy/solution-center/certification/quickstart","snowflake-site:taxonomy/product/analytics","snowflake-site:taxonomy/exclude-tags/hidden","snowflake-site:taxonomy/snowflake-feature/geospatial"]},"isPasswordProtected":false,"analyticsContentTags":["snowflake-site:taxonomy/snowflake-feature/interactive-analytics","snowflake-site:taxonomy/solution-center/certification/quickstart","snowflake-site:taxonomy/product/analytics","snowflake-site:taxonomy/exclude-tags/hidden","snowflake-site:taxonomy/snowflake-feature/geospatial"],":mappedPath":"/ko/developers/guides/getting-started-with-geospatial-geography-kr/",":type":"snowflake-site/components/structure/page",":items":{"root":{"columnClassNames":{"markup_editor_1950346551":"aem-GridColumn aem-GridColumn--default--12","experiencefragment-banner":"aem-GridColumn aem-GridColumn--default--12","experiencefragment-header":"aem-GridColumn aem-GridColumn--default--12","responsivegrid":"aem-GridColumn aem-GridColumn--default--12","experiencefragment-footer":"aem-GridColumn aem-GridColumn--default--12","modal_container":"aem-GridColumn aem-GridColumn--default--12","markup_editor":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","columnCount":12,":items":{"experiencefragment-banner":{"id":"experiencefragment-f8c0736a44","localizedFragmentVariationPath":"/content/experience-fragments/snowflake-site/language-masters/ko/site/pushdown-banner/master/jcr:content","configured":true,"classNames":"aem-xf",":type":"snowflake-site/components/experiencefragment",":items":{"root":{"columnClassNames":{"pushdown_banner_copy":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","layout":"RESPONSIVE_GRID","columnCount":12,"id":"container-f33f395606",":type":"snowflake-site/components/container",":items":{"pushdown_banner_copy":{"id":"pushdown-banner-eab33c2c33","contentHeadline":"Snowflake World Tour 서울  2026년 8월 27일(목) ","contentDescription":"Making AI Real for Business","contentJustifyContent":"center","linkStyle":"text-white","linkCTA":{"id":"link-cta","heapButtonClasses":["pushdown_banner"],"showOutboundIcon":false,"buttonLink":{"valid":true,"attributes":{"target":"_blank"},"url":"/ko/world-tour/seoul/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"행사 참여 신청하기"},":type":"snowflake-site/components/pushdown-banner","appliedCssClassNames":"snowflake-pushdown-banner-text-white snowflake-pushdown-banner-background-black"}},":itemsOrder":["pushdown_banner_copy"]},"image":{":type":"nt:unstructured"},"cq:metadata":{":type":"nt:unstructured"}},":itemsOrder":["root","image","cq:metadata"]},"experiencefragment-header":{"id":"experiencefragment-ec68c642ae","localizedFragmentVariationPath":"/content/experience-fragments/snowflake-site/language-masters/ko/site/mega-nav-header/master/jcr:content","configured":true,"classNames":"aem-xf",":type":"snowflake-site/components/experiencefragment",":items":{"root":{"columnClassNames":{"mega_header":"aem-GridColumn aem-GridColumn--default--12","markup_editor":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","layout":"RESPONSIVE_GRID","columnCount":12,"id":"container-98e3b00969",":type":"snowflake-site/components/container",":items":{"markup_editor":{"id":"markup-editor-8e364e0dd7","title":" ","cssContent":".footer-nav__link-group .snowflake-button-container,.subnav__item--button,.snowflake-card-v2-advanced-button .snowflake-button-container{justify-content:flex-start}.mega-nav__sign-in.snowflake-button-container{display:none}@media screen and (min-width:768px){.mega-nav__sign-in.snowflake-button-container{display:inline-block;font-family:'Texta',sans-serif;font-weight:800 !important}}@media screen and (min-width:1024px) and (max-width:1199px){.snowflake-mega-nav-header-buttons-container .snowflake-button-blue .snowflake-button-container{font-size:13px !important}.snowflake-language-navigation .language-icon{width:18px !important;height:18px !important;margin-right:4px !important}}.mega-nav__sign-in svg{display:none}.nav-item__platform-parent-why-sf.snowflake-mega-nav-nav-item\u003Ea:hover,.nav-item__platform-parent.snowflake-mega-nav-nav-item\u003Ea:hover{background-color:transparent !important}.nav-platform-sidebar .snowflake-mega-nav-nav-item:hover.blue-icon .snowflake-mega-nav-nav-item-icon__inner{background-color:var(--ui-01) !important}@media screen and (min-width:1024px){.snowflake-mega-nav-navigation-dropdown{overflow:hidden}.meganav-platform-features{padding-left:64px}.meganav-platform-features::before{content:'';transform:translateX(-64px);display:block;z-index:0;width:100%;height:100%;position:absolute;top:0;background:#f7f9fa}.nav-item--si.snowflake-mega-nav-nav-item\u003Ea:hover{background-color:transparent}.nav-item--si{border-bottom:1px solid #ccc;padding-bottom:16px;margin-bottom:8px}.nav-item__platform-parent{border-bottom:1px solid #ccc;margin-bottom:8px;padding-bottom:16px}.nav-item__platform-parent-why-sf .snowflake-mega-nav-nav-item-description::after{content:'Snowflake로 실현하는 가치 \u003E';display:block;color:var(--ui-01);margin-top:16px}.nav-item__platform-parent .snowflake-mega-nav-nav-item-description::after{content:'플랫폼 살펴보기 \u003E';display:block;color:var(--ui-01);margin-top:16px}}@media screen and (min-width:1367px){.snowflake-mega-nav-nav-item-description{font-size:13px !important;line-height:20px !important}.snowflake-mega-nav-nav-item-title-wrapper\u003E.snowflake-mega-nav-nav-item-title{font-size:17px !important}.nav-item__platform-parent-why-sf .snowflake-mega-nav-nav-item-title,.nav-item__platform-parent .snowflake-mega-nav-nav-item-title{font-size:24px !important;line-height:32px !important;margin-bottom:8px !important}.nav-item__platform-parent-why-sf .snowflake-mega-nav-nav-item-description,.nav-item__platform-parent .snowflake-mega-nav-nav-item-description{font-size:14px !important;line-height:20px !important}}html.wf-texta-n9-loading .display-1-v2{font-size:48px!important;line-height:50px!important;letter-spacing:-.5px!important;font-family:sans-serif!important}html.wf-texta-n9-loading .heading-4-v2{font-size:18px!important;line-height:24px!important;font-family:sans-serif!important}@media screen and (min-width:768px){html.wf-texta-n9-loading .display-2-v2{font-size:48px!important;line-height:50px!important;font-family:sans-serif!important}html.wf-texta-n9-loading .display-1-v2{font-size:55.5px!important;line-height:54px!important;letter-spacing:-.5px!important;font-family:sans-serif!important}html.wf-lato-n4-loading .body-2,html.wf-lato-n4-loading .heading-5-v2,html.wf-lato-n4-loading .snowflake-card-v2-advanced-text .snowflake-text p{font-size:15.5px!important;font-family:sans-serif!important}html.wf-texta-n9-loading .heading-2,html.wf-texta-n9-loading .heading-2-v2{font-size:34px!important;line-height:38px!important;letter-spacing:-.75px!important;font-family:sans-serif!important}html.wf-texta-n8-loading .heading-6-v2.snowflake-mega-nav-navigation-title{font-size:13.5px!important;font-family:sans-serif!important}html.wf-texta-n8-loading .heading-4,html.wf-texta-n8-loading .snowflake-button-container,html.wf-texta-n8-loading .snowflake-button-regular .snowflake-button-container{font-size:13px!important;line-height:20px!important;letter-spacing:.25px!important;font-family:sans-serif!important}}@media screen and (min-width:1024px){html.wf-lato-n4-loading .snowflake-mega-nav-nav-item-description{font-size:11.5px!important;font-family:sans-serif!important}html.wf-lato-n4-loading .body-2,html.wf-lato-n4-loading .text-size-regular .snowflake-text li,html.wf-lato-n4-loading .text-size-regular .snowflake-text p,html.wf-lato-n4-loading .text-size-regular .snowflake-text span[data-testid=text-content],html.wf-lato-n4-loading .text-size-regular.cq-Editable-dom li,html.wf-lato-n4-loading .text-size-regular.cq-Editable-dom p,html.wf-lato-n4-loading .text-size-regular.cq-Editable-dom span[data-testid=text-content]{font-size:13.5px!important;font-family:sans-serif!important}html.wf-texta-n8-loading .snowflake-button-compact .snowflake-button-container{font-size:12px!important;letter-spacing:0!important;line-height:18px!important}}@media screen and (min-width:1367px){html.wf-lato-n4-loading .hp-hero__eyebrow a\u003Eb:first-child{font-size:11px!important;font-family:sans-serif!important}html.wf-texta-n8-loading .hp-hero__eyebrow a{font-size:13px!important;font-family:sans-serif!important}html.wf-texta-n9-loading .display-2-v2{font-size:61px!important;line-height:60px!important;font-family:sans-serif!important}html.wf-texta-n9-loading .display-1-v2{font-size:74.5px!important;line-height:74px!important;letter-spacing:-.75px!important;font-family:sans-serif!important}html.wf-texta-n9-loading .heading-2,html.wf-texta-n9-loading .heading-2-v2{font-size:41px!important;letter-spacing:-.75px!important;font-family:sans-serif!important}html.wf-texta-n9-loading .heading-3-v2{font-family:sans-serif!important;letter-spacing:-.75px!important;font-size:33.75px!important}html.wf-texta-n9-loading .heading-4-v2{font-size:19.5px!important;line-height:26px!important;font-family:sans-serif!important}html.wf-texta-n8-loading .heading-6-v2{font-size:12px!important;font-family:sans-serif!important}html.wf-texta-n8-loading .heading-6-v2.snowflake-mega-nav-navigation-title{font-size:14px!important;font-family:sans-serif!important}html.wf-lato-n4-loading .body-1,html.wf-lato-n4-loading .cq-Editable-dom[data-cq-data-path*=text] ol\u003Eli,html.wf-lato-n4-loading .snowflake-text li,html.wf-lato-n4-loading .snowflake-text p,html.wf-lato-n4-loading .text-size-large .snowflake-text li,html.wf-lato-n4-loading .text-size-large .snowflake-text p,html.wf-lato-n4-loading .text-size-large .snowflake-text span[data-testid=text-content],html.wf-lato-n4-loading .text-size-large.cq-Editable-dom li,html.wf-lato-n4-loading .text-size-large.cq-Editable-dom p,html.wf-lato-n4-loading .text-size-large.cq-Editable-dom span[data-testid=text-content],html.wf-lato-n4-loading.cq-Editable-dom[data-cq-data-path*=text]\u003Ep,html.wf-lato-n4-loading.cq-Editable-dom[data-cq-data-path*=text]\u003Eul\u003Eli{font-size:17.5px!important;font-family:sans-serif!important}html.wf-lato-n4-loading .body-2,html.wf-lato-n4-loading .text-size-regular .snowflake-text li,html.wf-lato-n4-loading .text-size-regular .snowflake-text p,html.wf-lato-n4-loading .text-size-regular .snowflake-text span[data-testid=text-content],html.wf-lato-n4-loading .text-size-regular.cq-Editable-dom li,html.wf-lato-n4-loading .text-size-regular.cq-Editable-dom p,html.wf-lato-n4-loading .text-size-regular.cq-Editable-dom span[data-testid=text-content],html.wf-texta-n8-loading .snowflake-button-link .snowflake-button-container,html.wf-texta-n8-loading .snowflake-button-link-back .snowflake-button-container{font-size:15.5px!important;font-family:sans-serif!important}html.wf-lato-n4-loading .body-3,html.wf-lato-n4-loading .text-size-small .snowflake-text li,html.wf-lato-n4-loading .text-size-small .snowflake-text p,html.wf-lato-n4-loading .text-size-small .snowflake-text span[data-testid=text-content],html.wf-lato-n4-loading .text-size-small.cq-Editable-dom li,html.wf-lato-n4-loading .text-size-small.cq-Editable-dom p,html.wf-lato-n4-loading .text-size-small.cq-Editable-dom span[data-testid=text-content]{font-size:13.5px!important;font-family:sans-serif!important}}#industryPlatformSection,.sc-hero{background-position:top left;background-size:20% auto}.bwalignc,.bwalignr{list-style-position:inside}.snowflake-text p sup{font-size:10px}#industryPlatformSection .industry-platform__row .snowflake-flexible-column-container-items,.button-group-pair\u003E.container\u003E.cmp-container\u003E.aem-container,.snowflake-hero-system-content-container{gap:16px}.agenda-item p,.button-group-pair\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv,.partner-details p{margin:0!important}.button-group-pair\u003E.container\u003E.cmp-container\u003E.aem-container::after,.button-group-pair\u003E.container\u003E.cmp-container\u003E.aem-container::before,.hide-logo .snowflake-case-study-card-logo,.partner-page__powered-by-logo,.sc-hero div.code-toolbar\u003E.toolbar,.snowflake-card-v2-advanced.no-link .snowflake-card-v2-advanced-button,.snowflake-partner-hero-card-badge-container{display:none!important}.section--card-mobile-carousel .snowflake-flexible-column-container-items-with-carousel{max-width:100%!important}@media screen and (min-width:768px){.button-group-pair .snowflake-button-container.inline-button--desktop,.button-group-pair\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:auto!important;display:inline-block!important}.button-group-pair\u003E.container\u003E.cmp-container\u003E.aem-container{align-items:center;justify-content:flex-start!important}.button-group-pair.center\u003E.container\u003E.cmp-container\u003E.aem-container{justify-content:center!important}.section--card-mobile-carousel{margin-left:var(--tablet-portrait-margin,48px)!important;margin-right:var(--tablet-portrait-margin,48px);width:calc(100% - 96px)!important;width:calc(100% - var(--tablet-portrait-margin) * 2)!important}}@media screen and (min-width:1024px){.section--card-mobile-carousel{margin-left:var(--tablet-horizontal-margin,48px)!important;margin-right:var(--tablet-horizontal-margin,48px);width:calc(100% - 96px)!important;width:calc(100% - var(--tablet-horizontal-margin) * 2)!important}.snowflake-mega-nav-header-mobile-icon{display:none!important}}@media screen and (min-width:1367px){.section--card-mobile-carousel{margin-left:var(--desktop-margin,6.5%)!important;margin-right:var(--desktop-margin,6.5%);width:87%!important;width:calc(100% - var(--desktop-margin) * 2)!important}.logo-container{min-width:143px}.sc-hero__headline .heading-1-v2{font-size:60px}.snowflake-mega-nav-navigation-title{font-size:17px}.snowflake-mega-nav-dropdown-footer-wrapper .snowflake-title-v2 .snowflake-title-v2-line:first-child{font-size:16px!important;line-height:24px!important}}.hero--home{overflow:hidden;background-color:var(--ui-01);z-index:2}.hp-hero__subheadline{width:90%}.hero--home .snowflake-button-container{transition:.3s}.hero--home .snowflake-button-primary a:hover,.hero--home .snowflake-button-secondary a:hover,.hero--home .snowflake-button-white a:hover{transition:.3s;background-color:var(--ui-02)!important;color:var(--ui-05)!important}.hero--home .snowflake-button-secondary a:hover{border-color:var(--ui-05)!important}.hero--home .snowflake-button-primary a:hover,.hero--home .snowflake-button-white a:hover{border-color:var(--ui-02)!important}.bwalignc,.hp-hero__eyebrow{text-align:center}.hp-hero__eyebrow a{display:inline-flex;flex-direction:column;justify-content:center;cursor:pointer;padding:8px;border-radius:var(--spacing-01);gap:8px;align-items:center;background-color:#45aee3;color:var(--ui-03);font-family:Texta,sans-serif;font-weight:800;font-size:16px;line-height:22px;transition:background-color .3s}.hp-hero__eyebrow a:hover{background-color:#7fc6ea;text-decoration:none;transition:background-color .3s}.hp-hero__eyebrow a\u003Eb:first-child{text-transform:uppercase;white-space:nowrap;display:inline-block;background-color:var(--ui-02);color:var(--ui-05);font-size:12px!important;line-height:16px!important;font-family:Lato,sans-serif;font-weight:500!important;padding:3px 6px;border-radius:2px;letter-spacing:1px}@media screen and (min-width:767px){.hp-hero__eyebrow{text-align:left}.hp-hero__eyebrow a{flex-direction:row;text-align:left}}.hero--home__inner .offset-video,.hero--home__inner .snowflake-experience-fragment,.offset-video__bg-image{max-height:200px;overflow:hidden}.hero--home__inner .offset-video .wistia-responsive-padding{padding-top:100%}.hero--home__inner .snowflake-experience-fragment,.offset-video__bg-image{position:absolute!important;top:0;left:0;width:100%}.offset-video__bg-image{z-index:-1}@media screen and (min-width:768px){.hero--home__inner .snowflake-experience-fragment,.offset-video,.offset-video__bg-image{position:absolute!important;max-height:none;top:0;left:0;width:250%;padding-bottom:250%;transform:translate(0,-50%);height:0}.workloads_7.unistore{max-width:317px}}.promo-banner--homepage{z-index:2}.homepage-banner-offset-container::after{content:\"\";display:block;position:absolute;bottom:0;z-index:1;left:0;width:100%;height:80%;background:#fff}.section--quicklinks .snowflake-button-full-width a{padding-left:24px!important;padding-right:24px!important;transition:box-shadow .25s cubic-bezier(.4,0,.2,1);text-align:left;display:flex;justify-content:center;align-items:center}.section--quicklinks .snowflake-button-full-width a:hover{box-shadow:0 16px 16px 0 rgb(0 0 0 / .16);transition:box-shadow .25s cubic-bezier(.4,0,.2,1)}.section--quicklinks .snowflake-button-container:focus-visible a::before,.section--quicklinks .snowflake-button-full-width a::before{content:\"\";width:23px;height:23px;flex-shrink:0;margin-right:12px;display:inline-block;background-size:cover;background-repeat:no-repeat;background-position:center}#industryPartnerSlider .snowflake-navigation-icon.swiper-button-disabled,#partnerResources .section--resource-hub a svg,.button-tabs span.snowflake-tabs-navigation-item:after,.customer-card--hide-cta .snowflake-case-study-card-button,.dot-tabs span.snowflake-tabs-navigation-item::after,.partner-sidebar__mobile-expand,html:not(.aem-AuthorLayer-initial):not(.aem-AuthorLayer-Edit) .tab-content:not(.is-active){display:none}.section--quicklinks .snowflake-button-full-width a.pricing::before{background-image:url(https://www.snowflake.com/content/dam/snowflake-site/general/icons/decorative-icons/pricing-icon.svg)}.section--quicklinks .snowflake-button-full-width a.snowflake_on_snowflake::before{background-image:url(https://www.snowflake.com/content/dam/snowflake-site/general/icons/navigation/nav-icon_snowflake-bug.svg)}.section--quicklinks .snowflake-button-full-width a.virtual_hands_on_labs::before{background-image:url(https://www.snowflake.com/content/dam/snowflake-site/general/icons/navigation/nav-icon__training.svg)}.section--quicklinks .snowflake-button-full-width a.weekly_demo::before{background-image:url(https://www.snowflake.com/content/dam/snowflake-site/general/icons/navigation/nav-icon__webinars.svg)}@media screen and (min-width:1024px){.hero--home__inner .snowflake-experience-fragment,.offset-video,.offset-video__bg-image{left:-50%}.section--quicklinks .snowflake-flexible-column-container-items{gap:24px}.snowflake-quote-item-inner{padding:32px 24px 24px!important}}#communitiesOuter_overflowBottomGray::after{max-height:100px}#caseStudyOuter_overflowBottomMidBlue::after{max-height:180px}#caseStudyInner .snowflake-case-study-card .snowflake-wistia-video{border-radius:0!important}#caseStudyInner .snowflake-case-study-card{box-shadow:none!important;border-radius:0}#caseStudyInner{max-width:1200px;margin:0 auto;box-shadow:rgb(152 162 179 / .1) 0 10px 20px 0,rgb(152 162 179 / .25) 0 2px 6px 0;border-radius:8px;overflow:hidden;position:relative;z-index:1}.case-study__logo-bar\u003E.snowflake-flexible-column-container-items{background:#f7f9fa;padding:32px 16px 40px}.case-study__logo-bar .cmp-image__image{width:90%;margin:0 auto;max-width:240px}.hp-platform__text-group\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:not(:first-child),.sc-sidebar__group .snowflake-button-link{margin-top:8px}.workloads_7.unistore{margin-left:auto;margin-right:auto}#homepageFootnotesInner .snowflake-simple-stat-disclaimer .snowflake-text p{color:#fff!important}.snowflake-simple-stat-disclaimer .snowflake-text p\u003Ea{border-bottom:1px solid var(--ui-03);color:var(--text-03)}.snowflake-card-v2-advanced{color:inherit}#workloadCardGridOuter .snowflake-card-v2-base-front{gap:0}.video-modal.snowflake-modal-window-open-inner{background-color:#fff0;padding:8px;border:none}.snowflake-container-arrow-dotted-faded .snowflake-container-arrow-dotted-faded-image{width:40%!important;max-width:420px;top:4%!important}.list--blue-bullets ul{margin:0!important;padding:0!important;list-style-type:none}.list--blue-bullets li{margin:0;padding:0 0 0 32px;position:relative}.list--blue-bullets li::before{content:\"\";display:block;border-radius:100%;background:#29b5e8;width:18px;height:18px;position:absolute;top:4px;left:0;border:5px solid #e5f2f7;box-sizing:border-box}.list--blue-bullets li:not(:last-child){margin-bottom:1rem}.logo-tabs .snowflake-navigation-container,.snowflake-simple-stat-content:empty,.summit-speaker-card .snowflake-card-v2-advanced-text{margin-bottom:0}#techResourceInner,#techResourceOuter,div.overflow-bottom--blue,div.overflow-bottom--gray,div.overflow-bottom--mid-blue,div.overflow-bottom--white,div.overflow-top--blue,div.overflow-top--gray,div.overflow-top--mid-blue,div.overflow-top--white,div[id$=overflowBottomGray],div[id$=overflowBottomMidBlue],div[id$=overflowTopBlue],div[id$=overflowTopGray]{position:relative}div.overflow-bottom--blue::after,div.overflow-bottom--gray::after,div.overflow-bottom--mid-blue::after,div.overflow-bottom--white::after,div.overflow-top--blue::after,div.overflow-top--gray::after,div.overflow-top--mid-blue::after,div.overflow-top--white::after,div[id$=overflowBottomGray]::after,div[id$=overflowBottomMidBlue]::after,div[id$=overflowBottomWhite]::after,div[id$=overflowTopBlue]::after,div[id$=overflowTopGray]::after,div[id$=overflowTopWhite]::after{content:\"\";display:block;position:absolute;left:0;width:100%;height:40%}div.overflow-top--blue::after,div.overflow-top--gray::after,div.overflow-top--mid-blue::after,div.overflow-top--white::after,div[id$=overflowTopBlue]::after,div[id$=overflowTopGray]::after,div[id$=overflowTopWhite]::after{top:0}div.overflow-bottom--blue::after,div.overflow-bottom--gray::after,div.overflow-bottom--mid-blue::after,div.overflow-bottom--white::after,div[id$=overflowBottomGray]::after,div[id$=overflowBottomMidBlue]::after,div[id$=overflowBottomWhite]::after{bottom:0}div.overflow-bottom--white::after,div.overflow-top--white::after,div[id$=overflowBottomWhite]::after,div[id$=overflowTopWhite]::after{background:#fff!important}div.overflow-bottom--gray::after,div.overflow-top--gray::after,div[id$=overflowBottomGray]::after,div[id$=overflowTopGray]::after{background:#f6f9fa!important}div.overflow-bottom--mid-blue::after,div.overflow-top--mid-blue::after,div[id$=overflowBottomMidBlue]::after,div[id$=overflowTopMidBlue]::after{background:#11567f!important}div.overflow-bottom--blue::after,div.overflow-top--blue::after,div[id$=overflowBottomBlue]::after,div[id$=overflowTopBlue]::after{background:#259edc!important}.snowflake-premium-content-banner.promo-banner--no-shadow{box-shadow:none!important}#industryPartnerSlider .cmp-image__image,#industryPartnerSlider .section--partner-tabs .snowflake-image-container .cmp-image__image,#partnerSidebar,.has-shadow .cmp-image__image{box-shadow:0 10px 20px 0 rgb(152 162 179 / .1),0 2px 6px 0 rgb(152 162 179 / .25)}.content-chip--has-desc{align-items:flex-start;padding:20px!important}.content-chip--has-desc .snowflake-content-chip-image{max-width:100px}.content-chip--has-desc .snowflake-content-chip-image__image{aspect-ratio:1}.content-chip--has-desc .snowflake-title-v2-line:first-child{font-size:18px!important}.content-chip--has-desc .snowflake-title-v2-line:nth-child(2){color:#000!important;font-weight:500!important;font-size:16px!important;line-height:22px!important;margin-top:2px!important}.content-chip--has-desc .snowflake-content-chip-button{margin-top:6px!important;font-size:18px!important;display:none}.square-image .snowflake-content-chip-image{aspect-ratio:1;max-width:120px}.section--logo-bar.smaller-logos .snowflake-image-container .cmp-image__image{max-width:200px;margin:0 auto}.snowflake-card-v2-advanced-tag,.snowflake-content-chip-tag{padding:3px 6px!important}.sc-overview__webinar-promo-banner .snowflake-content-chip-button,.snowflake-card-v2-advanced-title:first-child,.summit-pricing-block__aside ul{margin-top:0}.dot-tabs .snowflake-navigation-container .snowflake-tabs-navigation-item{width:40px;height:40px;display:flex;justify-content:center;align-items:center;margin:0!important}.dot-tabs .snowflake-navigation-container .snowflake-tabs-navigation-item p{width:12px;height:12px;background:var(--ui-12);border-radius:100%}.dot-tabs .snowflake-navigation-container .snowflake-tabs-navigation-item p,.logo-tabs .snowflake-navigation-container .snowflake-tabs-navigation-item p{font-size:0!important}.dot-tabs .snowflake-navigation-container .snowflake-tabs-navigation-item.active p{background:var(--ui-01)}.button-tabs .snowflake-navigation-container .swiper-wrapper{padding:8px 0}.button-tabs .snowflake-navigation-container .swiper-slide{margin:0 6px}.button-tabs .snowflake-navigation-container .snowflake-tabs-navigation-item{padding:8px 24px;background-color:#f6f9fa;border-radius:48px;margin:0}.button-tabs .snowflake-navigation-container .snowflake-tabs-navigation-item p{text-transform:uppercase;font-family:Texta,sans-serif;font-weight:700}.button-tabs .border-top{border-top:1px solid #ccc}.button-tabs .snowflake-navigation-container .snowflake-tabs-navigation-item.active{background-color:var(--ui-01);box-shadow:0 2px 6px 0 rgb(152 162 179 / .25),0 10px 20px 0 rgb(152 162 179 / .1)}.button-tabs .snowflake-navigation-container .snowflake-tabs-navigation-item.active p{color:#fff}.button-tabs.has-icons .snowflake-navigation-container .snowflake-tabs-navigation-item p::before{content:\"\";display:inline-block;width:20px;height:20px;background-size:contain;background-repeat:no-repeat;background-position:center center;margin-right:12px;vertical-align:middle;margin-top:-3px}.logo-tabs .snowflake-navigation-container .snowflake-tabs-navigation-item{width:220px;padding-bottom:50%;height:0;margin:0 8px!important;background-size:cover;background-repeat:no-repeat;opacity:.5;transition:opacity .3s}.logo-tabs .snowflake-navigation-container .snowflake-tabs-navigation-item:hover{opacity:.75;transition:opacity .3s}.logo-tabs .snowflake-navigation-container .snowflake-tabs-navigation-item.active{opacity:1;transition:opacity .3s}.dot-tabs .aem-container.cmp-tabs,.logo-tabs .aem-container.cmp-tabs{display:flex;flex-direction:column-reverse}.snowflake-icon.is-center{margin:0 auto;display:block}#industryPartnerSlider .snowflake-flexible-column-container-items,#partnerLogoSquare .snowflake-flexible-column-container-items{gap:24px}#techResourceOuter::after{content:\"\";display:block;position:absolute;top:0;left:0;width:100%;height:40%;background:#f6f9fa}#techResourceInner{z-index:1}.partner-tier-tag h6{display:inline-block!important;padding:2px 6px;border-radius:2px;color:#666}.partner-tier-tag.registered h6{background-color:#f6f9fa}.partner-tier-tag.elite h6{background-color:#11567f;color:#fff}.partner-tier-tag.premier h6{background-color:#b14c77;color:#fff}.partner-tier-tag.select h6{background-color:#5094a0;color:#fff}.partner-details\u003Espan{display:flex;gap:24px}.partner-details a{color:inherit!important;font-weight:400!important}.partner-details p::before{content:\"\";display:inline-block;vertical-align:middle;width:16px;height:16px;background-repeat:no-repeat;background-position:center;transform:translateY(-1px);background-size:auto 90%;margin-right:6px}.partner-details__location::before{background-image:url(\"data:image/svg+xml,%3Csvg width='13' height='18' viewBox='0 0 13 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M6.25 17.7531C6.4375 17.7531 6.6 17.6844 6.7375 17.5531C6.875 17.4219 6.95 17.2531 6.95 17.0531C6.95 16.8531 7.075 16.4281 7.3 15.7969C7.5875 15.0281 7.925 14.3156 8.30625 13.6406C8.8 12.7781 9.3125 12.1031 9.85 11.6094C10.75 10.7969 11.4125 9.96563 11.85 9.12188C12.2875 8.27813 12.5063 7.40313 12.5063 6.49063C12.5063 5.36563 12.2187 4.31563 11.6437 3.33438C11.0937 2.40313 10.3438 1.65938 9.4 1.10938C8.43125 .534376 7.375 .246876 6.24375 .246876C5.1125 .246876 4.06875 .534376 3.0875 1.10938C2.15625 1.65938 1.4125 2.40313 .862498 3.33438C.287498 4.31563 0 5.36563 0 6.49063C0 7.47188 .262499 8.42813 .787499 9.35938C1.14375 10.0031 1.65625 10.6656 2.3125 11.3344C2.75625 11.8031 3.24375 12.4781 3.78125 13.3656C4.225 14.0969 4.63125 14.8594 5 15.6656C5.35 16.3844 5.53125 16.8531 5.55625 17.0656C5.55625 17.2594 5.625 17.4156 5.7625 17.5531C5.9 17.6844 6.0625 17.7531 6.25 17.7531ZM6.16875 14.9156C5.775 14.0656 5.325 13.2469 4.825 12.4594C4.275 11.5594 3.7625 10.8719 3.28125 10.3969C2.625 9.71563 2.1375 9.05938 1.825 8.43438C1.5125 7.80313 1.35625 7.16563 1.35625 6.50313C1.35625 5.61563 1.575 4.80313 2.0125 4.05313C2.45 3.30313 3.04375 2.71563 3.7875 2.27813C4.5375 1.84063 5.35 1.62188 6.2375 1.62188C7.125 1.62188 7.9375 1.84063 8.6875 2.27813C9.4375 2.71563 10.0312 3.30313 10.475 4.04688C10.9187 4.80313 11.1375 5.62188 11.1375 6.50313C11.1375 7.90313 10.3937 9.26563 8.9125 10.5969C8.35 11.1094 7.8125 11.7906 7.3 12.6406C6.88125 13.3344 6.50625 14.0969 6.16875 14.9219V14.9156ZM6.26875 8.36563C6.65625 8.36563 7.01875 8.26563 7.35625 8.07188C7.69375 7.87813 7.95625 7.60938 8.14375 7.28438C8.3375 6.95313 8.43125 6.59063 8.43125 6.19688C8.43125 5.80313 8.33125 5.43438 8.1375 5.10313C7.9375 4.76563 7.675 4.50313 7.3375 4.31563C7 4.12813 6.6375 4.02813 6.24375 4.02813C5.85 4.02813 5.4875 4.12813 5.15625 4.32188C4.825 4.52188 4.56875 4.78438 4.375 5.12188C4.18125 5.45938 4.0875 5.82188 4.0875 6.20938C4.0875 6.59688 4.1875 6.95938 4.38125 7.29688C4.58125 7.63438 4.84375 7.89688 5.18125 8.08438C5.51875 8.27813 5.88125 8.37188 6.26875 8.37188V8.36563ZM6.24375 7.50313C5.8875 7.50313 5.575 7.37188 5.31875 7.11563C5.0625 6.85938 4.93125 6.55313 4.93125 6.19063C4.93125 5.82813 5.0625 5.52188 5.31875 5.26563C5.575 5.00938 5.88125 4.87813 6.24375 4.87813C6.60625 4.87813 6.9125 5.00938 7.16875 5.26563C7.425 5.52188 7.55625 5.82813 7.55625 6.19063C7.55625 6.55313 7.425 6.85938 7.16875 7.11563C6.9125 7.37188 6.60625 7.50313 6.24375 7.50313Z' fill='%2329B5E8'/%3E%3C/svg%3E%0A\")}.partner-details__website::before{background-image:url(\"data:image/svg+xml,%3Csvg width='18' height='16' viewBox='0 0 18 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.61587 2.96889C2.61587 2.75109 2.79633 2.57062 3.01413 2.57062C3.23192 2.57062 3.41238 2.75109 3.41238 2.96889C3.41238 3.18669 3.23192 3.36716 3.01413 3.36716C2.79633 3.36716 2.61587 3.18669 2.61587 2.96889ZM4.21512 2.96889C4.21512 2.75109 4.39558 2.57062 4.61338 2.57062C4.83117 2.57062 5.01163 2.75109 5.01163 2.96889C5.01163 3.18669 4.83117 3.36716 4.61338 3.36716C4.39558 3.36716 4.21512 3.18669 4.21512 2.96889ZM5.81438 2.96889C5.81438 2.75109 5.99484 2.57062 6.21264 2.57062C6.43043 2.57062 6.61089 2.75109 6.61089 2.96889C6.61089 3.18669 6.43043 3.36716 6.21264 3.36716C5.99484 3.36716 5.81438 3.18669 5.81438 2.96889ZM17.2518 .697559H1.19085C.811258 .697559 .506348 1.0025 .506348 1.38209V14.6179C.506348 14.9975 .811258 15.3024 1.19085 15.3024H17.2518C17.6314 15.3024 17.9363 14.9975 17.9363 14.6179V1.38209C17.9363 1.0025 17.6314 .697559 17.2518 .697559ZM16.5673 2.06035V3.90853H1.86914V2.06035H16.5673ZM1.86914 13.9334V4.78593H16.5673V13.9334H1.86914Z' fill='%2329B5E8'/%3E%3C/svg%3E%0A\")}#partnerSidebar{border-radius:4px;background-color:#fff;padding:24px 24px 32px;border-bottom:6px solid #29b5e8}#partnerSidebar h5,.newsletter-disclaimer p{font-size:14px!important}#partnerSidebar ul{margin-top:0;list-style-type:none;padding:0;display:flex;flex-wrap:wrap;gap:8px}#partnerSidebar li{border:1px solid;border-radius:2px;padding:0 4px!important;font-size:11px!important;letter-spacing:.25px;text-transform:uppercase}div.snowflake-partner-hero-card{width:100%;margin:0}.partner-details__logo{max-width:380px;margin:0 auto}@media screen and (max-width:767px){.left-alignment .hp-hero__subheadline{margin-left:auto;margin-right:auto}.left-alignment .hp-hero__headline .snowflake-title-v2-line,.left-alignment .hp-hero__subheadline .snowflake-title-v2-line{text-align:center}.hero--home__inner .snowflake-flexible-column-container-items-top-padding-large{padding-top:var(--spacing-02)}.section--logo-bar\u003E.snowflake-flexible-column-container-items{display:flex;flex-wrap:wrap;flex-direction:row;justify-content:center;gap:8px}.section--logo-bar\u003E.snowflake-flexible-column-container-items\u003Ediv{width:calc(33.33% - 8px)}.partner-sidebar__mobile-expand{display:inline-block;color:#249edc;border-color:#249edc!important}#partnerSidebar li:nth-child(n+6),.summit-nav__links .snowflake-button-tertiary{display:none}.sc-body__sidebar{background-color:#f6f9fa;padding:24px}.sc-body__content{padding:0 24px 24px}.summit-speaker-card .snowflake-card-v2-advanced-content{padding:24px}}#partnerResources h6,.snowflake-tabs-navigation-item p.body-1{font-size:16px!important}#partnerResources .section--resource-hub{padding:0 16px}#partnerResources .section--resource-hub a,.bwalignl{text-align:left}@media screen and (max-width:1023px){.hero--workload .snowflake-hero-system-media-container{width:100%}}.section--timely-content .snowflake-content-chip,.snowflake-mega-nav-dropdown-footer-wrapper{align-items:center}.section--timely-content .snowflake-content-chip-image{max-width:94px}.section--timely-content .snowflake-content-chip-image__inner{line-height:0}.section--timely-content .snowflake-content-chip-image__image{aspect-ratio:1;height:auto}.section--workload-overview .workload-overview__headline{max-width:280px;margin:0 auto}#industryPartnerSlider .swiper-slide{margin-top:0!important;padding:0 12px}#industryPartnerSlider .snowflake-tabs-navigation-item{margin-left:0!important;margin-right:0!important}#industryPartnerSlider .snowflake-premium-content-banner-background-grad-white .snowflake-premium-content-banner{box-shadow:none}#industryPartnerSlider .logo-slider__slide .aem-container{display:flex;padding:0 8px!important;flex-wrap:wrap;gap:16px!important;justify-content:center}#industryPartnerSlider .logo-slider__slide .aem-container\u003Ediv{width:48%;max-width:200px}#useCaseTabs{padding-top:24px;padding-bottom:24px;padding-right:24px}#useCaseTabs .tab-content.is-active{display:block}#useCaseTabs .vert-tab{border-bottom:1px solid #a0bbcc;padding-bottom:16px}#useCaseTabs .vert-tab p{display:inline-block}#useCaseTabs .vert-tab p:hover{cursor:pointer}#useCaseTabs .vert-tab p,#useCaseTabs .vert-tab.is-active p.not-active{color:#249edc}#useCaseTabs .vert-tab p.is-active,#useCaseTabs .vert-tab.is-active p{color:#000}#industryPlatformSection{background-image:url(/adobe/dynamicmedia/deliver/dm-aid--db074ad5-7122-4c51-87a3-76c3aa466182/double-arrow-bg%403x.png);background-repeat:no-repeat}.snowflake-text p.featured-quote__source{font-weight:900!important;text-transform:uppercase;font-size:16px!important;margin-top:2rem!important}.snowflake-text p.featured-quote__title{margin-top:0!important;font-size:16px!important}.snowflake-case-study-card-logo img{width:auto!important;height:100px!important;transform:translateX(-15%)}.snowflake-quote-item-quote-text{font-weight:600!important}#customerStoryStatsInner\u003E.container\u003E.cmp-container\u003E.aem-container{display:flex;flex-direction:row}#customerStoryStat1,#customerStoryStat2{max-width:240px}#storyHighlights{border-radius:4px;padding:1rem}.sc-overview__webinar-promo-banner .snowflake-content-chip-content .snowflake-title-v2-line,.summit-pricing-block__tile .black-blue-text-color .snowflake-title-v2-line{color:#000!important}.snowflake-youtube-embedded-wrapper{border-radius:var(--small-border-radius)}#arcticNavItem::before,#offset::before,#open-source::before{color:var(--text-05);font-family:Texta,sans-serif!important}#offset,.sc-architecture-caption{margin-top:16px}.hero--press .snowflake-title-v2-line{text-transform:none!important}@media screen and (min-width:768px){.subpage-timely-content__inner\u003E.snowflake-flexible-column-container-items{box-shadow:0 10px 20px 0 rgb(152 162 179 / .1),0 2px 6px 0 rgb(152 162 179 / .25);padding:var(--spacing-04);border-radius:4px;overflow:hidden}#partnerLogoSquare{padding:0 0 0 48px}.hero--workload .snowflake-container{max-width:1440px;margin:0 auto!important;align-items:center}#industryPartnerSlider.snowflake-flexible-column-container-2-column-40-60\u003E.snowflake-flexible-column-container-items{grid-template-columns:minmax(40%,4fr) minmax(0,6fr)}#industryPartnerSlider .swiper-slide{padding:0 24px}.sc-body{padding:48px}.sc-body\u003E.snowflake-flexible-column-container-items{grid-template-columns:7fr 3fr;gap:124px}}.snowflake-button-container.has-icon{display:inline-flex;justify-content:center;align-items:center;text-align:left}.snowflake-button-container.has-icon::before{content:\"\";display:inline-block;width:20px;height:20px;margin-right:12px;background-size:contain;background-repeat:no-repeat;background-position:center}.snowflake-button-container.is-video::before{background-image:url(\"data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 1.28663C13.2523 1.28663 16.7134 4.74768 16.7134 9C16.7134 13.2523 13.2523 16.7134 9 16.7134C4.74768 16.7198 1.28663 13.2588 1.28663 9C1.28663 4.74124 4.74768 1.28663 9 1.28663ZM9 0C4.0336 0 0 4.0336 0 9C0 13.9664 4.0336 18 9 18C13.9728 18 18 13.9664 18 9C18 4.0336 13.9728 0 9 0Z' fill='white'/%3E%3Cpath d='M7.75106 6.18211C7.42941 6.16925 7.16565 6.42658 7.16565 6.74823V11.2772C7.16565 11.7082 7.65457 11.9848 8.02126 11.7597L11.7975 9.4952C12.1578 9.27647 12.1578 8.74252 11.7975 8.52379L8.02126 6.25931C7.93763 6.21428 7.84756 6.18211 7.75106 6.18211Z' fill='white'/%3E%3C/svg%3E%0A\")}.snowflake-button-container.is-github::before{background-image:url(\"data:image/svg+xml,%3Csvg width='20' height='21' viewBox='0 0 20 21' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M10 .651794C4.475 .651794 0 5.12679 0 10.6518C0 15.0768 2.8625 18.8143 6.8375 20.1393C7.3375 20.2268 7.525 19.9268 7.525 19.6643C7.525 19.4268 7.5125 18.6393 7.5125 17.8018C5 18.2643 4.35 17.1893 4.15 16.6268C4.0375 16.3393 3.55 15.4518 3.125 15.2143C2.775 15.0268 2.275 14.5643 3.1125 14.5518C3.9 14.5393 4.4625 15.2768 4.65 15.5768C5.55 17.0893 6.9875 16.6643 7.5625 16.4018C7.65 15.7518 7.9125 15.3143 8.2 15.0643C5.975 14.8143 3.65 13.9518 3.65 10.1268C3.65 9.03929 4.0375 8.13929 4.675 7.43929C4.575 7.18929 4.225 6.16429 4.775 4.78929C4.775 4.78929 5.6125 4.52679 7.525 5.81429C8.325 5.58929 9.175 5.47679 10.025 5.47679C10.875 5.47679 11.725 5.58929 12.525 5.81429C14.4375 4.51429 15.275 4.78929 15.275 4.78929C15.825 6.16429 15.475 7.18929 15.375 7.43929C16.0125 8.13929 16.4 9.02679 16.4 10.1268C16.4 13.9643 14.0625 14.8143 11.8375 15.0643C12.2 15.3768 12.5125 15.9768 12.5125 16.9143C12.5125 18.2518 12.5 19.3268 12.5 19.6643C12.5 19.9268 12.6875 20.2393 13.1875 20.1393C17.1375 18.8143 20 15.0643 20 10.6518C20 5.12679 15.525 .651794 10 .651794Z' fill='%23249EDC'/%3E%3C/svg%3E%0A\")}.snowflake-button-container.is-quickstart::before{background-image:url(\"data:image/svg+xml,%3Csvg width='15' height='21' viewBox='0 0 15 21' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.8489 2.79368H11.6439V2.38493C11.6439 1.71368 11.1451 .967427 10.4251 .967427H8.94762C8.80887 .359927 8.37387 .299927 7.89762 .299927H7.23012C6.85512 .299927 6.26637 .299927 6.08637 .967427H4.68387C3.94887 .967427 3.35637 1.74368 3.35637 2.38493V2.79368H1.15137C.738867 2.79368 .401367 3.13118 .401367 3.54368V20.2537C.401367 20.6662 .738867 21.0037 1.15137 21.0037H13.8489C14.2614 21.0037 14.5989 20.6662 14.5989 20.2537V3.54368C14.5989 3.13118 14.2614 2.79368 13.8489 2.79368ZM4.29387 2.38493C4.29387 2.18243 4.54137 1.90493 4.68387 1.90493H6.50262C6.76137 1.90493 6.97137 1.69493 6.97137 1.43618C6.97137 1.33868 6.97887 1.27868 6.98637 1.24118C7.05012 1.23368 7.15512 1.23368 7.23387 1.23368H7.90137C7.95012 1.23368 8.00637 1.23368 8.05137 1.23368C8.05512 1.27868 8.05887 1.34243 8.05887 1.43243C8.05887 1.69118 8.26887 1.90118 8.52762 1.90118H10.4289C10.5301 1.90118 10.7101 2.14493 10.7101 2.38118V2.78993H4.29762V2.38118L4.29387 2.38493ZM13.0989 19.4999H1.90137V4.29368H13.0989V19.5037V19.4999Z' fill='%23249EDC'/%3E%3Cpath d='M3.82512 16.0424H11.1751C11.4339 16.0424 11.6439 15.8324 11.6439 15.5736V6.88486C11.6439 6.62611 11.4339 6.41611 11.1751 6.41611H3.82512C3.56637 6.41611 3.35637 6.62611 3.35637 6.88486V15.5736C3.35637 15.8324 3.56637 16.0424 3.82512 16.0424ZM4.29387 15.1049V13.3686H10.7064V15.1049H4.29387ZM10.7101 7.35361V12.4311H4.29762V7.35361H10.7101Z' fill='%23249EDC'/%3E%3Cpath d='M6.16512 9.35989H8.83887C9.09762 9.35989 9.30762 9.14989 9.30762 8.89114C9.30762 8.63239 9.09762 8.42239 8.83887 8.42239H6.16512C5.90637 8.42239 5.69637 8.63239 5.69637 8.89114C5.69637 9.14989 5.90637 9.35989 6.16512 9.35989Z' fill='%23249EDC'/%3E%3Cpath d='M6.16512 11.3624H8.83887C9.09762 11.3624 9.30762 11.1524 9.30762 10.8937C9.30762 10.6349 9.09762 10.4249 8.83887 10.4249H6.16512C5.90637 10.4249 5.69637 10.6349 5.69637 10.8937C5.69637 11.1524 5.90637 11.3624 6.16512 11.3624Z' fill='%23249EDC'/%3E%3C/svg%3E%0A\")}.snowflake-button-container.is-download::before{background-image:url(\"data:image/svg+xml,%3Csvg width='16' height='18' viewBox='0 0 16 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15.2017 17.1637H.798265C.364425 17.1637 0 16.7993 0 16.3655V12.3568C0 11.923 .364425 11.5585 .798265 11.5585C1.2321 11.5585 1.59653 11.923 1.59653 12.3568V15.5498H14.4035V12.3568C14.4035 11.923 14.7679 11.5585 15.2017 11.5585C15.6356 11.5585 16 11.923 16 12.3568V16.3655C16 16.7993 15.6529 17.1637 15.2017 17.1637Z' fill='%23249EDC'/%3E%3Cpath d='M7.94793 12.9642C7.84381 12.9642 7.73969 12.9468 7.63557 12.8947C7.34056 12.7733 7.14967 12.4783 7.14967 12.1485L7.18437 .938127C7.18437 .504287 7.5488 .139862 7.98264 .139862C8.41648 .139862 8.7809 .504287 8.7809 .938127L8.7462 10.257L12.8416 6.33509C13.154 6.02273 13.6746 6.04008 13.9696 6.35244C14.282 6.66481 14.2646 7.18542 13.9523 7.48043L8.50325 12.7386C8.36442 12.8774 8.15617 12.9642 7.94793 12.9642Z' fill='%23249EDC'/%3E%3Cpath d='M7.94793 12.9642C7.73969 12.9642 7.54881 12.8947 7.39262 12.7386L2.03037 7.53249C1.718 7.22012 1.70065 6.71687 2.01301 6.40451C2.32538 6.09214 2.82863 6.07479 3.141 6.38715L8.50325 11.5932C8.81562 11.9056 8.83297 12.4088 8.52061 12.7212C8.36442 12.8774 8.15617 12.9642 7.94793 12.9642Z' fill='%23249EDC'/%3E%3C/svg%3E%0A\")}.snowflake-button-container.is-expand::before{background-image:url(\"data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.64375 10.9125C6.9375 11.2062 6.93125 11.6812 6.64375 11.9687L2.57502 16H3.79375C4.20625 16 4.54376 16.3375 4.54376 16.75C4.54376 17.1625 4.20625 17.5 3.79375 17.5H.756264C.556264 17.5 .36876 17.4187 .22501 17.2812C.22501 17.2812 .206248 17.25 .193748 17.2375C.143748 17.1812 .100004 17.1125 .0625038 17.0437C.0375038 16.9687 .0187492 16.8937 .0187492 16.8187C.0187492 16.8 .0062561 16.7813 .0062561 16.7625V13.725C.0187561 13.3125 .356257 12.9875 .768757 12.9937C1.16876 13 1.48752 13.325 1.50002 13.725V14.9688L5.5875 10.9187C5.88125 10.6312 6.35 10.6312 6.64375 10.9187V10.9125ZM17.5063 .743732C17.5063 .543732 17.425 .356235 17.2875 .218735C17.2875 .218735 17.2562 .199998 17.2437 .193748C17.1875 .137498 17.1188 .0937347 17.0438 .0624847C16.9688 .0374847 16.8938 .0187492 16.8188 .0187492C16.8 .0187492 16.7813 .00623703 16.7625 .00623703H13.725C13.3125 .00623703 12.975 .343745 12.975 .756245C12.975 1.16874 13.3125 1.50623 13.725 1.50623H14.9688L11.1312 5.37498C10.8437 5.67498 10.8563 6.14999 11.1563 6.43124C11.45 6.71249 11.9063 6.70624 12.1938 6.43124L16.0125 2.575V3.79375C16.0125 4.20625 16.35 4.54372 16.7625 4.54372C17.175 4.54372 17.5125 4.20625 17.5125 3.79375V.756245L17.5063 .743732ZM16.7562 12.9688C16.3437 12.9688 16.0063 13.3063 16.0063 13.7188V14.8937L12.1938 10.925C11.9063 10.625 11.4375 10.6188 11.1375 10.9063C10.8375 11.1938 10.8313 11.6625 11.1188 11.9625L15 16.0062H13.7188C13.3063 16.0062 12.9688 16.3437 12.9688 16.7562C12.9688 17.1687 13.3063 17.5063 13.7188 17.5063H16.7562C16.85 17.5063 16.95 17.4875 17.0375 17.45C17.0875 17.425 17.1313 17.3937 17.175 17.3625C17.2063 17.3437 17.2438 17.325 17.275 17.3C17.3313 17.2375 17.375 17.1687 17.4125 17.1C17.4188 17.0875 17.4375 17.075 17.4438 17.0562C17.45 17.025 17.4563 16.9938 17.4625 16.9625C17.4813 16.9 17.5 16.8375 17.5 16.7687V13.725C17.5 13.3125 17.1687 12.975 16.7562 12.975V12.9688ZM.750008 4.53125C1.16251 4.53125 1.50002 4.19374 1.50002 3.78124V2.5L5.59376 6.43124C5.89376 6.71874 6.36251 6.70626 6.65001 6.41251C6.93751 6.11876 6.92501 5.64375 6.63126 5.35625L2.61251 1.49998H3.7875C4.2 1.49998 4.53751 1.16249 4.53751 .749989C4.53751 .337489 4.2 0 3.7875 0H.743752C.668752 0 .600004 .0187355 .531254 .0437355C.506254 .0499855 .481263 .0437477 .462513 .0562477C.443763 .0687477 .425015 .0812462 .406265 .0937462C.337515 .124996 .275004 .168741 .218754 .224991H.212498C.212498 .224991 .175 .28125 .15625 .3125C.11875 .3625 .0812477 .4125 .0562477 .46875C.0374977 .525 .0249992 .587499 .0187492 .643749C.0124992 .674999 0 .712482 0 .743732V3.78124C0 4.19374 .337508 4.53125 .750008 4.53125Z' fill='white'/%3E%3C/svg%3E%0A\")}@keyframes slow-scroll{100%{transform:translateY(-50%)}}.sc-hero{overflow:hidden;background-color:#212d35;background-repeat:repeat-y;background-image:url(\"data:image/svg+xml,%3Csvg width='389' height='17' viewBox='0 0 389 17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M.638672 7.80824L.638672 9.2566C.638672 9.52364 .85538 9.74024 1.12262 9.74024H2.57204C2.83928 9.74024 3.05598 9.52364 3.05598 9.2566V7.80824C3.05598 7.54119 2.83928 7.32472 2.57204 7.32472L1.12262 7.32472C.85538 7.32472 .638672 7.54119 .638672 7.80824Z' fill='url(%23paint0_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M10.9639 7.80824V9.2566C10.9639 9.52364 11.1806 9.74024 11.4478 9.74024L12.8972 9.74024C13.1645 9.74024 13.3812 9.52364 13.3812 9.2566V7.80824C13.3812 7.54119 13.1645 7.32471 12.8972 7.32471L11.4478 7.32471C11.1806 7.32471 10.9639 7.54119 10.9639 7.80824Z' fill='url(%23paint1_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M21.2891 7.80823V9.2566C21.2891 9.52364 21.5058 9.74024 21.773 9.74024L23.2224 9.74024C23.4897 9.74024 23.7064 9.52364 23.7064 9.2566V7.80823C23.7064 7.54119 23.4897 7.32471 23.2224 7.32471L21.773 7.32471C21.5058 7.32471 21.2891 7.54119 21.2891 7.80823Z' fill='url(%23paint2_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M31.6143 7.80823V9.2566C31.6143 9.52364 31.831 9.74024 32.0982 9.74024H33.5476C33.8149 9.74024 34.0316 9.52364 34.0316 9.2566V7.80823C34.0316 7.54119 33.8149 7.32471 33.5476 7.32471L32.0982 7.32471C31.831 7.32471 31.6143 7.54119 31.6143 7.80823Z' fill='url(%23paint3_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M41.9395 7.80823V9.2566C41.9395 9.52364 42.1562 9.74024 42.4234 9.74024H43.8728C44.1401 9.74024 44.3568 9.52364 44.3568 9.2566V7.80823C44.3568 7.54119 44.1401 7.32471 43.8728 7.32471L42.4234 7.32471C42.1562 7.32471 41.9395 7.54119 41.9395 7.80823Z' fill='url(%23paint4_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M52.5076 7.80823V9.2566C52.5076 9.52364 52.7243 9.74024 52.9916 9.74024H54.441C54.7082 9.74024 54.9249 9.52364 54.9249 9.2566V7.80823C54.9249 7.54119 54.7082 7.32471 54.441 7.32471L52.9916 7.32471C52.7243 7.32471 52.5076 7.54119 52.5076 7.80823Z' fill='url(%23paint5_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M62.8331 7.80823V9.2566C62.8331 9.52364 63.0493 9.74024 63.3165 9.74024H64.7664C65.0332 9.74024 65.2504 9.52364 65.2504 9.2566V7.80823C65.2504 7.54119 65.0332 7.32471 64.7664 7.32471L63.3165 7.32471C63.0493 7.32471 62.8331 7.54119 62.8331 7.80823Z' fill='url(%23paint6_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M73.1583 7.80823V9.2566C73.1583 9.52364 73.3745 9.74024 73.6417 9.74024H75.0916C75.3584 9.74024 75.5756 9.52364 75.5756 9.2566V7.80823C75.5756 7.54119 75.3584 7.32471 75.0916 7.32471L73.6417 7.32471C73.3745 7.32471 73.1583 7.54119 73.1583 7.80823Z' fill='url(%23paint7_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M83.4835 7.80823V9.2566C83.4835 9.52364 83.6997 9.74024 83.9669 9.74024H85.4168C85.6836 9.74024 85.9008 9.52364 85.9008 9.2566V7.80823C85.9008 7.54119 85.6836 7.32471 85.4168 7.32471L83.9669 7.32471C83.6997 7.32471 83.4835 7.54119 83.4835 7.80823Z' fill='url(%23paint8_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M93.8087 7.80823V9.2566C93.8087 9.52364 94.0249 9.74024 94.2921 9.74024H95.742C96.0088 9.74024 96.226 9.52364 96.226 9.2566V7.80823C96.226 7.54119 96.0088 7.32471 95.742 7.32471L94.2921 7.32471C94.0249 7.32471 93.8087 7.54119 93.8087 7.80823Z' fill='url(%23paint9_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M104.134 7.80823V9.2566C104.134 9.52364 104.35 9.74024 104.617 9.74024H106.067C106.334 9.74024 106.551 9.52364 106.551 9.2566V7.80823C106.551 7.54119 106.334 7.32471 106.067 7.32471L104.617 7.32471C104.35 7.32471 104.134 7.54119 104.134 7.80823Z' fill='url(%23paint10_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M114.702 7.80823V9.2566C114.702 9.52364 114.918 9.74024 115.185 9.74024L116.635 9.74024C116.902 9.74024 117.119 9.52364 117.119 9.25659V7.80823C117.119 7.54119 116.902 7.32471 116.635 7.32471L115.185 7.32471C114.918 7.32471 114.702 7.54119 114.702 7.80823Z' fill='url(%23paint11_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M125.027 7.80823V9.25659C125.027 9.52364 125.243 9.74024 125.511 9.74024L126.961 9.74024C127.227 9.74024 127.445 9.52364 127.445 9.25659V7.80823C127.445 7.54119 127.227 7.32471 126.961 7.32471L125.511 7.32471C125.243 7.32471 125.027 7.54119 125.027 7.80823Z' fill='url(%23paint12_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M135.352 7.80823V9.25659C135.352 9.52364 135.569 9.74024 135.836 9.74024H137.286C137.553 9.74024 137.77 9.52364 137.77 9.25659V7.80823C137.77 7.54119 137.553 7.32471 137.286 7.32471L135.836 7.32471C135.569 7.32471 135.352 7.54119 135.352 7.80823Z' fill='url(%23paint13_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M145.678 7.80823V9.25659C145.678 9.52364 145.894 9.74024 146.161 9.74024H147.611C147.878 9.74024 148.095 9.52364 148.095 9.25659V7.80823C148.095 7.54119 147.878 7.32471 147.611 7.32471L146.161 7.32471C145.894 7.32471 145.678 7.54119 145.678 7.80823Z' fill='url(%23paint14_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M156.003 7.80823V9.25659C156.003 9.52364 156.219 9.74024 156.486 9.74024H157.936C158.203 9.74024 158.42 9.52364 158.42 9.25659V7.80823C158.42 7.54119 158.203 7.32471 157.936 7.32471L156.486 7.32471C156.219 7.32471 156.003 7.54119 156.003 7.80823Z' fill='url(%23paint15_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M166.328 7.80823V9.25659C166.328 9.52363 166.544 9.74024 166.811 9.74024H168.261C168.528 9.74024 168.745 9.52363 168.745 9.25659V7.80823C168.745 7.54119 168.528 7.32471 168.261 7.32471L166.811 7.32471C166.544 7.32471 166.328 7.54119 166.328 7.80823Z' fill='url(%23paint16_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M176.896 7.80823V9.25659C176.896 9.52363 177.112 9.74023 177.38 9.74023H178.83C179.096 9.74023 179.313 9.52363 179.313 9.25659V7.80823C179.313 7.54119 179.096 7.32471 178.83 7.32471L177.38 7.32471C177.112 7.32471 176.896 7.54119 176.896 7.80823Z' fill='url(%23paint17_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M187.221 7.80823V9.25659C187.221 9.52363 187.438 9.74023 187.705 9.74023H189.155C189.421 9.74023 189.639 9.52363 189.639 9.25659V7.80823C189.639 7.54119 189.421 7.32471 189.155 7.32471L187.705 7.32471C187.438 7.32471 187.221 7.54119 187.221 7.80823Z' fill='url(%23paint18_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M199.639 7.80824V9.2566C199.639 9.52364 199.855 9.74024 200.123 9.74024H201.572C201.839 9.74024 202.056 9.52364 202.056 9.2566V7.80824C202.056 7.54119 201.839 7.32472 201.572 7.32472L200.123 7.32472C199.855 7.32472 199.639 7.54119 199.639 7.80824Z' fill='url(%23paint19_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M209.964 7.80824V9.2566C209.964 9.52364 210.181 9.74024 210.448 9.74024L211.897 9.74024C212.164 9.74024 212.381 9.52364 212.381 9.2566V7.80824C212.381 7.54119 212.164 7.32471 211.897 7.32471L210.448 7.32471C210.181 7.32471 209.964 7.54119 209.964 7.80824Z' fill='url(%23paint20_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M220.289 7.80823V9.2566C220.289 9.52364 220.506 9.74024 220.773 9.74024L222.222 9.74024C222.49 9.74024 222.706 9.52364 222.706 9.2566V7.80823C222.706 7.54119 222.49 7.32471 222.222 7.32471L220.773 7.32471C220.506 7.32471 220.289 7.54119 220.289 7.80823Z' fill='url(%23paint21_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M230.614 7.80823V9.2566C230.614 9.52364 230.831 9.74024 231.098 9.74024H232.548C232.815 9.74024 233.032 9.52364 233.032 9.2566V7.80823C233.032 7.54119 232.815 7.32471 232.548 7.32471L231.098 7.32471C230.831 7.32471 230.614 7.54119 230.614 7.80823Z' fill='url(%23paint22_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M240.939 7.80823V9.2566C240.939 9.52364 241.156 9.74024 241.423 9.74024H242.873C243.14 9.74024 243.357 9.52364 243.357 9.2566V7.80823C243.357 7.54119 243.14 7.32471 242.873 7.32471L241.423 7.32471C241.156 7.32471 240.939 7.54119 240.939 7.80823Z' fill='url(%23paint23_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M251.508 7.80823V9.2566C251.508 9.52364 251.724 9.74024 251.992 9.74024H253.441C253.708 9.74024 253.925 9.52364 253.925 9.2566V7.80823C253.925 7.54119 253.708 7.32471 253.441 7.32471L251.992 7.32471C251.724 7.32471 251.508 7.54119 251.508 7.80823Z' fill='url(%23paint24_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M261.833 7.80823V9.2566C261.833 9.52364 262.049 9.74024 262.317 9.74024H263.766C264.033 9.74024 264.25 9.52364 264.25 9.2566V7.80823C264.25 7.54119 264.033 7.32471 263.766 7.32471L262.317 7.32471C262.049 7.32471 261.833 7.54119 261.833 7.80823Z' fill='url(%23paint25_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M272.158 7.80823V9.2566C272.158 9.52364 272.374 9.74024 272.642 9.74024H274.092C274.358 9.74024 274.576 9.52364 274.576 9.2566L274.576 7.80823C274.576 7.54119 274.358 7.32471 274.092 7.32471L272.642 7.32471C272.374 7.32471 272.158 7.54119 272.158 7.80823Z' fill='url(%23paint26_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M282.483 7.80823V9.2566C282.483 9.52364 282.7 9.74024 282.967 9.74024H284.417C284.684 9.74024 284.901 9.52364 284.901 9.2566V7.80823C284.901 7.54119 284.684 7.32471 284.417 7.32471L282.967 7.32471C282.7 7.32471 282.483 7.54119 282.483 7.80823Z' fill='url(%23paint27_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M292.809 7.80823L292.809 9.2566C292.809 9.52364 293.025 9.74024 293.292 9.74024H294.742C295.009 9.74024 295.226 9.52364 295.226 9.2566V7.80823C295.226 7.54119 295.009 7.32471 294.742 7.32471L293.292 7.32471C293.025 7.32471 292.809 7.54119 292.809 7.80823Z' fill='url(%23paint28_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M303.134 7.80823L303.134 9.2566C303.134 9.52364 303.35 9.74024 303.617 9.74024H305.067C305.334 9.74024 305.551 9.52364 305.551 9.2566V7.80823C305.551 7.54119 305.334 7.32471 305.067 7.32471L303.617 7.32471C303.35 7.32471 303.134 7.54119 303.134 7.80823Z' fill='url(%23paint29_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M313.702 7.80823L313.702 9.2566C313.702 9.52364 313.918 9.74024 314.185 9.74024L315.635 9.74024C315.902 9.74024 316.119 9.52364 316.119 9.25659V7.80823C316.119 7.54119 315.902 7.32471 315.635 7.32471L314.185 7.32471C313.918 7.32471 313.702 7.54119 313.702 7.80823Z' fill='url(%23paint30_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M324.027 7.80823V9.25659C324.027 9.52364 324.243 9.74024 324.511 9.74024L325.961 9.74024C326.227 9.74024 326.445 9.52364 326.445 9.25659V7.80823C326.445 7.54119 326.227 7.32471 325.961 7.32471L324.511 7.32471C324.243 7.32471 324.027 7.54119 324.027 7.80823Z' fill='url(%23paint31_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M334.352 7.80823V9.25659C334.352 9.52364 334.569 9.74024 334.836 9.74024H336.286C336.553 9.74024 336.77 9.52364 336.77 9.25659L336.77 7.80823C336.77 7.54119 336.553 7.32471 336.286 7.32471L334.836 7.32471C334.569 7.32471 334.352 7.54119 334.352 7.80823Z' fill='url(%23paint32_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M344.678 7.80823V9.25659C344.678 9.52364 344.894 9.74024 345.161 9.74024H346.611C346.878 9.74024 347.095 9.52364 347.095 9.25659L347.095 7.80823C347.095 7.54119 346.878 7.32471 346.611 7.32471L345.161 7.32471C344.894 7.32471 344.678 7.54119 344.678 7.80823Z' fill='url(%23paint33_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M355.003 7.80823V9.25659C355.003 9.52364 355.219 9.74024 355.486 9.74024H356.936C357.203 9.74024 357.42 9.52364 357.42 9.25659L357.42 7.80823C357.42 7.54119 357.203 7.32471 356.936 7.32471L355.486 7.32471C355.219 7.32471 355.003 7.54119 355.003 7.80823Z' fill='url(%23paint34_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M365.328 7.80823V9.25659C365.328 9.52363 365.544 9.74024 365.811 9.74024H367.261C367.528 9.74024 367.745 9.52363 367.745 9.25659V7.80823C367.745 7.54119 367.528 7.32471 367.261 7.32471L365.811 7.32471C365.544 7.32471 365.328 7.54119 365.328 7.80823Z' fill='url(%23paint35_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M375.896 7.80823V9.25659C375.896 9.52363 376.112 9.74023 376.38 9.74023H377.83C378.096 9.74023 378.313 9.52363 378.313 9.25659V7.80823C378.313 7.54119 378.096 7.32471 377.829 7.32471L376.38 7.32471C376.112 7.32471 375.896 7.54119 375.896 7.80823Z' fill='url(%23paint36_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M386.221 7.80823V9.25659C386.221 9.52363 386.438 9.74023 386.705 9.74023H388.155C388.421 9.74023 388.639 9.52363 388.639 9.25659V7.80823C388.639 7.54119 388.421 7.32471 388.155 7.32471L386.705 7.32471C386.438 7.32471 386.221 7.54119 386.221 7.80823Z' fill='url(%23paint37_linear_8295_70635)'/%3E%3Cdefs%3E%3ClinearGradient id='paint0_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint1_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint2_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint3_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint4_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint5_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint6_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint7_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint8_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint9_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint10_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint11_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint12_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint13_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint14_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint15_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint16_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint17_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint18_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint19_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint20_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint21_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint22_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint23_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint24_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint25_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint26_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint27_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint28_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint29_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint30_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint31_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint32_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint33_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint34_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint35_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint36_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint37_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E%0A\")}.sc-hero__inner\u003E.snowflake-flexible-column-container-items\u003Ediv:first-child{position:relative;z-index:3}.sc-hero__inner\u003E.snowflake-flexible-column-container-items\u003Ediv:last-child{position:absolute;height:100%;width:100%;top:0;left:-24px}.sc-hero__inner\u003E.snowflake-flexible-column-container-items\u003Ediv:last-child::before{content:\"\";display:block;z-index:1;position:absolute;top:-64px;left:0;width:150%;height:calc(100% + 160px);background-color:rgb(32 44 53 / .9)}.sc-body__content .heading-3-v2,.sc-hero__headline .heading-1-v2{text-transform:none}.sc-body__content span.snowflake-image-caption{display:block!important;font-style:italic}.sc-body__content .snowflake-text p+ul{margin-top:24px!important;padding-left:16px!important}.white-blue-text-color .snowflake-title-v2.solution-center-hero__certification .snowflake-typographyv2\u003Espan.snowflake-title-v2-line{color:#e9eaeb!important;font-size:16px}.white-blue-text-color .snowflake-title-v2.solution-center-hero__certification.is-large .snowflake-typographyv2\u003Espan.snowflake-title-v2-line{color:#fff!important;font-size:18px}.solution-center-hero__certification\u003E.snowflake-title-v2-line\u003Espan:first-child{display:flex;justify-content:flex-start;align-items:center;gap:8px}.solution-center-hero__certification\u003E.snowflake-title-v2-line\u003Espan:first-child::before{content:\"\";display:inline-block;width:16px;height:16px;background-image:url(\"data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 0C3.58146 0 0 3.58146 0 8C0 12.4185 3.58146 16 8 16C12.4185 16 16 12.4185 16 8C16 3.58146 12.4185 0 8 0ZM12.7184 5.91984L7.33471 11.3026C7.31293 11.3244 7.31293 11.3454 7.29198 11.3454L7.20653 11.4308C6.94933 11.688 6.54132 11.7525 6.21962 11.6235C6.11238 11.5808 6.00514 11.5163 5.9197 11.4308L5.83425 11.3454C5.83425 11.3454 5.83425 11.3236 5.81246 11.3236L3.28149 8.79347C2.93799 8.44997 2.93799 7.87107 3.28149 7.50664L3.36694 7.42119C3.71044 7.07769 4.28934 7.07769 4.65377 7.42119L6.58401 9.35143L11.3877 4.5477C11.7312 4.2042 12.3101 4.2042 12.6746 4.5477L12.76 4.63315C13.0826 4.99758 13.0828 5.55541 12.7184 5.91984Z' fill='%230E8A16'/%3E%3C/svg%3E%0A\");background-size:contain;background-repeat:no-repeat;background-color:#fff;border-radius:100%}.sc-hero__byline{padding-top:8px}.sc-hero__byline p{color:#e2e2e2;margin-top:0!important}.sc-hero pre[class*=language-]{overflow:visible}.snowflake-code-snippet,.snowflake-code-snippet code,.snowflake-code-snippet pre{font-size:16px}.sc-hero__code-snippet:not(pre)\u003Ecode[class*=language-],.sc-hero__code-snippet pre[class*=language-]{background:0 0}.sc-hero__code-snippet{opacity:.8;background-color:transparent!important;position:absolute;top:0;right:0;width:100%;animation:240s linear 1s forwards slow-scroll}.sc-hero__button-container .snowflake-flexible-column-container-items{padding:0 0 24px;margin-top:-8px;margin-left:24px}.sc-sidebar__partner-logo{width:100%;max-width:140px;margin-top:8px}.sc-sidebar__partner-logo .cmp-image__image{border-radius:0}.sc-tag-cluster.snowflake-text ul{list-style-type:none;padding:0;display:flex;flex-wrap:wrap;gap:8px;margin:0}.sc-tag-cluster.snowflake-text li{color:#373f41;border-radius:4px;display:inline-block;padding:6px;text-transform:uppercase;letter-spacing:1px;font-size:12px!important;line-height:12px!important;margin:0!important;background-color:#f3f3f3}.sc-body .share-icon svg{height:24px;cursor:pointer}.sc-body .share-icon svg:hover path{fill:var(--ui-02)}.sc-overview__webinar-promo-banner{align-items:center;border:1px solid #ccc;padding:var(--spacing-02)}.sc-overview__webinar-promo-banner .snowflake-content-chip-image{max-width:32px;margin-right:var(--spacing-02);line-height:0}.sc-overview__webinar-promo-banner .snowflake-content-chip-image__image,.summit-speaker-card .snowflake-card-v2-advanced-image__image{aspect-ratio:1}.sc-overview__webinar-promo-banner .snowflake-content-chip-content .heading-5-v2{font-size:14px;font-family:Lato,sans-serif}.sc-overview__webinar-promo-banner .snowflake-content-chip-content .snowflake-title-v2-line:not(:first-child){font-weight:400}.sc-overview__webinar-promo-banner .snowflake-content-chip-button .snowflake-button-container{font-size:14px!important}.diagram-group__button{position:absolute;bottom:24px;right:24px;background-color:#212c35!important}.section--mountains-bottom,.summit-hp-hero{position:relative}.sc-cert-banner{background-color:#212d35;border-radius:8px;padding:24px;overflow:hidden}.sc-cert-banner\u003E.container\u003E.cmp-container\u003E.aem-container{display:flex;flex-direction:row;align-items:center}:root{--text-secondary:#706f6f;--summit-bg-ltblue:#eaf8fd;--summit-bg-blue:#249edc;--summit-border:#d2d1d4;--summit-border-radius:8px;--summit-card-padding:32px;--summit-card-padding-sm:28px}.section--mountains-bottom::after,.section--mountains-bottom::before{content:\"\";display:block;position:absolute;bottom:-1px;max-width:400px;background-size:100% auto;height:100%;width:30%;line-height:0;background-repeat:no-repeat}.button-group\u003E.container\u003E.cmp-container\u003E.aem-container{justify-content:center;align-items:center}.button-group\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:auto!important;margin:0 8px!important}.button-group .snowflake-button-container{font-family:Texta,sans-serif}.section--summit-bg-ltblue{background-color:var(--summit-bg-ltblue)}.section--summit-bg-blue,.summit-hero-secondary{background-color:var(--summit-bg-blue)}.section--mountains-bottom::before{left:0;background-image:url(\"data:image/svg+xml,%3Csvg width='402' height='309' viewBox='0 0 402 309' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M401.523 308.761H0V0L181.63 182.431L228.479 135.531L401.523 308.761Z' fill='%23249EDC'/%3E%3C/svg%3E%0A\");background-position:bottom left}.section--mountains-bottom::after{right:0;background-image:url(\"data:image/svg+xml,%3Csvg width='402' height='309' viewBox='0 0 402 309' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 308.761H401.523V0L219.893 182.431L173.044 135.531L0 308.761Z' fill='%23249EDC'/%3E%3C/svg%3E%0A\");background-position:bottom right}.summit-hp-hero{overflow:hidden}.summit-hero__bg-video{position:absolute;top:50%;left:50%;width:120%;height:100%;opacity:.3;transform:translate(-50%,-50%)}.summit-hero__bg-svg,.summit-prefooter__bg-image,.summit-secondary-hero__bg-image{position:absolute;bottom:0;left:0;width:100%}.summit-hp-promo-banner__headline .heading-4-v2{font-weight:900}.summit-hero-secondary .hero-lottie__left{position:absolute;bottom:0;left:0;width:30%;line-height:0}.summit-timeline__card::after,.summit-timeline__card::before{bottom:0;left:50%;position:absolute;display:block;background-color:var(--ui-01);content:\"\"}.summit-hero-secondary .snowflake-text p{font-size:24px!important;line-height:32px!important;max-width:720px;margin:0 auto}.summit-stat-container\u003E.container\u003E.cmp-container\u003E.aem-container{display:flex;justify-content:center}.summit-stat-container\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:auto!important;max-width:25%}.summit-stat-container\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:not(:last-child){border-right:1px solid #fff}.summit-timeline__card{border:1px solid var(--summit-border);border-radius:var(--summit-border-radius);padding:var(--summit-card-padding);position:relative;background-color:#fff}.summit-timeline__card::before{width:20px;height:20px;border-radius:100%;transform:translate(-50%,50%)}.summit-timeline__card::after{width:3px;height:50px;transform:translate(-50%,100%)}.summit-timeline-card__icon{width:48px;height:48px}.summit-timeline-card__headline .heading-3-v2{font-size:32px}.faq-group{border:1px solid var(--ui-12);border-radius:4px;background-color:#fff}.faq-group__question{padding:24px}.faq-group__question:hover{color:var(--ui-01);cursor:pointer}.faq-group__question .heading-4-v2,.faq-group__question .heading-5-v2{position:relative;padding-right:64px}.faq-group__question .heading-4-v2::after,.faq-group__question .heading-5-v2::after{content:\"\";display:block;width:32px;height:32px;background-image:url(\"data:image/svg+xml,%3Csvg width='29' height='16' viewBox='0 0 29 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M14.16 14.6807C14.2537 14.7957 14.3719 14.8884 14.506 14.952C14.64 15.0157 14.7866 15.0487 14.935 15.0487C15.0834 15.0487 15.2299 15.0157 15.3639 14.952C15.498 14.8884 15.6162 14.7957 15.71 14.6807V14.6807L28.51 2.00068C29.07 1.43068 29.07 .92068 28.51 .44068C27.95 -.0393204 27.43 -.11932 26.96 .44068L14.94 12.0007L2.99996 .45068C2.90725 .322624 2.7855 .218374 2.6447 .146483C2.50389 .0745926 2.34805 .0371094 2.18996 .0371094C2.03187 .0371094 1.87603 .0745926 1.73522 .146483C1.59442 .218374 1.47267 .322624 1.37996 .45068C.819961 .93068 .819961 1.45068 1.37996 2.01068L14.16 14.6807Z' fill='black'/%3E%3C/svg%3E%0A\");background-size:80% auto;background-repeat:no-repeat;background-position:center;position:absolute;top:-2px;right:0;transition:.3s 150ms}.faq-group__question .heading-5-v2::after{top:-4px}.faq-group__answer{max-height:0;overflow:hidden;width:95%;padding:0 24px;transition:.5s}.faq-group__answer\u003Espan{display:block;padding-bottom:24px}.is-open .faq-group__answer{max-height:600px;transition:1s}.is-open .faq-group__question .heading-4-v2::after,.is-open .faq-group__question .heading-5-v2::after{transform:rotate(180deg);transition:.3s}.summit-agenda{box-shadow:2px 4px 10px 0 rgb(156 156 156 / .52);border-radius:8px;background-color:#fff;max-width:980px;margin-left:auto;margin-right:auto;padding:40px;width:90%}.agenda-item{border-radius:8px;background-color:#d4f0fa;padding:16px;border-left:4px solid var(--ui-01);position:relative}.summit-pricing-block__tile.is-past,.summit-pricing-block__tile.is-upcoming{pointer-events:none;border-color:#d2d1d4}p.agenda-item__time{width:25%;font-family:Texta!important;font-size:32px!important;font-weight:900!important;text-transform:uppercase!important;max-width:140px}@media screen and (max-width:991px){#partnerResources .section--resource-hub .snowflake-button-link .snowflake-button-container{font-size:14px!important;line-height:20px!important;margin-top:4px}#industryPartnerSlider\u003E.snowflake-flexible-column-container-items{display:flex;flex-direction:column}#industryPartnerSlider\u003E.snowflake-flexible-column-container-items\u003Ediv{width:100%}.sc-cert-banner__left{text-align:center}.sc-cert-banner__left .solution-center-hero__certification .snowflake-title-v2-line{justify-content:center}.summit-hero__bg-video{width:200%}.summit-leadership-grid .snowflake-flexible-column-container-items{grid-template-columns:repeat(2,1fr)}.summit-stat-container\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:50%!important;max-width:50%!important}.summit-stat-container\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:not(:last-child){border-right:none!important}.summit-agenda{padding:24px}p.agenda-item__time{font-size:24px!important;width:auto;white-space:nowrap;padding-right:24px}}.agenda-item\u003Espan{display:flex;align-items:center}.summit-add-on-block,.summit-pricing-block{border:1px solid #d2d1d4;border-radius:8px;overflow:hidden;box-shadow:2px 4px 10px 0 rgb(156 156 156 / .52);background-color:#fff}.summit-add-on-block__content,.summit-pricing-block__content{padding:0 20px 20px}.summit-pricing-block__tile{padding:24px 20px;border-radius:4px;background:#fff;border:1px solid var(--ui-01);position:relative;transition:background-color .3s}.summit-pricing-block__tile:hover{background-color:var(--ui-01);transition:background-color .3s}.summit-pricing-block__tile.is-past{background-color:#d4f0fa}.summit-pricing-block__tile:hover .black-blue-text-color .snowflake-title-v2-line{color:#fff!important;transition:color .3s}.partner-card__logo-grid\u003E.container\u003E.cmp-container\u003E.aem-container::after,.partner-card__logo-grid\u003E.container\u003E.cmp-container\u003E.aem-container::before,.summit-add-on-block__content\u003E.container\u003E.cmp-container\u003E.aem-container::after,.summit-add-on-block__content\u003E.container\u003E.cmp-container\u003E.aem-container::before,.summit-pricing-block__tile.is-past .snowflake-content-chip-button,.summit-pricing-block__tile.is-upcoming .snowflake-content-chip-button,.summit-speaker-card .snowflake-card-v2-advanced-tag-indicator{display:none}.summit-pricing-block__tile.is-past .black-blue-text-color .snowflake-title-v2-line{color:#7cc7eb!important}.summit-pricing-block__tile.is-upcoming .black-blue-text-color .snowflake-title-v2-line{color:#8c8c8c!important}.summit-pricing-block__aside{background-color:#d4f0fa;border:1px solid #d2d1d4;border-radius:8px;padding:24px;width:100%}.summit-pricing-block__aside li::marker{color:var(--ui-01)}.summit-pricing-block__aside-headline .heading-5-v2{font-weight:900;margin-bottom:12px}.summit-pricing-block__header{background:#000;padding:24px 40px}.summit-pricing-block__header .heading-4-v2{font-weight:900;letter-spacing:.5px}.bwwidth100,.snowflake-mega-nav-dropdown-footer-content,.summit-pricing-block__tile .black-blue-text-color{width:100%}.summit-pricing-block__tile .heading-5-v2{position:static}.summit-pricing-block__tile .heading-5-v2 span.snowflake-title-v2-line:first-child{text-transform:uppercase;font-weight:900!important;letter-spacing:.25px;font-size:24px!important}.summit-pricing-block__tile .heading-5-v2 span.snowflake-title-v2-line:nth-child(2){margin-top:8px;font-family:Lato,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:16px}.summit-pricing-block__tile .heading-5-v2 span.snowflake-title-v2-line:last-child{font-weight:900!important;font-size:40px!important}.snowflake-mega-nav-nav-item\u003Ea:hover .snowflake-mega-nav-nav-item-title-wrapper\u003E.snowflake-mega-nav-nav-item-title,.summit-pricing-block__tile:not(.is-upcoming):not(.is-past) .heading-5-v2 span.snowflake-title-v2-line:last-child{color:var(--ui-01)!important}.summit-pricing-block__tile:hover:not(.is-upcoming):not(.is-past) .heading-5-v2 span.snowflake-title-v2-line:last-child{color:#fff!important}.summit-pricing-block__tile.is-past .heading-5-v2 span.snowflake-title-v2-line:last-child{text-decoration:line-through}.summit-pricing-block__tile .snowflake-content-chip-button{margin-top:0;white-space:nowrap;display:none}.snowflake-card-v2-advanced.no-link{pointer-events:none!important}.snowpro-card{border:1px solid var(--summit-border);border-radius:var(--summit-border-radius);padding:var(--summit-card-padding-sm);display:flex;height:100%}.snowpro-card__headline{margin:24px 0 12px}.snowpro-card__pricing{margin-top:48px}.snowpro-card .snowflake-text .snowpro-card__price{color:var(--ui-01);font-weight:900;font-size:40px!important;font-family:Texta,sans-serif}.summit-stat-container\u003E.container\u003E.cmp-container\u003E.aem-container{display:flex;flex-direction:row;flex-wrap:wrap}.summit-stat-container\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:not(:last-child){border-right:1px solid var(--summit-border)}.summit-stat-card{padding:0 40px}.summit-stat .heading-2-v2 .snowflake-title-v2-line:first-child{font-size:64px;line-height:52px;margin-bottom:8px}.summit-stat .heading-2-v2 .snowflake-title-v2-line:last-child{font-size:32px;line-height:30px;margin-bottom:16px}.summit-speaker-card .snowflake-card-v2-advanced-title{margin-bottom:var(--spacing-01)}.summit-add-on-card{padding:24px;border:1px solid #d2d1d4;border-radius:8px}.summit-add-on__subhead{padding-left:40px;padding-right:40px}.partner-card__logo-grid,.partner-card__logo-single{padding:40px}.partner-card__logo-grid .snowflake-image-container .cmp-image__image,.partner-card__logo-single .snowflake-image-container .cmp-image__image{border-radius:0;max-width:240px;margin:0 auto}.partner-card\u003E.container,.partner-card\u003E.container\u003E.aem-container,.partner-card\u003E.container\u003E.cmp-container{height:100%}.summit-add-on-block__content\u003E.container\u003E.cmp-container\u003E.aem-container{display:flex;flex-direction:row;gap:24px;align-items:stretch}.partner-card__logo-grid\u003E.container\u003E.cmp-container\u003E.aem-container{display:flex;flex-direction:row;flex-wrap:wrap;gap:40px 24px;justify-content:center;align-items:center}.partner-card__logo-grid\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:calc(33.3333% - 24px);margin:0!important}.partner-card{border-radius:8px;border:1px solid #d2d1d4;overflow:hidden;height:100%;background-color:#fff}.partner-card__header{padding:16px 24px;border-bottom:1px solid #d2d1d4}.partner-card__header.is-purple{background-color:#7d44cf}.partner-card__header h4{display:flex;flex-direction:row!important;align-items:center;gap:12px}.partner-card__header h4::before{vertical-align:middle;content:\"\";display:inline-block;width:20px;height:20px;background-size:contain;background-repeat:no-repeat;background-image:url(\"data:image/svg+xml,%3Csvg width='21' height='23' viewBox='0 0 21 23' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M20.0375 12.8374C20.1644 12.439 20.2172 12.0289 20.2077 11.6237C20.193 11.3305 20.1548 11.0373 20.0712 10.7441C19.8196 9.83306 19.223 9.01989 18.3294 8.50724L5.61817 1.2017C3.82388 .173815 1.53618 .784335 .506483 2.56804C-.533615 4.34915 .0797871 6.62351 1.87408 7.65398L8.97715 11.7427L1.87408 15.8201C.0797871 16.8527 -.531016 19.1271 .506483 20.9156C1.53618 22.6941 3.82388 23.302 5.61817 22.2746L18.3294 14.9643C19.1871 14.4728 19.7693 13.7027 20.0375 12.8374Z' fill='black'/%3E%3C/svg%3E%0A\")}.partner-card__header.is-purple h4::before{background-image:url(\"data:image/svg+xml,%3Csvg width='21' height='23' viewBox='0 0 21 23' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M20.0375 12.8374C20.1644 12.439 20.2172 12.0289 20.2077 11.6237C20.193 11.3305 20.1548 11.0373 20.0712 10.7441C19.8196 9.83306 19.223 9.01989 18.3294 8.50724L5.61817 1.2017C3.82388 .173815 1.53618 .784335 .506483 2.56804C-.533615 4.34915 .0797871 6.62351 1.87408 7.65398L8.97715 11.7427L1.87408 15.8201C.0797871 16.8527 -.531016 19.1271 .506483 20.9156C1.53618 22.6941 3.82388 23.302 5.61817 22.2746L18.3294 14.9643C19.1871 14.4728 19.7693 13.7027 20.0375 12.8374Z' fill='white'/%3E%3C/svg%3E%0A\")}.sf-blue-mountains{background-size:90% auto;background-repeat:no-repeat;background-position:center bottom;background-image:url(\"data:image/svg+xml,%3Csvg width='1361' height='410' viewBox='0 0 1361 410' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1360.25 410L1065.53 114.309L976.256 203.875L773.049 0L364.393 410H1360.25Z' fill='%233AA8DF'/%3E%3Cpath d='M274.778 410L137.467 272.238L.15625 410H274.778Z' fill='%233AA8DF'/%3E%3C/svg%3E%0A\")}.bwalignr,.main-pr-body .bwalignr{text-align:right}.bwblockalignl{margin-left:0;margin-right:auto}.bwcellpmargin{margin-top:0;margin-bottom:0}.bwlistdisc{list-style-type:disc}.bwpadb3{padding-bottom:4px}.bwpadb4{padding-bottom:5px}.bwpadl0{padding-left:0}.bwpadl3{padding-left:15px}.bwpadl6{padding-left:30px}.bwpadl9{padding-left:45px}.bwpadl12{padding-left:60px}.bwpadr0{padding-right:0}.bwtablemarginb{margin-bottom:10px}.bwvertalignb{vertical-align:bottom}.bwvertalignt{vertical-align:top}.bwsinglebottom{border-bottom:1pt solid #000}.bwdoublebottom{border-bottom:2.25pt double #000}.bwwidth1{width:1%}.bwwidth2{width:2%}.bwwidth6{width:6%}.bwwidth7{width:7%}.bwwidth8{width:8%}.bwwidth10{width:10%}.bwwidth12{width:12%}.bwwidth32{width:32%}.bwwidth44{width:44%}.bwwidth72{width:72%}.bwwidth97{width:97%}.main-pr-body{font-size:18px;line-height:26px}.main-pr-body img{display:block;width:100%;height:auto!important;border-radius:var(--small-border-radius)}.main-pr-body table{width:100%;display:block}.main-pr-body tbody{background-color:#f7f7f7}.main-pr-body .bwsinglebottom{border-bottom:1pt solid #000!important}.main-pr-body td.bwwidth44{padding-right:40px}.main-pr-body .bw-release-story{font-family:Lato,sans-serif}.main-pr-body .bw-release-story sup,.snowflake-mega-nav-dropdown-header-content-right a{white-space:nowrap}.main-pr-body .bw-release-story\u003E*,.main-pr-body\u003Espan\u003E*{margin-bottom:2rem!important}.snowflake-text.main-pr-body tbody,.snowflake-text.main-pr-body tbody p{font-size:14px!important;line-height:20px!important;width:100%;display:block}.press-body .snowflake-flexible-column-container-items{gap:var(--spacing-08)}.about-snowflake{border:1px solid #ccc;background-color:var(--ui-background-05);padding:24px;border-radius:8px;margin-top:0}.about-snowflake__logo{max-width:140px;margin-top:16px}.hero--press .snowflake-hero-system-inner{max-width:1408px;margin:0 auto!important}#arcticNavItem{flex-direction:column}#arcticNavItem::before{content:\"Featured Open Source Technologies\";display:block;margin-top:48px;margin-bottom:24px;font-size:16px!important;line-height:16px!important;font-weight:800!important;text-transform:uppercase}@media screen and (min-width:768px){.sc-hero__inner\u003E.snowflake-flexible-column-container-items\u003Ediv:last-child{position:relative;height:100%;top:auto;left:auto;width:auto}.sc-hero__inner\u003E.snowflake-flexible-column-container-items\u003Ediv:last-child::before{background:linear-gradient(180deg,#202c35 -7.5%,#fff0 51.25%,#202c35 107.69%)}.sc-hero__byline\u003Espan{display:flex;flex-wrap:wrap}.sc-hero__byline p:not(:last-child)::after{content:\"|\";margin:0 12px;opacity:.5}.sc-hero__button-container .snowflake-flexible-column-container-items{position:absolute;bottom:0;padding:0;margin:0 24px 0 0}.sc-hero__button-container .hero-watch-the-demo{padding:12px 16px!important;float:right;margin-bottom:48px;background-color:rgb(35 45 54 / .8)}.summit-overview-stat{padding:0 40px}.summit-timeline{border-bottom:3px solid var(--ui-01);margin-bottom:64px}.summit-add-on-block__content,.summit-pricing-block__content{padding:0 40px 40px}#arcticNavItem::before{font-size:12px!important;margin-bottom:8px;margin-top:16px}.snowflake-mega-nav-nav-item-title-wrapper\u003E.snowflake-mega-nav-nav-item-title{line-height:20px!important}.snowflake-card .heading-2.snowflake-title-line{font-size:24px!important;line-height:28px!important}}@media screen and (min-width:992px){.hp-hero__eyebrow a{gap:12px;margin-left:0;margin-right:0}.hp-hero__eyebrow a::after{content:\"\";background-image:url(\"data:image/svg+xml,%3Csvg width='6' height='11' viewBox='0 0 6 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.49134 5.79438C5.53447 5.75922 5.56923 5.71489 5.5931 5.66463C5.61697 5.61436 5.62935 5.55941 5.62935 5.50376C5.62935 5.44811 5.61697 5.39316 5.5931 5.34289C5.56923 5.29263 5.53447 5.2483 5.49134 5.21314L.736339 .413136C.522589 .203135 .331339 .203135 .151339 .413136C-.0286612 .623135 -.0586612 .818135 .151339 .994386L4.48634 5.50188L.155089 9.97938C.107068 10.0142 .0679743 10.0598 .0410153 10.1126C.0140562 10.1654 0 10.2238 0 10.2831C0 10.3424 .0140562 10.4009 .0410153 10.4537C.0679743 10.5065 .107068 10.5521 .155089 10.5869C.335089 10.7969 .530089 10.7969 .740089 10.5869L5.49134 5.79438Z' fill='black'/%3E%3C/svg%3E%0A\");display:inline-block;width:12px;height:12px;background-repeat:no-repeat;background-size:auto 100%;background-position:left center}.promo-banner--homepage{padding-top:32px}.homepage-banner-offset-container::after{height:50%}#storyHighlights{padding:2rem}.body-display-v2.snowflake-quote-item-quote-text{line-height:28px!important}.snowflake-hero-system-headline .heading-1-v2{line-height:48px;font-size:54px!important}.sc-overview__webinar-promo-banner .snowflake-content-chip-content{flex-direction:row;justify-content:space-between;align-items:center;width:100%}.sc-overview__webinar-promo-banner .snowflake-content-chip-content .heading-5-v2{flex-direction:row}.sc-overview__webinar-promo-banner .snowflake-content-chip-content .snowflake-title-v2-line:not(:first-child)::before{content:\"|\";margin:0 6px}.sc-cert-banner{padding:40px}.sc-cert-banner\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{margin:0!important;width:50%}.sc-cert-banner\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:first-child{flex-grow:1;padding-right:24px}.sc-cert-banner\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:last-child{max-width:240px}.summit-pricing-block__content\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:last-child{width:70%;padding-left:40px}.summit-pricing-block__content\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:first-child{width:30%}.summit-add-on-block__content\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:calc(33.3333% - 24px);margin:0!important;display:flex}.summit-pricing-block__tile .snowflake-content-chip-content{display:flex;flex-direction:row;align-items:center;width:calc(100% - 200px)}.summit-pricing-block__tile .heading-5-v2 span.snowflake-title-v2-line:last-child{position:absolute;top:50%;transform:translate(0,-50%);right:40px}.press-body\u003E.snowflake-flexible-column-container-items\u003Ediv:last-child{position:sticky;top:120px}.snowflake-mega-nav-navigation-title:hover{color:var(--ui-01)}}@media screen and (min-width:1024px){.about-snowflake{padding:28px}.about-snowflake__logo{max-width:none;padding:0 0 0 48px;margin-bottom:0}.hero--press .snowflake-hero-system-layout-70-30 .snowflake-hero-system-content-container{width:85%}.snowflake-hero-system{padding-bottom:var(--spacing-04);padding-top:var(--spacing-07)}.hero--press .display-2-v2{font-size:64px;line-height:56px}.about-snowflake\u003E.container\u003E.cmp-container\u003E.aem-container{flex-direction:row;flex-wrap:nowrap;align-items:center}.about-snowflake\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:last-child{max-width:280px}.about-snowflake\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:first-child{flex-grow:1;margin-bottom:0!important}#polarisNavItem{margin-top:40px}.snowflake-mega-nav-nav-item-description{line-height:18px!important}.snowflake-mega-nav-column-items{gap:var(--spacing-01);grid-gap:var(--spacing-01)}.snowflake-mega-nav-navigation-title{text-transform:none}}div[id*=blueIcon] .snowflake-mega-nav-nav-item-icon__inner{background:var(--ui-01);padding:8px}div[id*=blueIcon]:hover .snowflake-mega-nav-nav-item-icon__inner{background:var(--ui-01)!important}.snowflake-mega-nav-nav-item-icon__inner{border-radius:4px;background:var(--ui-background-05);padding:6px}.snowflake-mega-nav-nav-item:hover .snowflake-mega-nav-nav-item-icon__inner{background:#fff!important}.snowflake-mega-nav-nav-item-icon.snowflake-image-container{height:40px;width:40px}.snowflake-mega-nav-dropdown-footer-links\u003E.snowflake-button-link\u003E.snowflake-button-container{font-size:16px!important;font-family:Texta!important;font-weight:800!important}.snowflake-mega-nav-dropdown-footer-icon.snowflake-image-container{margin-right:8px;width:40px!important;height:40px!important}#viewAllCapabilities a:hover{background:0 0!important}#platformFooter .snowflake-title-v2 .snowflake-title-v2-line:last-child{font-family:Lato;font-size:14px;font-weight:500}#platformFooter .snowflake-mega-nav-dropdown-footer-links{flex-grow:1;justify-content:flex-end;align-items:center}#platformFooter .snowflake-mega-nav-dropdown-footer-content{flex-direction:row}#offset,#open-source{flex-direction:column;border-top:1px solid #ccc}#offset::before,#open-source::before{content:\" \";display:block;width:100%;font-weight:800!important;font-size:12px!important;line-height:14px;text-transform:uppercase;white-space:nowrap;margin-top:16px;margin-bottom:8px}#open-source::before{content:\"Open Source Technologies\"}.snowflake-mega-nav-dropdown-menu-close-button{margin:var(--spacing-04) 0 var(--spacing-03)}.snowflake-mega-nav-column{gap:var(--spacing-02)!important}.snowflake-mega-nav-nav-item\u003Ea{width:100%;margin-left:-8px;padding:8px;border-radius:4px}.snowflake-mega-nav-nav-item\u003Ea:hover{background-color:var(--ui-background-05)}.snowflake-mega-nav-nav-item-description{margin-top:2px;display:block}#promobanner_overflowBottomDarkBlue::before{content:'';display:block;position:absolute;bottom:0;left:0;width:100%;height:50%;background:#212d35}#promobanner_overflowTopDarkBlue::before{content:'';display:block;position:absolute;top:0;left:0;width:100%;height:50%;background:#212d35}.overview-card\u003Ediv{box-shadow:0 0 14px 0 rgba(0,0,0,.10);background-color:#fff;border-radius:16px;overflow:hidden}.overview-card-text{padding:40px}.overview-card-image img{border-radius:0 !important}.overview-card-text h3,.overview-card-text .heading-3-v2{font-size:18px;line-height:1.1;margin-top:0}","isGSAPEnabled":false,":type":"snowflake-site/components/markup-editor"},"mega_header":{"additionalClasses":"heap-nav-header","layout":"SIMPLE","id":"container-bf8c5c24e4",":type":"snowflake-site/components/mega-header",":items":{"nav_mega":{"activeItem":"item_1719963657751_c_663444255","id":"tabs-4e2aff55c0",":type":"snowflake-site/components/nav/nav-mega",":items":{"item_1719963657751_c_663444255":{"id":"nav-dropdown-menu-3d043c5161","enableDropdown":true,"nav_column_container":{"layout":"SIMPLE","id":"container-0b79186656",":type":"snowflake-site/components/nav/nav-column/nav-column-container",":items":{"nav_column":{"additionalClasses":"nav-platform-sidebar","numberOfSubColumns":"one-column","minWidth":"230","maxWidth":"350","layout":"SIMPLE","id":"container-0e9175ebcb",":type":"snowflake-site/components/nav/nav-column",":items":{"nav_item_copy_copy_2_793631646":{"id":"nav-item-1d1d8d8a39","additionalClasses":"nav-item__platform-parent","linkDescription":"완전 관리형 플랫폼에서 AI 제품, 애플리케이션 등을 개발하고 모든 데이터 유형과 규모 전반에서 글로벌 비즈니스를 안전하게 연결하세요.","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/product/platform/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Snowflake Platform"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy":{"id":"nav-item-9886d2cb83","additionalClasses":"nav-item nav-item--si","linkDescription":"세상의 모든 지식. 신뢰할 수 있는 단 하나의 엔터프라이즈 에이전트","flag":"정식 출시","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/product/snowflake-cowork/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Snowflake CoWork"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_copy_2_836345186":{"id":"nav-item-9aec0ef8f4","additionalClasses":"blue-icon","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/product/analytics/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Analytics"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_copy_2":{"id":"nav-item-5094208d9a","additionalClasses":"blue-icon","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/product/ai/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"AI"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_copy_2_1314771042":{"id":"nav-item-c0426f5063","additionalClasses":"blue-icon","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/product/data-engineering/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Data Engineering"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_144634":{"id":"nav-item-d9b319f7c5","additionalClasses":"blue-icon","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/product/applications-and-collaboration/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Applications & Collaboration"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_144634_526060162":{"id":"nav-item-17e0fd76ed","additionalClasses":"blue-icon","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/product/transactions/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Transactions"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item_copy_copy_2_793631646","nav_item_copy","nav_item_copy_copy_2_836345186","nav_item_copy_copy_2","nav_item_copy_copy_2_1314771042","nav_item_copy_144634","nav_item_copy_144634_526060162"]},"nav_column_copy_copy":{"additionalClasses":"meganav-platform-features","navColumnTitle":"기능","numberOfSubColumns":"two-columns","layout":"SIMPLE","id":"container-c9c94a060a",":type":"snowflake-site/components/nav/nav-column",":items":{"nav_item_copy_212715":{"id":"nav-item-4f43ea41fd","linkDescription":"Snowflake 기반 AI 코딩 에이전트","flag":"New","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/product/snowflake-coco/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Snowflake CoCo"},":type":"snowflake-site/components/nav/nav-item"},"nav_item":{"id":"nav-item-fd941c6ce2","propertiesId":"testID","linkDescription":"Snowflake에서 실행되는 완전 호환 오픈소스 Postgres","flag":"정식 출시","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/product/features/postgres/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Postgres"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_1923334373":{"id":"nav-item-c7f0a4ca34","propertiesId":"testID","linkDescription":"업계 최고 LLM에 대한 즉각적인 액세스","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/product/features/cortex/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Cortex AI"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_258535199":{"id":"nav-item-0eb0aa13cc","propertiesId":"workload-nav-1","linkDescription":"통합을 위한 간편한 데이터 이동","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/product/features/openflow/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Openflow"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_660590635":{"id":"nav-item-0390150be5","linkDescription":"서드 파티 데이터 및 AI 제품 테스트 및 구매","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/product/features/marketplace/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Marketplace"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_660590_2121336733":{"id":"nav-item-2083186027","linkDescription":"데이터 및 AI 팀을 위한 인터랙티브 개발 환경","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/product/features/notebooks/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Notebooks"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_660590_1715469328":{"id":"nav-item-e4c35e0180","linkDescription":"Python 등을 실행하는 라이브러리 및 코드 실행 환경","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/product/features/snowpark/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Snowpark"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_185565":{"id":"nav-item-364ac7a4d6","linkDescription":"완벽한 데이터 보호 기능을 갖춘 데이터 협업","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/product/features/data-clean-rooms/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Data Clean Rooms"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_660590_1073841656":{"id":"nav-item-d0d83b9cc6","linkDescription":"Python 스크립트를 웹 앱으로 변환하는 프레임워크 ","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/product/features/streamlit-in-snowflake/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Streamlit"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_258535199_c":{"id":"nav-item-033ed4d3cd","propertiesId":"workload-nav-1","linkDescription":"Snowflake Native App의 엔드투엔드 개발 및 배포","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/product/features/native-apps/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Native Apps"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item_copy_212715","nav_item","nav_item_copy_1923334373","nav_item_258535199","nav_item_copy_660590635","nav_item_copy_660590_2121336733","nav_item_copy_660590_1715469328","nav_item_copy_185565","nav_item_copy_660590_1073841656","nav_item_258535199_c"]},"nav_column_676020780":{"navColumnTitle":"오픈소스 기술","numberOfSubColumns":"one-column","maxWidth":"300","layout":"SIMPLE","id":"container-1c9ddc3079",":type":"snowflake-site/components/nav/nav-column",":items":{"nav_item_511717659":{"id":"nav-item-3b1c156a63","linkDescription":"범용 AI 카탈로그","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/product/features/horizon/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Horizon Catalog"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_660590_924064894":{"id":"nav-item-64a2ea882c","linkDescription":"중앙 집중식 UI를 통한 간소화된 모델 개발 및 MLOps","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/product/features/end-to-end-ml-workflows/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Snowflake ML "},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_660590":{"id":"nav-item-25a684bb08","linkDescription":"Snowflake의 트랜잭션 및 분석 워크로드 통합으로 운영 간소화","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/product/features/end-to-end-ml-workflows/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Unistore"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item_511717659","nav_item_copy_660590_924064894","nav_item_copy_660590"]}},":itemsOrder":["nav_column","nav_column_copy_copy","nav_column_676020780"]},":type":"snowflake-site/components/nav/nav-dropdown-menu","cq:panelTitle":"제품"},"nav_dropdown_menu_2":{"id":"nav-dropdown-menu-b6a651afd1","enableDropdown":true,"nav_column_container":{"layout":"SIMPLE","id":"container-a9f029eb6e",":type":"snowflake-site/components/nav/nav-column/nav-column-container",":items":{"nav_column":{"navColumnTitle":"산업용","numberOfSubColumns":"one-column","minWidth":"280","layout":"SIMPLE","id":"container-57c0e0b795",":type":"snowflake-site/components/nav/nav-column",":items":{"nav_item":{"id":"nav-item-f536c1b90b","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/ko/solutions/industries/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"산업별 솔루션"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_1016012800":{"id":"nav-item-415b33d7f3","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/solutions/industries/advertising-media-entertainment/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"광고, 미디어 및 엔터테인먼트"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_copy":{"id":"nav-item-5d04c3a1c8","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/solutions/industries/financial-services/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"금융 서비스"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_197051":{"id":"nav-item-d1529e5b67","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/solutions/industries/healthcare-and-life-sciences/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"헬스케어 및 라이프사이언스"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_153342":{"id":"nav-item-dbef8327e5","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/solutions/industries/manufacturing/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"제조"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_144445":{"id":"nav-item-9f12d1f9c0","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/solutions/industries/public-sector/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"공공 부문"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_114948":{"id":"nav-item-4b8169a35e","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/solutions/industries/retail-consumer-goods/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"리테일/소비재"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_574170":{"id":"nav-item-174214f15e","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/solutions/industries/technology/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"테크놀로지"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_361384_1935318080":{"id":"nav-item-8a3f4e3446","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/solutions/industries/telecom/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"통신"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_361384_1107159381":{"id":"nav-item-0e850e2f8e","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/solutions/industries/travel-hospitality/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"여행 및 숙박 "},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item","nav_item_copy_1016012800","nav_item_copy_copy","nav_item_copy_197051","nav_item_copy_153342","nav_item_copy_144445","nav_item_copy_114948","nav_item_copy_574170","nav_item_copy_361384_1935318080","nav_item_copy_361384_1107159381"],"appliedCssClassNames":"snowflake-responsive-container-inner-padding-extra-small"},"nav_column_copy":{"navColumnTitle":"부서용","numberOfSubColumns":"one-column","minWidth":"160","layout":"SIMPLE","id":"container-a182100116",":type":"snowflake-site/components/nav/nav-column",":items":{"nav_item":{"id":"nav-item-827c66d2cc","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/solutions/departments/finance/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"금융"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy":{"id":"nav-item-c91b6b737e","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/solutions/departments/information-technology/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"IT"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_1970515619":{"id":"nav-item-0aa54eec67","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/solutions/departments/marketing/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"마케팅"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item","nav_item_copy","nav_item_copy_1970515619"]},"nav_column_833417450":{"navColumnTitle":"역량 강화 솔루션","numberOfSubColumns":"one-column","layout":"SIMPLE","id":"container-87cfe41545",":type":"snowflake-site/components/nav/nav-column",":items":{"nav_item_copy_107772":{"id":"nav-item-6607745b66","linkDescription":"통합된 플랫폼으로의 안전한 마이그레이션 지원","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/migrate-to-the-cloud/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"AI 데이터 클라우드 마이그레이션 "},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/ko/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/nav_dropdown_menu_2/nav_column_container/nav_column_833417450/nav_item_copy_107772/icon.coreimg.svg/1752092983163/nav-icon-cloud.svg","alt":"Cloud icon","lazyEnabled":true,"height":"64","width":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_copy":{"id":"nav-item-07e71bc121","linkDescription":"Snowflake 전문가 지원을 통한 비즈니스 가속화 및 목표 달성","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/solutions/services-delivery/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Services Delivery"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/ko/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/nav_dropdown_menu_2/nav_column_container/nav_column_833417450/nav_item_copy_copy/icon.coreimg.svg/1778205082215/nav-icon--migrate.svg","alt":"Migrate icon","lazyEnabled":true,"height":"64","width":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item_copy_107772","nav_item_copy_copy"]},"nav_column_copy_copy":{"navColumnTitle":"파트너 솔루션","numberOfSubColumns":"one-column","layout":"SIMPLE","id":"container-ead891099c",":type":"snowflake-site/components/nav/nav-column",":items":{"nav_item":{"id":"nav-item-9eeea9d8ea","linkDescription":"제품, 솔루션 및 클라우드 파트너와 함께하는 프로그램","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/why-snowflake/partners/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Snowflake 파트너 네트워크 "},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/ko/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/nav_dropdown_menu_2/nav_column_container/nav_column_copy_copy/nav_item/icon.coreimg.svg/1778205103076/nav-icon--partner-network.svg","alt":"Partner Network icon","lazyEnabled":true,"height":"64","width":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy":{"id":"nav-item-1f09a1bb82","linkDescription":"확장 배포를 위한 파트너, 앱 및 솔루션 검색기","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/why-snowflake/partners/all-partners/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"파트너 찾기"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/ko/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/nav_dropdown_menu_2/nav_column_container/nav_column_copy_copy/nav_item_copy/icon.coreimg.svg/1778205113516/nav-icon--partner-finder.svg","alt":"Partner Finder icon","lazyEnabled":true,"height":"64","width":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_1970515619":{"id":"nav-item-8492d24296","linkDescription":"라이브 및 가상 이벤트","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/why-snowflake/partners/event-partnership-opportunities/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"이벤트 파트너십 기회"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/ko/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/nav_dropdown_menu_2/nav_column_container/nav_column_copy_copy/nav_item_copy_1970515619/icon.coreimg.svg/1778205123183/nav-icon--events.svg","alt":"Calendar icon","lazyEnabled":true,"height":"64","width":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item","nav_item_copy","nav_item_copy_1970515619"]}},":itemsOrder":["nav_column","nav_column_copy","nav_column_833417450","nav_column_copy_copy"]},":type":"snowflake-site/components/nav/nav-dropdown-menu","cq:panelTitle":"솔루션"},"item_1719963657751_c":{"id":"nav-dropdown-menu-baf1a47a6e","enableDropdown":true,"nav_column_container":{"layout":"SIMPLE","id":"container-a96d15ebcd",":type":"snowflake-site/components/nav/nav-column/nav-column-container",":items":{"nav_column":{"numberOfSubColumns":"one-column","minWidth":"230","maxWidth":"350","layout":"SIMPLE","id":"container-b70aa57dab",":type":"snowflake-site/components/nav/nav-column",":items":{"nav_item_copy_copy_2_793631646":{"id":"nav-item-484d36d8e5","additionalClasses":"nav-item__platform-parent-why-sf","linkDescription":"로컬 및 글로벌 차원에서 협업하여 새로운 인사이트를 발견하고, 이전에는 전혀 예상치 못했던 비즈니스 기회를 창출하며, 고객을 식별하고 원활한 경험을 제공합니다.","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/why-snowflake/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Snowflake를 사용해야 하는 이유"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item_copy_copy_2_793631646"]},"nav_column_copy_copy":{"additionalClasses":"meganav-platform-features","numberOfSubColumns":"two-columns","layout":"SIMPLE","id":"container-c50c3c2b15",":type":"snowflake-site/components/nav/nav-column",":items":{"nav_item":{"id":"nav-item-f3fd3c8969","propertiesId":"testID","linkDescription":"Snowflake를 활용하는 글로벌 조직들에 대한 사례 연구와 비디오","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/customers/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"고객"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/ko/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719963657751_c/nav_column_container/nav_column_copy_copy/nav_item/icon.coreimg.svg/1740636508863/nav-icon--partner-network.svg","alt":"Customer icon","lazyEnabled":true,"height":"64","width":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_258535199":{"id":"nav-item-07ec210efc","propertiesId":"workload-nav-1","linkDescription":"AI 데이터 클라우드에서 데이터와 앱을 연결, 공유 및 통합하는 방법을 알아보세요.","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/why-snowflake/what-is-data-cloud/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"AI 데이터 클라우드 살펴보기"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/ko/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719963657751_c/nav_column_container/nav_column_copy_copy/nav_item_258535199/icon.coreimg.svg/1740636598409/nav-icon-cloud.svg","alt":"Cloud icon","lazyEnabled":true,"height":"64","width":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_185565":{"id":"nav-item-ef7ec33782","linkDescription":"내장된 기능, 강력한 클라우드 인프라 보호 등을 통한 포괄적인 보안 제공","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/why-snowflake/snowflake-security-hub/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"보안 허브"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/ko/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719963657751_c/nav_column_container/nav_column_copy_copy/nav_item_copy_185565/icon.coreimg.svg/1740636570963/user-security-admins-ciso-icon.svg","alt":"User with security lock icon","lazyEnabled":true,"height":"64","width":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy":{"id":"nav-item-069a54116a","additionalClasses":"is-light-gray-icon","linkDescription":"총소유비용(TCO)을 최소화하고 요금 대비 성능을 지속적으로 최적화하여 경제적 가치를 극대화하세요.","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/pricing-options/cost-and-performance-optimization/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"비용 및 성능 최적화"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/ko/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719963657751_c/nav_column_container/nav_column_copy_copy/nav_item_copy/icon.coreimg.svg/1740636477103/nav-icon-cost-optimization-performance.svg","alt":"Cost Optimization icon","lazyEnabled":true,"height":"64","width":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_185565_1325641543":{"id":"nav-item-c04ee62fad","linkDescription":"AI 데이터 클라우드 기반 애플리케이션을 개발하는 스타트업 지원","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/why-snowflake/partners/powered-by-snowflake/powered-by-snowflake-startup-program/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"스타트업을 위한 Snowflake"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/ko/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719963657751_c/nav_column_container/nav_column_copy_copy/nav_item_copy_185565_1325641543/icon.coreimg.svg/1778284274253/launch.svg","alt":"/content/snowflake-site/global/ko/why-snowflake/partners/powered-by-snowflake/powered-by-snowflake-startup-program","lazyEnabled":true,"height":"64","width":"65",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item","nav_item_258535199","nav_item_copy_185565","nav_item_copy","nav_item_copy_185565_1325641543"]}},":itemsOrder":["nav_column","nav_column_copy_copy"]},":type":"snowflake-site/components/nav/nav-dropdown-menu","cq:panelTitle":"Snowflake를 사용해야 하는 이유"},"item_1719961362824":{"id":"nav-dropdown-menu-0f2133eac6","enableDropdown":true,"nav_column_container":{"layout":"SIMPLE","id":"container-78cd785aaa",":type":"snowflake-site/components/nav/nav-column/nav-column-container",":items":{"nav_column_copy":{"navColumnTitle":"Connect","numberOfSubColumns":"one-column","minWidth":"124","layout":"SIMPLE","id":"container-4e14931dda",":type":"snowflake-site/components/nav/nav-column",":items":{"nav_item":{"id":"nav-item-d4115d4205","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/blog/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"블로그"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_180298689":{"id":"nav-item-c674aef362","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/events/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"이벤트"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_1639361946":{"id":"nav-item-ef3f4819a8","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/support/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"지원"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_680912746":{"id":"nav-item-9aa5a9df16","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/contact/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"문의"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item","nav_item_180298689","nav_item_1639361946","nav_item_680912746"]},"nav_column_44600420__826130542":{"navColumnTitle":"학습","numberOfSubColumns":"two-columns","layout":"SIMPLE","id":"container-b17bdf1a4b",":type":"snowflake-site/components/nav/nav-column",":items":{"nav_item_copy":{"id":"nav-item-5655bff1c2","linkDescription":"eBook, 팟캐스트, 비디오, 백서 등","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/resources/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"리소스 라이브러리"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/ko/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719961362824/nav_column_container/nav_column_44600420__826130542/nav_item_copy/icon.coreimg.svg/1740636655434/nav-icon--notebooks.svg","alt":"Notebooks icon","lazyEnabled":true,"height":"64","width":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item":{"id":"nav-item-330d9000aa","linkDescription":"Snowflake의 교육 프로그램 개요","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/resources/learn/training/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"교육"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/ko/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719961362824/nav_column_container/nav_column_44600420__826130542/nav_item/icon.coreimg.svg/1778205646803/nav-icon--training.svg","alt":"Training icon","lazyEnabled":true,"height":"64","width":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_144634_1984107859":{"id":"nav-item-4f1f59b327","linkDescription":"다양한 산업 및 사용 사례에 대해 전문가가 주도하는 토론 및 데모","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/content/snowflake-site/global/ko/webinars"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"웨비나"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/ko/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719961362824/nav_column_container/nav_column_44600420__826130542/nav_item_copy_144634_1984107859/icon.coreimg.svg/1773154016344/nav-icon--webinars.svg","alt":"Webinars icon","lazyEnabled":true,"height":"64","width":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_1438098918":{"id":"nav-item-260e239553","linkDescription":"Snowflake의 기술 산업 전문 자격증","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/resources/learn/certifications/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"자격 인증"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/ko/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719961362824/nav_column_container/nav_column_44600420__826130542/nav_item_copy_1438098918/icon.coreimg.svg/1740636703088/nav-icon--cert.svg","alt":"Certification icon","lazyEnabled":true,"height":"64","width":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_143809":{"id":"nav-item-caa9e6ee8f","linkDescription":"주요 기능에 대한 주간 제품 데모 및 실시간 Q&A 제공","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/content/snowflake-site/global/en/webinars/demo"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"라이브 데모"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/ko/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719961362824/nav_column_container/nav_column_44600420__826130542/nav_item_copy_143809/icon.coreimg.svg/1778205597408/nav-icon--live-demo.svg","alt":"Live Demo icon","lazyEnabled":true,"height":"64","width":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_333890638":{"id":"nav-item-7d46a48ff6","linkDescription":"모든 레벨을 위한 교육 과정, 온디맨드 또는 실시간 강의 제공","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"attributes":{"target":"_blank"},"url":"https://learn.snowflake.com/en/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"Snowflake University"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/ko/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719961362824/nav_column_container/nav_column_44600420__826130542/nav_item_copy_333890638/icon.coreimg.svg/1778205657253/nav-icon--education.svg","alt":"Education icon","lazyEnabled":true,"height":"64","width":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_189945_1419909438":{"id":"nav-item-f0c64e63f8","linkDescription":"Snowflake의 핵심 기능을 익힐 수 있는 강사 주도의 가상 워크샵","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/content/snowflake-site/global/en/webinars/virtual-hands-on-lab"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"핸즈온 랩"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/ko/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719961362824/nav_column_container/nav_column_44600420__826130542/nav_item_copy_189945_1419909438/icon.coreimg.svg/1778205618866/nav-icon--labs.svg","alt":"Hands-on Labs icon","lazyEnabled":true,"height":"64","width":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_189945_71807784":{"id":"nav-item-aa1c83aacb","linkDescription":"Snowflake 연구진이 작성한 연구 논문","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/en/resources/publications/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"Snowflake Research Publications"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/ko/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719961362824/nav_column_container/nav_column_44600420__826130542/nav_item_copy_189945_71807784/icon.coreimg.svg/1778205823757/data-sheet.svg","alt":"Data Sheet","lazyEnabled":true,"height":"64","width":"65",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_189945_1090045707":{"id":"nav-item-50e58c5a39","linkDescription":"AI 및 데이터 주제 관련 인사이트 콘텐츠","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/ko/fundamentals/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"Fundamentals"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/ko/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719961362824/nav_column_container/nav_column_44600420__826130542/nav_item_copy_189945_1090045707/icon.coreimg.svg/1778214635577/nav-icon--labs.svg","alt":"Hands-on Labs icon","lazyEnabled":true,"height":"64","width":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item_copy","nav_item","nav_item_copy_144634_1984107859","nav_item_copy_1438098918","nav_item_copy_143809","nav_item_copy_333890638","nav_item_copy_189945_1419909438","nav_item_copy_189945_71807784","nav_item_copy_189945_1090045707"]}},":itemsOrder":["nav_column_copy","nav_column_44600420__826130542"]},":type":"snowflake-site/components/nav/nav-dropdown-menu","cq:panelTitle":"리소스"},"item_1719963657751":{"id":"nav-dropdown-menu-71a1848e7c","enableDropdown":true,"nav_column_container":{"layout":"SIMPLE","id":"container-342c9c7671",":type":"snowflake-site/components/nav/nav-column/nav-column-container",":items":{"nav_column_copy_copy":{"navColumnTitle":"Build","numberOfSubColumns":"one-column","layout":"SIMPLE","id":"container-b90ad823e3",":type":"snowflake-site/components/nav/nav-column",":items":{"nav_item":{"id":"nav-item-4b480bc9e3","propertiesId":"testID","linkDescription":"빌드 및 확장이 필요한 개발자 리소스 개요","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/developers/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"개발자를 위한 Snowflake"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/ko/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719963657751/nav_column_container/nav_column_copy_copy/nav_item/icon.coreimg.svg/1778205851807/nav-icon--devs.svg","alt":"Developers icon","lazyEnabled":true,"height":"64","width":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_1855651246":{"id":"nav-item-80f21ca284","linkDescription":"참조 아키텍처, 사용 사례 및 모범 사례","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/ko/developers/guides/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"개발자 가이드"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/ko/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719963657751/nav_column_container/nav_column_copy_copy/nav_item_copy_1855651246/icon.coreimg.svg/1778214724119/nav-icon--solution-center.svg","alt":"Solution Center icon","lazyEnabled":true,"height":"64","width":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy":{"id":"nav-item-d3280af9bc","additionalClasses":"is-light-gray-icon","linkDescription":"최신 소프트웨어 버전, 드라이버, 라이브러리 및 관련 문서","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/developers/downloads/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"다운로드 "},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/ko/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719963657751/nav_column_container/nav_column_copy_copy/nav_item_copy/icon.coreimg.svg/1778205861103/nav-icon-download.svg","alt":"Download icon","lazyEnabled":true,"height":"28","width":"28",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item","nav_item_copy_1855651246","nav_item_copy"]},"nav_column_copy_copy_1367930678":{"navColumnTitle":"학습","numberOfSubColumns":"one-column","layout":"SIMPLE","id":"container-da7c6aa116",":type":"snowflake-site/components/nav/nav-column",":items":{"nav_item":{"id":"nav-item-05880bf996","propertiesId":"testID","linkDescription":"참조 문서, 가이드, 자습서 및 발표 내용","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"attributes":{"target":"_blank"},"url":"https://docs.snowflake.com/ko"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"설명서"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/ko/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719963657751/nav_column_container/nav_column_copy_copy_1367930678/nav_item/icon.coreimg.svg/1740636759283/nav-icon--docs.svg","alt":"Docs icon","lazyEnabled":true,"height":"64","width":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy":{"id":"nav-item-dc99fb0158","additionalClasses":"is-light-gray-icon","linkDescription":"Snowflake 엔지니어들이 유지 및 지원 중인 핵심  프로젝트 ","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/developers/open-source/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"오픈소스"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/ko/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719963657751/nav_column_container/nav_column_copy_copy_1367930678/nav_item_copy/icon.coreimg.svg/1778205872502/nav-icon-open-source.svg","alt":"Open Source icon","lazyEnabled":true,"height":"32","width":"32",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_copy":{"id":"nav-item-fb23ee9e57","additionalClasses":"is-light-gray-icon","linkDescription":"Snowflake 실무 능력 향상을 위한 온라인 및 대면 강좌, 워크숍 등의 업스킬 프로그램","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/developers/northstar/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Builder 교육 "},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/ko/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719963657751/nav_column_container/nav_column_copy_copy_1367930678/nav_item_copy_copy/icon.coreimg.svg/1778205893789/nav-icon--northstar.svg","alt":"Northstar logo","lazyEnabled":true,"height":"32","width":"32",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item","nav_item_copy","nav_item_copy_copy"]},"nav_column_copy_copy_1101894776":{"navColumnTitle":"Connect","numberOfSubColumns":"one-column","layout":"SIMPLE","id":"container-e7928def39",":type":"snowflake-site/components/nav/nav-column",":items":{"nav_item":{"id":"nav-item-fedc47a4a9","propertiesId":"testID","linkDescription":"Snowflake 기능 구축 방법 및 이유 등에 대한 기술 리더들의 설명","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"attributes":{"target":"_blank"},"url":"https://www.snowflake.com/engineering-blog/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"엔지니어링 블로그"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/ko/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719963657751/nav_column_container/nav_column_copy_copy_1101894776/nav_item/icon.coreimg.svg/1778284968921/nav-icon--developer-center.svg","alt":"Developers icon","lazyEnabled":true,"height":"32","width":"32",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_1855651246":{"id":"nav-item-beb60ae64f","linkDescription":"Snowflake 개발자들과 토론하고 비법 및 요령을 공유하는 공간","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"attributes":{"target":"_blank"},"url":"https://community.snowflake.com/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"커뮤니티"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/ko/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719963657751/nav_column_container/nav_column_copy_copy_1101894776/nav_item_copy_1855651246/icon.coreimg.svg/1778205910554/nav-icon--partner-network.svg","alt":"Partner Network icon","lazyEnabled":true,"height":"64","width":"64",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item","nav_item_copy_1855651246"]}},":itemsOrder":["nav_column_copy_copy","nav_column_copy_copy_1367930678","nav_column_copy_copy_1101894776"]},":type":"snowflake-site/components/nav/nav-dropdown-menu","cq:panelTitle":"개발자"},"item_1718247180324":{"id":"nav-dropdown-menu-6c8146ba8f","enableDropdown":false,"link_url":"/ko/pricing-options/",":type":"snowflake-site/components/nav/nav-dropdown-menu","cq:panelTitle":"요금"}},":itemsOrder":["item_1719963657751_c_663444255","nav_dropdown_menu_2","item_1719963657751_c","item_1719961362824","item_1719963657751","item_1718247180324"]},"languagenavigation":{"id":"language-navigation-b8c1942a3d","languageNavItems":[{"title":"English","path":"/en/","locale":"en","active":false},{"title":"日本語","path":"/ja/","locale":"ja","active":false},{"title":"한국어","path":"/ko/developers/guides/getting-started-with-geospatial-geography-kr/","locale":"ko","active":true},{"title":"中文（简体）","path":"/zh_cn/","locale":"zh-cn","active":false},{"title":"Português","path":"/pt_br/","locale":"pt-br","active":false},{"title":"Deutsch","path":"/de/","locale":"de","active":false},{"title":"Français","path":"/fr/","locale":"fr","active":false},{"title":"Español","path":"/es/","locale":"es","active":false},{"title":"Italiano","path":"/it/","locale":"it","active":false}],":type":"snowflake-site/components/nav/language-navigation"},"button":{"id":"button-825b75cf1c","heapButtonClasses":["contact_nav","heap-nav-contact"],"showOutboundIcon":true,"buttonLink":{"valid":true,"url":"/ko/contact/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","appliedCssClassNames":"snowflake-button-secondary snowflake-button-blue snowflake-button-compact","text":"영업 담당자에게 문의하기"},"button_288358396":{"id":"button-74d96fb24b","heapButtonClasses":["start_for_free_nav","heap-nav-start-for-free"],"showOutboundIcon":true,"buttonLink":{"valid":true,"attributes":{"target":"_blank"},"url":"https://signup.snowflake.com/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","appliedCssClassNames":"snowflake-button-primary snowflake-button-blue snowflake-button-compact","text":"무료로 시작하기"}},":itemsOrder":["nav_mega","languagenavigation","button","button_288358396"],"appliedCssClassNames":"snowflake-header-container white"}},":itemsOrder":["markup_editor","mega_header"]}},":itemsOrder":["root"]},"markup_editor_1950346551":{"id":"markup-editor-efef7cce7e","title":" ","cssContent":".snowflake-markdown-table code[class*=language-],.snowflake-markdown-table code[class*=language-],.snowflake-markdown .snowflake-text code[class*=language-],.snowflake-markdown .snowflake-text pre[class*=language-]{background-color:rgba(var(--ui-12-rgb),.5);color:var(--text-01);text-shadow:none;padding:var(--spacing-00);border-radius:var(--spacing-00);font-size:smaller}","isGSAPEnabled":false,":type":"snowflake-site/components/markup-editor"},"responsivegrid":{"columnClassNames":{"quickstart_hero":"aem-GridColumn aem-GridColumn--default--12","flexible_column_cont":"aem-GridColumn aem-GridColumn--default--12","markup_editor":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","columnCount":12,":items":{"quickstart_hero":{"id":"quickstart-hero-a8d4c3c23c","isDeveloperGuidesPage":false,"quickstartHeroFirstCertifiedTag":{"tagText":"Quickstart","tagColor":"#29B5E8","tagPath":"/content/cq:tags/snowflake-site/taxonomy/solution-center/certification/quickstart","tagIcon":""},"quickstartHeroTitle":{"lines":["지리 공간 데이터 활용기"],"type":"heading2",":type":"snowflake-site/components/title-v2"},"quickstartHeroAuthor":"Kevin McGinley","quickstartHeroFirstSnowflakeFeatureTag":{"tagText":"Interactive Analytics","tagColor":"#29B5E8","tagPath":"/content/cq:tags/snowflake-site/taxonomy/snowflake-feature/interactive-analytics","tagIcon":""},"quickstartHeroForkRepoLink":{"id":"button-8afb3967e1","showOutboundIcon":false,"buttonLink":{"valid":true,"attributes":{"target":"_blank"},"url":"https://github.com/Snowflake-Labs/sfquickstarts/tree/master/site/sfguides/src/getting-started-with-geospatial-geography-kr"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"Fork Repo"},"quickstartHeroBreadcrumbs":[{"title":"지리 공간 데이터 활용기","url":"https://www.snowflake.com/content/snowflake-site/global/ko/developers/guides/getting-started-with-geospatial-geography-kr","currentPage":true},{"title":"개발자 솔루션 센터","url":"https://www.snowflake.com/content/snowflake-site/global/ko/developers/guides","currentPage":false},{"title":"Snowflake for Developers","url":"https://www.snowflake.com/content/snowflake-site/global/ko/developers","currentPage":false}],"fragmentPath":"/content/dam/snowflake-site/ko/content-fragments/quickstarts/getting-started-with-geospatial-geography-kr",":type":"snowflake-site/components/quickstart/quickstart-hero"},"flexible_column_cont":{"id":"flexible-column-container-3fb6e771a0","propertiesId":"quickstart-template-main-flexible-container","type":"2-column-75-25","alignColumns":"top","containerMaxWidth":"extra-large","topPadding":"none","bottomPadding":"none","spaceBetween":"small","reverseOnMobile":false,"carouselOnMobile":false,"backgroundImageOption":"none","flexible_column_content_container_1":{"layout":"SIMPLE","id":"container-9ece1bc79f",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{"contentfragment":{"id":"contentfragment-4a86af54f8","paragraphs":["&lt;!-- ------------------------ --&gt;\n","\u003Ch2\u003E개요\u003C/h2\u003E\n","\u003Cp\u003ESnowflake의 지리 공간 쿼리 기능은 지리 공간 오브젝트를 대상으로 계산을 분석, 구성 및 실행하는 데 사용할 수 있는 데이터 타입과 특화된 쿼리 기능의 조합을 기반으로 구축되었습니다. 이 가이드에서는 \u003Ccode\u003EGEOGRAPHY\u003C/code\u003E 데이터 타입을 소개하며 여러분이 Snowflake에서 지원하는 지리 공간 형식을 이해할 수 있도록 돕습니다. 또한 Snowflake Marketplace에서 가져온 샘플 지리 공간 데이터 세트에 다양한 함수를 사용하는 방법을 안내합니다.\u003C/p\u003E\n","\u003Ch3\u003E사전 필요 조건 및 지식\u003C/h3\u003E\n\u003Cul\u003E\u003Cli\u003E짧은 \u003Ca href=\"https://www.youtube.com/watch?v=fEtoYweBNQ4&amp;ab_channel=SnowflakeInc.\"\u003ESnowflake 소개\u003C/a\u003E 동영상\u003C/li\u003E\u003Cli\u003ESnowflake \u003Ca href=\"https://www.youtube.com/watch?v=us6MChC8T9Y&amp;ab_channel=SnowflakeInc.\"\u003E데이터 로딩 기본 사항\u003C/a\u003E 동영상\u003C/li\u003E\u003C/ul\u003E\n","\u003Ch3\u003E학습할 내용\u003C/h3\u003E\n\u003Cul\u003E\u003Cli\u003ESnowflake Marketplace에서 지리 공간 데이터 습득 방법\u003C/li\u003E\u003Cli\u003E\u003Ccode\u003EGEOGRAPHY\u003C/code\u003E 데이터 타입 해석 방법\u003C/li\u003E\u003Cli\u003E\u003Ccode\u003EGEOGRAPHY\u003C/code\u003E가 표현될 수 있는 다양한 형식을 이해하는 방법\u003C/li\u003E\u003Cli\u003E지리 공간 데이터 언로드/로드 방법\u003C/li\u003E\u003Cli\u003E쿼리에서 지리 공간 함수 파서, 생성자 및 계산 사용 방법\u003C/li\u003E\u003Cli\u003E지리 공간 조인 수행 방법\u003C/li\u003E\u003C/ul\u003E\n","\u003Ch3\u003E필요한 것\u003C/h3\u003E\n\u003Cul\u003E\u003Cli\u003E지원되는 Snowflake \u003Ca href=\"https://docs.snowflake.com/en/user-guide/setup.html\"\u003E브라우저\u003C/a\u003E\u003C/li\u003E\u003Cli\u003E\u003Ca href=\"https://signup.snowflake.com/?utm_cta=quickstarts_\"\u003ESnowflake 평가판\u003C/a\u003E 등록\n\u003Cul\u003E\u003Cli\u003E또는 \u003Ccode\u003EACCOUNTADMIN\u003C/code\u003E 역할이나 \u003Ccode\u003EIMPORT SHARE\u003C/code\u003E 권한을 가진 기존 Snowflake 계정에 대한 액세스 보유\u003C/li\u003E\u003C/ul\u003E\n\u003C/li\u003E\u003Cli\u003E\u003Ca href=\"https://geojson.io\"\u003Egeojson.io\u003C/a\u003E 또는 \u003Ca href=\"https://clydedacruz.github.io/openstreetmap-wkt-playground/\"\u003EWKT Playground\u003C/a\u003E 웹 사이트에 대한 액세스\u003C/li\u003E\u003C/ul\u003E\n","\u003Ch3\u003E구축할 것\u003C/h3\u003E\n\u003Cul\u003E\u003Cli\u003E뉴욕의 관심 지점과 관련된 샘플 사용 사례.\u003C/li\u003E\u003C/ul\u003E\n&lt;!-- ------------------------ --&gt;\n","\u003Ch2\u003EMarketplace 데이터 습득\u003C/h2\u003E\n","\u003Cp\u003E이 가이드의 첫 단계는 Snowflake 지리 공간 기능의 기본 사항을 탐색하기 위해 자유롭게 사용할 수 있는 지리 공간 데이터 세트를 습득하는 것입니다. 이 데이터를 습득할 최적의 장소는 Snowflake Marketplace입니다!\u003C/p\u003E\n","\u003Ch3\u003ESnowflake의 Preview 웹 UI에 액세스\u003C/h3\u003E\n","\u003Cp\u003E\u003Ca href=\"https://app.snowflake.com\"\u003Eapp.snowflake.com\u003C/a\u003E\u003C/p\u003E\n","\u003Cp\u003E처음으로 새로운 Preview Snowflake UI에 로그인하는 것이라면 평가판을 습득할 때 받았던 여러분의 계정 이름 또는 계정 URL 입력을 요청하는 프롬프트가 나타납니다. 계정 URL에는 여러분의 \u003Ca href=\"https://docs.snowflake.com/en/user-guide/connecting.html#your-snowflake-account-name\"\u003E계정 이름\u003C/a\u003E과 잠재적으로 지역이 포함되어 있습니다.\u003C/p\u003E\n","\u003Cp\u003E\u003Ccode\u003ESign-in\u003C/code\u003E을 클릭하면 여러분의 사용자 이름과 암호를 요청하는 프롬프트가 나타납니다.\u003C/p\u003E\n\u003Cblockquote\u003E\n","\u003Cp\u003Easide positive\u003C/p\u003E\n","\u003Cp\u003E처음으로 새로운 Preview Snowflake UI에 로그인하는 것이 아니라면 'Select an account to sign into' 프롬프트와 그 아래에 나열된 여러분의 계정을 위한 버튼이 나타나야 합니다. 액세스하고자 하는 계정을 클릭하면 여러분의 사용자 이름과 암호(또는 기타 인증 메커니즘)를 요청하는 프롬프트가 나타납니다.\u003C/p\u003E\n\u003C/blockquote\u003E\n","\u003Ch3\u003E계정 권한 확장\u003C/h3\u003E\n","\u003Cp\u003E새로운 Preview Snowflake 웹 인터페이스는 다양한 기능을 제공하지만 지금은 여러분의 현재 역할을 기본값인 \u003Ccode\u003ESYSADMIN\u003C/code\u003E에서 \u003Ccode\u003EACCOUNTADMIN\u003C/code\u003E으로 전환합니다. 이 권한 확장을 통해 Snowflake Marketplace 목록에서 공유 데이터베이스를 생성할 수 있습니다.\u003C/p\u003E\n","\u003Cp\u003EPositive : \u003Ccode\u003EACCOUNTADMIN\u003C/code\u003E 역할이 없다면 대신 \u003Ccode\u003EIMPORT SHARE\u003C/code\u003E 권한을 가진 역할로 전환합니다.\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-geospatial-geography-kr/snowflake_role.png\" alt=\"account-role-change-image\"\u003E\u003C/p\u003E\n","\u003Ch3\u003E가상 웨어하우스 생성(필요할 경우)\u003C/h3\u003E\n","\u003Cp\u003E쿼리를 실행할 가상 웨어하우스에 대한 액세스가 아직 없다면 가상 웨어하우스를 하나 생성해야 합니다.\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E창 왼쪽에 있는 메뉴를 사용하여 \u003Ccode\u003ECompute &gt; Warehouses\u003C/code\u003E 화면으로 이동합니다\u003C/li\u003E\u003Cli\u003E창 오른쪽 상단에 있는 큰 파란색 \u003Ccode\u003E+ Warehouse\u003C/code\u003E 버튼을 클릭합니다\u003C/li\u003E\u003Cli\u003E아래 화면에서 보이는 것처럼 X-Small Warehouse를 생성합니다\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-geospatial-geography-kr/snowflake_warehouse.png\" alt=\"create-warehouse-image\"\u003E\u003C/p\u003E\n","\u003Cp\u003E\u003Ccode\u003ESuspend After (min)\u003C/code\u003E 필드를 1분으로 변경하여 컴퓨팅 크레딧이 낭비되지 않도록 합니다.\u003C/p\u003E\n","\u003Ch3\u003ESnowflake Marketplace에서 데이터 습득\u003C/h3\u003E\n","\u003Cp\u003E이제 Snowflake Marketplace에서 샘플 지리 공간 데이터를 습득할 수 있습니다.\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E창 왼쪽에 있는 메뉴를 사용하여 \u003Ccode\u003EData &gt; Marketplace\u003C/code\u003E 화면으로 이동합니다\u003C/li\u003E\u003Cli\u003E검색 창에서 \u003Ccode\u003EOpenStreetMap New York\u003C/code\u003E을 검색합니다\u003C/li\u003E\u003Cli\u003E\u003Ccode\u003ESonra OpenStreetMap New York\u003C/code\u003E 타일(목록에서 첫 타일)을 클릭합니다\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-geospatial-geography-kr/snowflake_listing.png\" alt=\"marketplace-listing-image\"\u003E\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E목록으로 이동했다면 큰 파란색 \u003Ccode\u003EGet Data\u003C/code\u003E 버튼을 클릭합니다\u003C/li\u003E\u003C/ul\u003E\n\u003Cblockquote\u003E\n","\u003Cp\u003Easide negative\u003C/p\u003E\n","\u003Cp\u003E\u003Ccode\u003EGet Data\u003C/code\u003E 화면에서 여러분이 아직 사용자 프로필을 완료하지 않았다면 \u003Ccode\u003Euser profile\u003C/code\u003E 완료를 요청하는 프롬프트가 나타날 수 있습니다. 아래 스크린샷에서 보이는 링크를 클릭합니다. 프로필 화면에 이름과 이메일 주소를 입력하고 파란색 \u003Ccode\u003ESave\u003C/code\u003E 버튼을 클릭합니다. \u003Ccode\u003EGet Data\u003C/code\u003E 화면으로 되돌아오게 됩니다.\u003C/p\u003E\n\u003C/blockquote\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-geospatial-geography-kr/snowflake_profile_prompt.png\" alt=\"set-profile-image\"\u003E\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\u003Ccode\u003EGet Data\u003C/code\u003E 화면에서 데이터베이스 이름을 기본값에서 더 짧은 \u003Ccode\u003EOSM_NEWYORK\u003C/code\u003E으로 변경합니다. 모든 추후 지침에서는 데이터베이스의 이름을 이것으로 가정합니다.\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-geospatial-geography-kr/snowflake_get_data.png\" alt=\"get-data-image\"\u003E\u003C/p\u003E\n","\u003Cp\u003E축하드립니다! 방금 Snowflake Marketplace의 목록에서 공유 데이터베이스를 생성했습니다. 큰 파란색 \u003Ccode\u003EQuery Data\u003C/code\u003E 버튼을 클릭하고 이 가이드의 다음 단계로 이동합니다.\u003C/p\u003E\n&lt;!-- ------------------------ --&gt;\n","\u003Ch2\u003E지리 공간 형식에 대한 이해\u003C/h2\u003E\n","\u003Cp\u003E이전 섹션의 마지막 단계에서 워크시트 편집기를 새로운 Snowflake UI에서 열었습니다. Marketplace 목록에서 정의된 샘플 쿼리에서 가져온 몇몇 사전 정의된 쿼리가 포함되어 있었습니다. 이 가이드에서는 어떠한 쿼리도 실행하지만 추후에 실행해 보십시오. 대신 새로운 워크시트 편집기를 열고 다양한 쿼리를 실행하여 \u003Ccode\u003EGEOGRAPHY\u003C/code\u003E 데이터 타입이 Snowflake에서 어떻게 작동하는지 이해해 보겠습니다.\u003C/p\u003E\n","\u003Ch3\u003E새로운 워크시트 열기 및 웨어하우스 선택\u003C/h3\u003E\n\u003Cul\u003E\u003Cli\u003E창 오른쪽 상단에 있는 큰 더하기(+) 버튼을 클릭합니다. 이 버튼은 새로운 창이나 탭을 엽니다. 열리지 않는다면 여러분의 브라우저 팝업 차단 설정에 따라 창/탭을 열기 위해 브라우저에서 이를 허용해야 할 수 있습니다.\u003C/li\u003E\u003Cli\u003E새로운 창에서 \u003Ccode\u003EACCOUNTADMIN\u003C/code\u003E 및 \u003Ccode\u003EMY_WH\u003C/code\u003E(또는 여러분이 지정한 웨어하우스 이름)가 브라우저 창의 오른쪽 상단에 있는 큰 더하기(+) 버튼 옆 상자에서 선택되었는지 확인합니다.\u003C/li\u003E\u003Cli\u003E오브젝트 브라우저의 왼쪽에서 \u003Ccode\u003EOSM_NEWYORK\u003C/code\u003E 데이터베이스, \u003Ccode\u003ENEW_YORK\u003C/code\u003E 스키마 및 \u003Ccode\u003EViews\u003C/code\u003E 그룹화를 확장하여 이 공유 데이터베이스에서 여러분의 보유하고 있는 액세스의 다양한 뷰를 확인합니다. 데이터 공급자는 이 목록에서 데이터베이스 뷰만 공유하기로 결정했습니다. 이 가이드에 걸쳐 이러한 일부 뷰를 사용하겠습니다.\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E이제 일부 쿼리를 실행할 준비가 되었습니다.\u003C/p\u003E\n","\u003Ch3\u003EGEOGRAPHY 데이터 타입\u003C/h3\u003E\n","\u003Cp\u003ESnowflake의 \u003Ccode\u003EGEOGRAPHY\u003C/code\u003E 데이터 타입은 모든 포인트를 평면이 아닌 구형 지구의 경도와 위도로 취급한다는 점에서 기타 지리 공간 데이터베이스의 \u003Ccode\u003EGEOGRAPHY\u003C/code\u003E 데이터 타입과 비슷합니다. 이는 기타 지리 공간 타입(예: \u003Ccode\u003EGEOMETRY\u003C/code\u003E)과의 중요한 차이점입니다. 그러나 이 가이드에서는 이러한 차이점을 다루지 않습니다. Snowflake의 명세에 대한 자세한 정보는 \u003Ca href=\"https://docs.snowflake.com/en/sql-reference/data-types-geospatial.html\"\u003E여기\u003C/a\u003E에서 찾을 수 있습니다.\u003C/p\u003E\n","\u003Cp\u003E다음 쿼리를 실행하여 \u003Ccode\u003EGEOGRAPHY\u003C/code\u003E 열을 보유하고 있는 공유 데이터베이스의 뷰 중 하나를 살펴보겠습니다. 아래 SQL을 여러분의 워크시트 편집기에 복사하여 붙여넣습니다. 커서를 실행하고자 하는 쿼리 텍스트 부근(주로 시작 또는 끝)에 올려놓고 브라우저 창 오른쪽 상단에 있는 파란색 'Play' 버튼을 클릭하거나 \u003Ccode\u003ECTRL+Enter\u003C/code\u003E 또는 \u003Ccode\u003ECMD+Enter\u003C/code\u003E(Windows 또는 Mac)를 눌러 쿼리를 실행합니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode\u003E// Set the working database schema\nuse schema osm_newyork.new_york;\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003E\u003Ca href=\"https://docs.snowflake.com/en/sql-reference/sql/use-schema.html\"\u003EUSE SCHEMA\u003C/a\u003E 명령은 여러분의 추후 쿼리를 위해 활성 database.schema를 설정합니다. 따라서 여러분의 오브젝트는 자격을 완벽하게 갖출 필요가 없습니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode\u003E// Describe the v_osm_ny_shop_electronics view \ndesc view v_osm_ny_shop_electronics;\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003E\u003Ca href=\"https://docs.snowflake.com/en/sql-reference/sql/desc.html\"\u003EDESC 또는 DESCRIBE\u003C/a\u003E 명령은 여러분에게 뷰 정의를 보여줍니다. 여기에는 열, 데이터 타입 및 기타 관련 세부 정보가 포함되어 있습니다. \u003Ccode\u003Ecoordinates\u003C/code\u003E 열은 \u003Ccode\u003EGEOGRAPHY\u003C/code\u003E 타입으로 정의됩니다. 이는 다음 단계에서 집중적으로 다룰 열입니다.\u003C/p\u003E\n","\u003Ch3\u003EGEOGRAPHY 출력 형식 보기\u003C/h3\u003E\n","\u003Cp\u003ESnowflake는 3가지 기본 지리 공간 형식과 이러한 형식의 2가지 추가 변형을 지원합니다. 기본 지리 공간 형식:\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\u003Cstrong\u003EGeoJSON\u003C/strong\u003E: 지리 공간 데이터를 나타내기 위한 JSON 기반 표준\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003EWKT &amp; EWKT\u003C/strong\u003E: 지리 공간 데이터와 해당 형식의 'Extended' 변형을 나타내기 위한 'Well Known Text' 문자열 형식\u003C/li\u003E\u003Cli\u003E\u003Cstrong\u003EWKB &amp; EWKB\u003C/strong\u003E: 바이너리 지리 공간 데이터와 해당 형식의 'Extended' 변형을 나타내기 위한 'Well Known Binary' 형식\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E이러한 형식은 수집(이러한 형식을 포함하는 파일은 \u003Ccode\u003EGEOGRAPHY\u003C/code\u003E 형식의 열로 로드될 수 있음), 쿼리 결과 디스플레이 및 새로운 파일로의 데이터 언로딩을 위해 지원됩니다. Snowflake가 어떻게 숨겨진 데이터를 저장하는지 걱정할 필요는 없습니다. 대신 데이터가 여러분에게 표시되거나 \u003Ccode\u003EGEOGRAPHY_OUTPUT_FORMAT\u003C/code\u003E이라는 세션 변수의 값을 통해 파일로 언로드되는 방법을 고려해야 합니다.\u003C/p\u003E\n","\u003Cp\u003E아래 쿼리를 실행하여 현재 형식이 GeoJSON인지 확인합니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode\u003E// Set the output format to GeoJSON\nalter session set geography_output_format = 'GEOJSON';\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003E\u003Ca href=\"https://docs.snowflake.com/en/sql-reference/sql/alter-session.html\"\u003EALTER SESSION\u003C/a\u003E 명령을 통해 현재 사용자 세션(이 경우 \u003Ccode\u003EGEOGRAPHY_OUTPUT_FORMAT\u003C/code\u003E)을 위한 매개 변수를 설정할 수 있습니다. 이 매개 변수의 기본값은 \u003Ccode\u003E'GEOJSON'\u003C/code\u003E이기에 일반적으로는 해당 형식을 원한다면 이 명령을 실행하지 않아도 됩니다. 그러나 이 가이드에서는 다음 쿼리가 \u003Ccode\u003E'GEOJSON'\u003C/code\u003E 출력으로 실행됨을 확실시 하고자 합니다.\u003C/p\u003E\n","\u003Cp\u003E이제 다음 쿼리를 \u003Ccode\u003EV_OSM_NY_SHOP_ELECTRONICS\u003C/code\u003E 뷰와 비교하여 실행합니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode\u003E// Query the v_osm_ny_shop_electronics view for rows of type 'node' (long/lat points)\nselect coordinates, name from v_osm_ny_shop_electronics where type = 'node' limit 25;\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003E결과 세트에서 \u003Ccode\u003Ecoordinates\u003C/code\u003E 열을 확인하고 어떻게 포인트의 JSON 표현을 표시하는지 확인합니다. 다음과 비슷하게 나타나야 합니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-json\"\u003E{   &quot;coordinates&quot;: [     -7.390351649999999e+01,     4.074499730000000e+01   ],   &quot;type&quot;: &quot;Point&quot; }\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003E쿼리 결과의 \u003Ccode\u003Ecoordinates\u003C/code\u003E 열에 있는 셀을 클릭하면 JSON 표현은 쿼리 창 오른쪽에 있는 셀 패널에 표시됩니다. 또한 해당 JSON 텍스트(아래 스크린샷 참고)를 복사할 수 있는 버튼이 포함되어 있습니다. 이 기능은 추후 연습에서 사용하겠습니다.\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-geospatial-geography-kr/snowflake_cell_panel.png\" alt=\"cell-panel-image\"\u003E\u003C/p\u003E\n","\u003Cp\u003E이제 다음 쿼리를 실행합니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode\u003E// Query the v_osm_ny_shop_electronics view for rows of type 'way' (a collection of many points)\nselect coordinates, name from v_osm_ny_shop_electronics where type = 'way' limit 25;\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003E쿼리 결과의 \u003Ccode\u003Ecoordinates\u003C/code\u003E 열에 있는 셀을 클릭합니다. 셀 패널에서 JSON이 어떻게 JSON 배열에 있는 더 많은 포인트를 통해 확장되는지를 확인하십시오. 이는 단일 포인트의 지리 공간 표현과 여러 포인트 표현 간의 차이점을 보여줍니다.\u003C/p\u003E\n","\u003Cp\u003E이제 동일하지만 다른 형식을 가진 쿼리를 확인하겠습니다. 다음 쿼리를 실행합니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode\u003E// Set the output format to WKT\nalter session set geography_output_format = 'WKT';\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003E이전 쿼리 2개를 다시 실행합니다. 각 실행 시 \u003Ccode\u003Ecoordinates\u003C/code\u003E 열에 있는 셀을 클릭하고 출력을 살펴봅니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode\u003Eselect coordinates, name from v_osm_ny_shop_electronics where type = 'node' limit 25;\nselect coordinates, name from v_osm_ny_shop_electronics where type = 'way' limit 25;\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003EWKT는 GeoJSON과 다르게 보이며 훨씬 더 읽기 좋습니다. 여기에서 아래 예시 출력에서 표시된 \u003Ca href=\"https://docs.snowflake.com/en/sql-reference/data-types-geospatial.html#geospatial-object-types\"\u003E지리 공간 오브젝트 유형\u003C/a\u003E을 훨씬 더 명확하게 볼 수 있습니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-console\"\u003E// An example of a POINT\nPOINT(-74.0266511 40.6346599)\n// An example of a POLYGON\nPOLYGON((-74.339971 43.0631175,-74.3397734 43.0631363,-74.3397902 43.0632306,-74.3399878 43.0632117,-74.339971 43.0631175))\n\u003C/code\u003E\u003C/pre\u003E\n\u003Cblockquote\u003E\n","\u003Cp\u003Easide positive\u003C/p\u003E\n","\u003Cp\u003Eositive\n: 이 가이드에서는 다양한 지리 공간 오브젝트 유형을 사용하고 이를 사용함에 따라 추후 섹션에서 더 자세하게 설명합니다.\u003C/p\u003E\n\u003C/blockquote\u003E\n","\u003Cp\u003E마지막으로 WKB 출력을 확인하겠습니다. 다음 쿼리를 실행합니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode\u003E// Set the output format to WKB\nalter session set geography_output_format = 'WKB';\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003E2개의 쿼리를 다시 실행하고 실행할 때마다 \u003Ccode\u003Ecoordinates\u003C/code\u003E 열에 있는 셀을 클릭합니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode\u003Eselect coordinates, name from v_osm_ny_shop_electronics where type = 'node' limit 25;\nselect coordinates, name from v_osm_ny_shop_electronics where type = 'way' limit 25;\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003E인간 독자는 WKB를 이해할 수 없습니다. 바이너리 값의 길이 외에는 \u003Ccode\u003EPOINT\u003C/code\u003E와 \u003Ccode\u003EPOLYGON\u003C/code\u003E의 차이를 알기란 어렵습니다. 그러나 이 형식은 다음 섹션에서 확인할 수 있듯이 데이터 로드/언로드에 유용합니다.\u003C/p\u003E\n&lt;!-- ------------------------ --&gt;\n","\u003Ch2\u003E데이터 언로드/로드\u003C/h2\u003E\n","\u003Cp\u003E다양한 출력 형식을 이해했으니 electronics 뷰에서 새로운 파일을 생성한 다음 이러한 파일을 \u003Ccode\u003EGEOGRAPHY\u003C/code\u003E 데이터 타입을 가진 새로운 테이블로 로드할 수 있습니다. 또한 지리 공간 \u003Cem\u003E파서\u003C/em\u003E 및 _생성자_의 첫 예를 마주하게 됩니다.\u003C/p\u003E\n","\u003Ch3\u003E쿼리에서 새로운 WKB 파일 생성\u003C/h3\u003E\n","\u003Cp\u003E이 단계에서는 Snowflake의 \u003Ca href=\"https://docs.snowflake.com/en/sql-reference/sql/copy-into-location.html\"\u003ECOPY INTO 위치\u003C/a\u003E를 사용하여 쿼리의 출력을 가져오고 파일을 로컬 \u003Ca href=\"https://docs.snowflake.com/en/user-guide/data-load-local-file-system-create-stage.html#user-stages\"\u003E사용자 스테이지\u003C/a\u003E에서 생성하겠습니다. 출력 형식이 WKB로 설정되어 있기에 해당 테이블의 지리 공간 열은 새로운 파일에서 WKB 형식으로 나타납니다.\u003C/p\u003E\n\u003Cblockquote\u003E\n","\u003Cp\u003Easide negative\u003C/p\u003E\n","\u003Cp\u003EWKB 형식은 파일 내 단순성을 위해 여기에서 선택되었습니다. 구분 기호, 공백 또는 기타 특수 문자가 없는 WKB는 단일 영숫자 문자열이기에 파일에 지리 공간 데이터를 저장하는 데 훌륭합니다. 실제 사용 사례에서 기타 형식을 사용하지 말아야 한다는 의미는 아닙니다. 그러나 WKB는 이 가이드에서 여러분의 작업을 훨씬 더 쉽게 만듭니다.\u003C/p\u003E\n\u003C/blockquote\u003E\n","\u003Cp\u003E다음 쿼리를 다시 실행하여 WKB 출력 형식을 사용하고 있는지 확인합니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode\u003Ealter session set geography_output_format = 'WKB';\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003E\u003Ccode\u003ECOPY\u003C/code\u003E 명령의 구조에 익숙하지 않다면 아래 코드 메모에서 electronics 뷰의 일부 열과 모든 행을 복사하는 첫 쿼리의 코드를 분석합니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode\u003E// Define the write location (@~/ = my user stage) and file name for the file \ncopy into @~/osm_ny_shop_electronics_all.csv \n// Define the query that represents the data output\nfrom (select id,coordinates,name,type from v_osm_ny_shop_electronics) \n// Indicate the comma-delimited file format and tell it to double-quote strings\nfile_format=(type=csv field_optionally_enclosed_by='&quot;') \n// Tell Snowflake to write one file and overwrite it if it already exists\nsingle=true overwrite=true;\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003E위 쿼리를 실행하면 848개의 행이 언로드되었음을 나타내는 출력이 나타나야 합니다.\u003C/p\u003E\n","\u003Cp\u003E출력 쿼리와 파서에 일부 필터를 추가하는 아래에 있는 두 번째 언로드 쿼리를 실행합니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode\u003Ecopy into @~/osm_ny_shop_electronics_points.csv \nfrom (\n  select id,coordinates,name,type,st_x(coordinates),st_y(coordinates) \n  from v_osm_ny_shop_electronics where type='node'\n) file_format=(type=csv field_optionally_enclosed_by='&quot;') \nsingle=true overwrite=true;\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003E이 쿼리에서 \u003Ccode\u003EST_X\u003C/code\u003E 및 \u003Ccode\u003EST_Y\u003C/code\u003E 파서는 \u003Ccode\u003EGEOGRAPHY POINT\u003C/code\u003E 오브젝트에서 경도와 위도를 추출합니다. 이러한 파서는 단일 포인트만 입력으로 허용하기에 여러분은 쿼리를 \u003Ccode\u003Etype = 'node'\u003C/code\u003E로 필터링해야 했습니다. Snowflake에서 'x' 좌표는 언제나 경도이며 'y'좌표는 언제나 위도입니다. 또한 추후 생성자에서 확인할 수 있듯이 경도가 항상 먼저 나열됩니다.\u003C/p\u003E\n","\u003Ch3\u003E사용자 스테이징된 파일 LIST 및 쿼리\u003C/h3\u003E\n","\u003Cp\u003E이제 여러분의 사용자 스테이지에 2개의 파일이 있어야 합니다. \u003Ca href=\"https://docs.snowflake.com/en/sql-reference/sql/list.html\"\u003ELIST\u003C/a\u003E 명령을 실행하여 파일이 해당 위치에 존재하는지 확인합니다. 'osm' 문자열은 'osm'으로 시작하는 파일만 표시되도록 명령에 요청하는 필터의 역할을 수행합니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode\u003Elist @~/osm;\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003E아래 '$' 표기법을 사용해 단순한 파일을 스테이지에서 바로 쿼리하여 파일에 있는 구분된 각각의 열을 나타낼 수 있습니다. 이 경우 Snowflake는 이를 쉼표로 구분된 CSV라고 가정합니다. 다음 쿼리를 실행합니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode\u003Eselect $1,$2,$3,$4 from @~/osm_ny_shop_electronics_all.csv;\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003E파일을 생성한 방식으로 인해 두 번째 열에서는 WKB 지리 공간 데이터를 큰따옴표로 표시합니다. 이는 \u003Ccode\u003EGEOGRAPHY\u003C/code\u003E 데이터 타입으로 바로 로드되지 않기에 여러분이 추가적으로 파일 형식을 정의해야 합니다. 아래에 있는 각각의 쿼리를 실행하여 해당 데이터베이스에 로컬 데이터베이스와 새로운 파일 형식을 생성합니다. 또한 여러분의 \u003Ccode\u003EGEOGRAPHY\u003C/code\u003E 출력 형식을 WKT로 다시 전환하여 추후 쿼리 가독성을 개선하겠습니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode\u003E// Create a new local database\ncreate or replace database geocodelab;\n// Change your working schema to the public schema in that database\nuse schema geocodelab.public;\n// Create a new file format in that schema\ncreate or replace file format geocsv type = 'csv' field_optionally_enclosed_by='&quot;';\n// Set the output format back to WKT\nalter session set geography_output_format = 'WKT';\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003E이제 파일 형식을 사용하여 스테이지의 'all' 파일을 쿼리합니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode\u003Eselect $1,TO_GEOGRAPHY($2),$3,$4 \nfrom @~/osm_ny_shop_electronics_all.csv \n(file_format =&gt; 'geocsv');\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003ESnowflake에 WKB 바이너리 문자열을 지리 공간 데이터로 해석하고 \u003Ccode\u003EGEOGRAPHY\u003C/code\u003E 타입을 구성하도록 지시하는 \u003Ccode\u003ETO_GEOGRAPHY\u003C/code\u003E 생성자의 사용을 확인하십시오. WKT 출력 형식을 통해 이 표현을 보다 읽기 좋은 형태로 확인할 수 있습니다. 다음과 같은 2개의 쿼리를 실행하여 이 파일을 이제 \u003Ccode\u003EGEOGRAPHY\u003C/code\u003E 형식의 열을 포함하는 테이블로 로드할 수 있습니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode\u003E// Create a new 'all' table in the current schema\ncreate or replace table electronics_all \n(id number, coordinates geography, name string, type string);\n// Load the 'all' file into the table\ncopy into electronics_all from @~/osm_ny_shop_electronics_all.csv \nfile_format=(format_name='geocsv');\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003E848개의 행이 성공적으로 테이블에 로드되었으며 0개의 오류가 나타나야 합니다.\u003C/p\u003E\n","\u003Cp\u003E이제 기타 'points' 파일을 다루겠습니다. 앞서 \u003Ccode\u003EST_X\u003C/code\u003E 및 \u003Ccode\u003EST_Y\u003C/code\u003E를 사용하여 이 파일에 이산 경도와 위도를 생성했습니다. 다양한 열에 있는 이러한 값을 포함한 데이터를 수신하는 일이 종종 발생합니다. 또한 \u003Ccode\u003EST_MAKEPOINT\u003C/code\u003E 생성자를 사용하여 2개의 이산 위도와 경도 열을 하나의 \u003Ccode\u003EGEOGRAPHY\u003C/code\u003E 형식의 열로 결합할 수 있습니다. 다음 쿼리를 실행합니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode\u003Eselect $1,ST_MAKEPOINT($5,$6),$3,$4,$5,$6 \nfrom @~/osm_ny_shop_electronics_points.csv \n(file_format =&gt; 'geocsv');\n\u003C/code\u003E\u003C/pre\u003E\n\u003Cblockquote\u003E\n","\u003Cp\u003Easide negative\u003C/p\u003E\n","\u003Cp\u003E\u003Ccode\u003EST_MAKEPOINT\u003C/code\u003E에서는 위도가 먼저 나열되어 있습니다. 일반적으로 '경도 위도'라고 말함에도 불구하고 위도를 경도 앞에 배치하여 Snowflake에서 지리 공간 POINT 오브젝트를 나타냅니다.\u003C/p\u003E\n\u003C/blockquote\u003E\n","\u003Cp\u003E이제 테이블을 생성하고 'points' 파일을 해당 테이블로 로드합니다. 이러한 2개의 쿼리를 실행합니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode\u003E// Create a new 'points' table in the current schema\ncreate or replace table electronics_points \n(id number, coordinates geography, name string, type string, \nlong number(38,7), lat number(38,7));\n// Load the 'points' file into the table\ncopy into electronics_points from (\n  select $1,ST_MAKEPOINT($5,$6),$3,$4,$5,$6 \n  from @~/osm_ny_shop_electronics_points.csv\n) file_format=(format_name='geocsv');\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003E728개의 행이 성공적으로 테이블에 로드되었으며 0개의 오류가 나타나야 합니다.\u003C/p\u003E\n\u003Cblockquote\u003E\n","\u003Cp\u003Easide positive\u003C/p\u003E\n","\u003Cp\u003E'all' 파일 로드 문에서는 파일에 로드할 쿼리를 지정할 필요가 없었습니다. 이미 Snowflake에서 지원하는 지리 공간 형식을 가진 파일에 열이 있고 해당 값을 \u003Ccode\u003EGEOGRAPHY\u003C/code\u003E 형식의 열에 로드했을 때, Snowflake가 자동으로 여러분을 위해 지리 공간을 구성하기 때문입니다. 그러나 'points' 파일에서는 변환 쿼리를 사용하여 지리 공간 생성자 함수로 2개의 이산 열을 단일 \u003Ccode\u003EGEOGRAPHY\u003C/code\u003E 열로 구성해야 합니다.\u003C/p\u003E\n\u003C/blockquote\u003E\n","\u003Cp\u003E이 섹션을 마무리하기 위해 다음과 같은 2개의 쿼리를 사용하여 최근 로드된 테이블을 쿼리할 수 있습니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode\u003Eselect * from electronics_all;\nselect * from electronics_points;\n\u003C/code\u003E\u003C/pre\u003E\n&lt;!-- ------------------------ --&gt;\n","\u003Ch2\u003E계산 및 더 많은 생성자\u003C/h2\u003E\n","\u003Cp\u003E\u003Ccode\u003EGEOGRAPHY\u003C/code\u003E 데이터 타입의 작동 방법과 다양한 출력 형식을 가진 데이터 지리 공간 표현의 모습에 대한 기본 사항을 이해했습니다. 이제 여러분이 일부 질문에 답하기 위해 일부 지리 공간 쿼리를 실행해야 하는 시나리오를 진행할 시간입니다.\u003C/p\u003E\n\u003Cblockquote\u003E\n","\u003Cp\u003Easide positive\u003C/p\u003E\n","\u003Cp\u003E다음 3개 섹션의 시나리오는 가상 비즈니스 설정에서 지리 공간 데이터가 사용되는 방식보다는 사람이 자신의 휴대폰에서 지도 애플리케이션을 사용하는 방법과 더 유사합니다. 지리 공간 데이터는 매우 다양한 방식으로 업계에 걸쳐 사용되기에 모든 업계의 공감대를 형성할 수 있는 실제와 같은 비즈니스 시나리오를 만드는 대신 이 가이드를 진행하는 사람이 이 가이드 및 쿼리와 더 많은 공감대를 형성할 수 있도록 의도적으로 이렇게 만들어졌습니다.\u003C/p\u003E\n\u003C/blockquote\u003E\n","\u003Cp\u003E시나리오를 시작하기 전에 활성 스키마를 공유 데이터베이스로 다시 전환하고 다른 웹 사이트를 사용하여 쿼리 결과를 시각화할 것이기에 출력 형식이 GeoJSON 또는 WKT인지 확인합니다. 어떤 출력을 선택할지는 여러분의 개인 선호도에 달려 있습니다. WKT는 일반인이 읽기에 더 쉽지만 GeoJSON이 확실히 더 많이 사용됩니다. GeoJSON 시각화 도구로 포인트, 라인 및 도형을 더 쉽게 확인할 수 있기에 이 가이드에서는 GeoJSON을 위한 출력을 선보입니다.\u003C/p\u003E\n","\u003Cp\u003E또한 지금부터 이전에 다뤘던 SQL 문과 함수에는 해당 가이드의 코드 메모 또는 텍스트에서 설명했던 사용법이 더 이상 적용되지 않습니다. 다음 쿼리 2개를 실행합니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode\u003Euse schema osm_newyork.new_york;\n// Run just one of the below queries based on your preference\nalter session set geography_output_format = 'GEOJSON';\nalter session set geography_output_format = 'WKT';\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Ch3\u003E시나리오\u003C/h3\u003E\n","\u003Cp\u003E현재 여러분이 뉴욕 타임스퀘어 주변에 있는 아파트에 거주하고 있다고 가정하겠습니다. Best Buy와 주류 판매점을 방문하여 쇼핑하고 커피숍에서 커피를 구매해야 합니다. 여러분의 현재 위치를 기준으로 이러한 심부름을 수행하기 위해 가장 가까운 매장이나 가게가 어디인가요? 또한 이러한 매장이나 가게가 전체적으로 방문하기에 가장 이상적인가요? 이동하는 동안 방문할 수 있는 다른 가게가 있나요?\u003C/p\u003E\n","\u003Cp\u003E여러분의 현재 위치를 나타내는 쿼리를 실행하며 시작합니다. 이 위치는 해당 가이드를 위해 지도에서 위치를 클릭하면 위도와 경도를 반환하는 웹 사이트를 사용하여 사전에 선택되었습니다. 다음 쿼리를 실행합니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode\u003Eselect to_geography('POINT(-73.986226 40.755702)');\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003E이 쿼리에는 \u003Ccode\u003Efrom\u003C/code\u003E 절이 없기에 단순한 \u003Ccode\u003Eselect\u003C/code\u003E 문에 \u003Ccode\u003EGEOGRAPHY\u003C/code\u003E 오브젝트를 구성할 수 있습니다.\u003C/p\u003E\n\u003Cblockquote\u003E\n","\u003Cp\u003Easide negative\u003C/p\u003E\n","\u003Cp\u003E\u003Ccode\u003EPOINT(-73.986226 40.755702)\u003C/code\u003E는 이미 WKT 형식의 지리 오브젝트입니다. 따라서 이를 다시 변환할 필요가 없었습니다. 그러나 \u003Ccode\u003ETO_GEOGRAPHY\u003C/code\u003E를 사용하여 단순한 지리 오브젝트를 구성하는 가장 기본적인 방법을 선보이는 것이 중요했습니다.\u003C/p\u003E\n\u003C/blockquote\u003E\n\u003Cul\u003E\u003Cli\u003E반환된 데이터 셀을 클릭하고 오른쪽 셀 패널에 있는 Copy 버튼을 클릭하여 앞서 선보였던 메서드를 사용해 \u003Ccode\u003EPOINT\u003C/code\u003E 오브젝트를 복사합니다.\u003C/li\u003E\u003Cli\u003E\u003Ca href=\"https://geojson.io\"\u003Egeojson.io\u003C/a\u003E 또는 \u003Ca href=\"https://clydedacruz.github.io/openstreetmap-wkt-playground/\"\u003EWKT Playground\u003C/a\u003E 웹 사이트로 이동하고 텍스트 상자의 콘텐츠를 지웁니다.\u003C/li\u003E\u003Cli\u003E여러분의 \u003Ccode\u003EPOINT\u003C/code\u003E 오브젝트를 텍스트 상자에 붙여넣습니다(그리고 WKT Playground를 위해 \u003Ccode\u003EPLOT SHAPE\u003C/code\u003E 클릭).\u003C/li\u003E\u003Cli\u003E지도 확대/축소 제어(+/- 버튼)를 사용하고 뉴욕 인근이 더 많이 보일 때까지 축소(-) 버튼을 클릭합니다. 아래 스크린샷과 비슷하게 나타나야 합니다. 그러나 여러분의 브라우저 창 크기와 지도를 얼마나 축소하는지에 따라 더 많은 지역이 보일 수 있습니다.\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-geospatial-geography-kr/playground_current_location.png\" alt=\"current-location-image\"\u003E\u003C/p\u003E\n","\u003Cp\u003E위 이미지에서 어두운 회색 지도 위치 아이콘은 \u003Ccode\u003EPOINT\u003C/code\u003E 오브젝트 위치를 나타냅니다. 이제 여러분이 어디에 있는지 알 수 있습니다!\u003C/p\u003E\n","\u003Ch3\u003E가장 가까운 위치 찾기\u003C/h3\u003E\n","\u003Cp\u003E다음 단계에서는 쿼리를 실행하여 위에서 보이는 여러분의 현재 위치에서 가장 가까운 Best Buy, 주류 판매점 및 커피숍을 찾아보겠습니다. 이러한 쿼리는 매우 비슷하며 다음과 같이 여러 작업을 수행합니다.\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E하나는 electronics 뷰를 쿼리하며 다른 2개는 food &amp; beverages 뷰를 쿼리합니다. 적절한 필터를 적용하여 찾고자 하는 것을 찾습니다.\u003C/li\u003E\u003Cli\u003E모든 쿼리는 \u003Ccode\u003Ewhere\u003C/code\u003E 절에서 \u003Ccode\u003EST_DWITHIN\u003C/code\u003E 함수를 사용하여 지정한 거리 밖에 있는 매장을 걸러 냅니다. 함수는 2개의 포인트와 1개의 거리를 사용하여 2개의 포인트가 지정된 거리보다 짧거나 동일한지 결정합니다. 만약 그렇다면 \u003Ccode\u003Etrue\u003C/code\u003E를 반환하고 그렇지 않으면 \u003Ccode\u003Efalse\u003C/code\u003E를 반환합니다. 이 함수에서는 각 뷰의 \u003Ccode\u003Ecoordinates\u003C/code\u003E 열을 사용하여 모든 Best Buy, 주류 판매점 또는 커피숍을 스캔하겠습니다. 또한 이를 여러분의 현재 위치인 \u003Ccode\u003EPOINT\u003C/code\u003E와 비교하겠습니다. 이는 앞서 사용했던 \u003Ccode\u003EST_MAKEPOINT\u003C/code\u003E를 사용하여 구성하게 됩니다. 그런 다음 거리값으로 약 1마일인 1,600미터를 사용하겠습니다.\n\u003Cul\u003E\u003Cli\u003E위 쿼리에서 \u003Ccode\u003EST_DWITHIN(...) = true\u003C/code\u003E 구문은 가독성을 위해 사용되었지만 필터 작동에는 \u003Ccode\u003E= true\u003C/code\u003E가 필요하지 않습니다. \u003Ccode\u003E= false\u003C/code\u003E 조건이 필요할 경우에는 필요합니다.\u003C/li\u003E\u003C/ul\u003E\n\u003C/li\u003E\u003Cli\u003E모든 쿼리는 또한 \u003Ccode\u003EST_DISTANCE\u003C/code\u003E 함수를 사용합니다. 이는 실제로 여러분에게 2개의 포인트 사이의 거리를 나타내는 값을 미터로 제공합니다. \u003Ccode\u003Eorder by\u003C/code\u003E 및 \u003Ccode\u003Elimit\u003C/code\u003E 절을 결합하면 가장 짧은 거리나 가장 가까운 행만을 반환하는 데 도움이 됩니다.\n\u003Cul\u003E\u003Cli\u003E또한 여러분의 현재 위치 포인트를 위해 \u003Ccode\u003EST_DISTANCE\u003C/code\u003E에서는 앞서 \u003Ccode\u003EST_DWITHIN\u003C/code\u003E에서 사용했던 \u003Ccode\u003EST_MAKEPOINT\u003C/code\u003E 생성자가 아닌 \u003Ccode\u003ETO_GEOGRAPHY\u003C/code\u003E 생성자를 사용합니다. 이는 \u003Ccode\u003EST_MAKEPOINT\u003C/code\u003E가 특별히 \u003Ccode\u003EPOINT\u003C/code\u003E 오브젝트를 생성하는 \u003Ccode\u003ETO_GEOGRAPHY\u003C/code\u003E가 범용 생성자임을 여러분에게 보여주기 위한 것입니다. 그러나 이 상황에서는 동일한 출력으로 귀결됩니다. 종종 지리 공간 오브젝트를 구성하는 하나 이상의 유효한 접근 방법이 있습니다.\u003C/li\u003E\u003C/ul\u003E\n\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E다음 쿼리(첫 번째 쿼리에 위와 비슷한 메모가 있음)를 실행합니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode\u003E// Find the closest Best Buy\nselect id, coordinates, name, addr_housenumber, addr_street, \n// Use st_distance to calculate the distance between your location and Best Buy\nst_distance(coordinates,to_geography('POINT(-73.986226 40.755702)'))::number(6,2) \nas distance_meters \nfrom v_osm_ny_shop_electronics \n// Filter just for Best Buys\nwhere name = 'Best Buy' and \n// Filter for Best Buys that are within about a US mile (1600 meters)\nst_dwithin(coordinates,st_makepoint(-73.986226, 40.755702),1600) = true \n// Order the results by the calculated distance and only return the lowest\norder by 6 limit 1;\n\n// Find the closest liquor store\nselect id, coordinates, name, addr_housenumber, addr_street, \nst_distance(coordinates,to_geography('POINT(-73.986226 40.755702)'))::number(6,2) \nas distance_meters \nfrom v_osm_ny_shop_food_beverages \nwhere shop = 'alcohol' and \nst_dwithin(coordinates,st_makepoint(-73.986226, 40.755702),1600) = true \norder by 6 limit 1;\n\n// Find the closest coffee shop\nselect id, coordinates, name, addr_housenumber, addr_street, \nst_distance(coordinates,to_geography('POINT(-73.986226 40.755702)'))::number(6,2) \nas distance_meters \nfrom v_osm_ny_shop_food_beverages \nwhere shop = 'coffee' and \nst_dwithin(coordinates,st_makepoint(-73.986226, 40.755702),1600) = true \norder by 6 limit 1;\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003E각각의 경우 쿼리는 \u003Ccode\u003EPOINT\u003C/code\u003E 오브젝트를 반환합니다. 아직 이를 사용하지는 않겠지만 이제 여러분은 원하는 결과를 반환하는 쿼리를 보유하고 있습니다. 그러나 이러한 포인트가 서로 어떻게 관련되어 있는지 쉽게 시각화할 수 있다면 정말 좋겠습니다.\u003C/p\u003E\n","\u003Ch3\u003E포인트를 라인으로 수집\u003C/h3\u003E\n","\u003Cp\u003E이 섹션의 다음 단계에서는 \u003Ccode\u003EST_COLLECT\u003C/code\u003E를 사용하여 포인트를 '수집'하고 \u003Ccode\u003EST_MAKELINE\u003C/code\u003E 생성자로 \u003Ccode\u003ELINESTRING\u003C/code\u003E 오브젝트를 만들어보겠습니다. 그런 다음 geojson.io에서 이 라인을 시각화할 수 있습니다.\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E쿼리의 첫 단계는 위 단계에서 실행한 쿼리를 결합하는 CTE(공용 테이블 식) 쿼리를 생성하는 것입니다(\u003Ccode\u003Ecoordinates\u003C/code\u003E 및 \u003Ccode\u003Edistance_meters\u003C/code\u003E 열만 유지). 이 CTE는 4개의 행 출력(여러분의 현재 위치 행 1개, Best Buy 위치 행 1개, 주류 판매점 행 1개, 커피숍 행 1개)을 생성합니다.\u003C/li\u003E\u003Cli\u003E그런 다음 \u003Ccode\u003EST_COLLECT\u003C/code\u003E를 사용하여 \u003Ccode\u003Ecoordinates\u003C/code\u003E 열에 있는 이러한 4개의 행을 단일 지리 공간 오브젝트인 \u003Ccode\u003EMULTIPOINT\u003C/code\u003E로 집계합니다. 이 오브젝트 유형은 그룹으로 묶인 것 외에는 서로 연결되어 있지 않은 것으로 해석되는 \u003Ccode\u003EPOINT\u003C/code\u003E 오브젝트의 컬렉션입니다. 시각화 도구는 이러한 포인트를 연결하지는 않고 단순히 표시합니다. 따라서 다음 단계에서는 이러한 포인트를 라인으로 만들어보겠습니다.\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E다음 쿼리를 실행하고 출력을 살펴봅니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode\u003E// Create the CTE 'locations'\nwith locations as (\n(select to_geography('POINT(-73.986226 40.755702)') as coordinates, \n0 as distance_meters)\nunion all\n(select coordinates, \nst_distance(coordinates,to_geography('POINT(-73.986226 40.755702)'))::number(6,2) \nas distance_meters from v_osm_ny_shop_electronics \nwhere name = 'Best Buy' and \nst_dwithin(coordinates,st_makepoint(-73.986226, 40.755702),1600) = true \norder by 2 limit 1)\nunion all\n(select coordinates, \nst_distance(coordinates,to_geography('POINT(-73.986226 40.755702)'))::number(6,2) \nas distance_meters from v_osm_ny_shop_food_beverages \nwhere shop = 'alcohol' and \nst_dwithin(coordinates,st_makepoint(-73.986226, 40.755702),1600) = true \norder by 2 limit 1)\nunion all\n(select coordinates, \nst_distance(coordinates,to_geography('POINT(-73.986226 40.755702)'))::number(6,2) \nas distance_meters from v_osm_ny_shop_food_beverages \nwhere shop = 'coffee' and \nst_dwithin(coordinates,st_makepoint(-73.986226, 40.755702),1600) = true \norder by 2 limit 1))\n// Query the CTE result set, aggregating the coordinates into one object\nselect st_collect(coordinates) as multipoint from locations;\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003E다음으로 수행해야 하는 작업은 포인트 세트를 입력으로 사용하고 이를 \u003Ccode\u003ELINESTRING\u003C/code\u003E 오브젝트로 변환하는 \u003Ccode\u003EST_MAKELINE\u003C/code\u003E을 사용하여 해당 \u003Ccode\u003EMULTIPOINT\u003C/code\u003E 오브젝트를 \u003Ccode\u003ELINESTRING\u003C/code\u003E 오브젝트로 변환하는 것입니다. \u003Ccode\u003EMULTIPOINT\u003C/code\u003E는 가정된 연결이 없는 포인트를 보유한 반면 \u003Ccode\u003ELINESTRING\u003C/code\u003E에 있는 포인트는 나타나는 순서대로 연결되었다고 해석됩니다. \u003Ccode\u003EST_MAKELINE\u003C/code\u003E으로 피드하기 위해 포인트 컬렉션이 필요하기에 위 \u003Ccode\u003EST_COLLECT\u003C/code\u003E 단계를 수행했습니다. 또한 위 쿼리를 대상으로 수행해야 하는 유일한 작업은 \u003Ccode\u003EST_LINESTRING\u003C/code\u003E의 \u003Ccode\u003EST_COLLECT\u003C/code\u003E를 다음과 같이 래핑하는 것입니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode\u003Eselect st_makeline(st_collect(coordinates),to_geography('POINT(-73.986226 40.755702)'))\n\u003C/code\u003E\u003C/pre\u003E\n\u003Cblockquote\u003E\n","\u003Cp\u003Easide positive\u003C/p\u003E\n","\u003Cp\u003E여러분의 현재 위치 포인트를 이미 위 \u003Ccode\u003EMULTIPOINT\u003C/code\u003E 컬렉션에서 첫 포인트로 포함시켰는데 왜 라인에서 추가 포인트로 추가되었는지 궁금해하실 수 있습니다. 추후에 이유를 알아볼 테니 계속해서 진행하십시오. 그러나 쇼핑을 끝낸 후 여러분의 뉴욕 아파트로 돌아갈 계획은 논리적으로 말이 됩니다.\u003C/p\u003E\n\u003C/blockquote\u003E\n","\u003Cp\u003E실행할 전체 쿼리(메모 제외)는 다음과 같습니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode\u003Ewith locations as (\n(select to_geography('POINT(-73.986226 40.755702)') as coordinates, \n0 as distance_meters)\nunion all\n(select coordinates, \nst_distance(coordinates,to_geography('POINT(-73.986226 40.755702)'))::number(6,2) \nas distance_meters from v_osm_ny_shop_electronics \nwhere name = 'Best Buy' and \nst_dwithin(coordinates,st_makepoint(-73.986226, 40.755702),1600) = true \norder by 2 limit 1)\nunion all\n(select coordinates, \nst_distance(coordinates,to_geography('POINT(-73.986226 40.755702)'))::number(6,2) \nas distance_meters from v_osm_ny_shop_food_beverages \nwhere shop = 'alcohol' and \nst_dwithin(coordinates,st_makepoint(-73.986226, 40.755702),1600) = true \norder by 2 limit 1)\nunion all\n(select coordinates, \nst_distance(coordinates,to_geography('POINT(-73.986226 40.755702)'))::number(6,2) \nas distance_meters from v_osm_ny_shop_food_beverages \nwhere shop = 'coffee' and \nst_dwithin(coordinates,st_makepoint(-73.986226, 40.755702),1600) = true \norder by 2 limit 1))\nselect st_makeline(st_collect(coordinates),to_geography('POINT(-73.986226 40.755702)'))\nas linestring from locations;\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003E위 쿼리에서 결과 셀을 복사하여 geojson.io에 붙여넣습니다. 다음과 같이 나타나야 합니다.\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-geospatial-geography-kr/playground_first_linestring.png\" alt=\"first-linestring-image\"\u003E\u003C/p\u003E\n","\u003Cp\u003E이런! 위 이미지에서는 다양한 가게가 여러분의 기존 위치를 기준으로 서로 다른 세 가지 방향에 있습니다. 많이 걸어야겠습니다. 다행히도 미터로 라인의 길이를 계산하는 \u003Ccode\u003ELINESTRING\u003C/code\u003E 오브젝트를 대상으로 \u003Ccode\u003EST_DISTANCE\u003C/code\u003E 함수를 래핑하여 얼마나 많이 걸어야 하는지 확인할 수 있습니다. 다음 쿼리를 실행합니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode\u003Ewith locations as (\n(select to_geography('POINT(-73.986226 40.755702)') as coordinates, \n0 as distance_meters)\nunion all\n(select coordinates, \nst_distance(coordinates,to_geography('POINT(-73.986226 40.755702)'))::number(6,2) \nas distance_meters from v_osm_ny_shop_electronics \nwhere name = 'Best Buy' and \nst_dwithin(coordinates,st_makepoint(-73.986226, 40.755702),1600) = true \norder by 2 limit 1)\nunion all\n(select coordinates, \nst_distance(coordinates,to_geography('POINT(-73.986226 40.755702)'))::number(6,2) \nas distance_meters from v_osm_ny_shop_food_beverages \nwhere shop = 'alcohol' and \nst_dwithin(coordinates,st_makepoint(-73.986226, 40.755702),1600) = true \norder by 2 limit 1)\nunion all\n(select coordinates, \nst_distance(coordinates,to_geography('POINT(-73.986226 40.755702)'))::number(6,2) \nas distance_meters from v_osm_ny_shop_food_beverages \nwhere shop = 'coffee' and \nst_dwithin(coordinates,st_makepoint(-73.986226, 40.755702),1600) = true \norder by 2 limit 1))\n// Feed the linestring into an st_length calculation\nselect st_length(st_makeline(st_collect(coordinates),\nto_geography('POINT(-73.986226 40.755702)')))\nas length_meters from locations;\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003E우와! 2,120미터에 달합니다!\u003C/p\u003E\n\u003Cblockquote\u003E\n","\u003Cp\u003Easide negative\u003C/p\u003E\n","\u003Cp\u003E이 거리는 사람이 거리를 걷는 방식이 아닌 새가 하늘을 나는 방식을 기반으로 한 경로를 나타냅니다. 이 연습의 목적은 도보 길 찾기를 생성하는 것이 아닌 Snowflake에서 지리 공간 데이터 및 함수를 사용하여 다양한 데이터를 분석하고, 구성하고, 계산할 방법을 선보이는 것입니다.\u003C/p\u003E\n\u003C/blockquote\u003E\n","\u003Cp\u003E이제 다음 섹션으로 이동하여 여러분의 쇼핑을 최적화할 방법을 알아보겠습니다.\u003C/p\u003E\n&lt;!-- ------------------------ --&gt;\n","\u003Ch2\u003E조인\u003C/h2\u003E\n","\u003Cp\u003E이전 섹션에서는 가장 가까운 Best Buy, 주류 판매점 및 커피숍을 찾기 위한 모든 쿼리가 여러분의 타임스퀘어 아파트와 얼마나 가까운지를 기반으로 했습니다. 그러나 예를 들어 Best Buy와 더 가까운 주류 판매점 및 또는 커피숍이 있는지 확인하는 것이 더 효율적이지 않을까요? 테이블 조인의 지리 공간 함수를 사용하여 이를 확인할 수 있습니다.\u003C/p\u003E\n","\u003Ch3\u003EBest Buy와 더 가까운 가게가 있나요?\u003C/h3\u003E\n","\u003Cp\u003E여러분의 쿼리에서 지금까지 다음과 같은 2개의 뷰를 사용했습니다. \u003Ccode\u003Ev_osm_ny_shop_electronics\u003C/code\u003E 뷰는 Best Buy와 같은 매장을 목록으로 나열하며 \u003Ccode\u003Ev_osm_ny_shop_food_beverage\u003C/code\u003E 뷰는 주류 판매점과 커피숍을 목록으로 나열합니다. 전자와 가까운 곳에 있는 후자를 찾기 위해 이러한 2개의 테이블을 조인하겠습니다. 새로운 쿼리에는 몇몇 변경 사항이 적용됩니다.\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003Eelectronics 뷰는 뷰에서 가져온 알려진 Best Buy 매장의 ID 값을 사용하여 알려진 Best Buy 매장에 대한 필터를 적용할 쿼리에서 기본 뷰의 역할을 수행합니다.\u003C/li\u003E\u003Cli\u003E\u003Ccode\u003EJOIN\u003C/code\u003E 절 대신 일반적인 \u003Ccode\u003Ea.key = b.key\u003C/code\u003E 외래 키 조건을 사용하여 \u003Ccode\u003EST_DWITHIN\u003C/code\u003E 함수는 조인 조건의 역할을 수행합니다(앞서 언급했던 \u003Ccode\u003E= true\u003C/code\u003E 부분을 포함시킬 필요가 없다는 내용 참조).\u003C/li\u003E\u003Cli\u003E\u003Ccode\u003EST_DISTANCE\u003C/code\u003E 계산은 이제 Best Buy 좌표와 food &amp; beverage 뷰의 기타 모든 좌표를 사용하여 Best Buy와 가장 가까운 주류 판매점과 커피숍 위치를 결정합니다.\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E다음 쿼리 2개(첫 쿼리에만 메모 포함)를 실행합니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode\u003E// Join to electronics to find a liquor store closer to Best Buy\nselect fb.id,fb.coordinates,fb.name,fb.addr_housenumber,fb.addr_street,\n// The st_distance calculation uses coordinates from both views\nst_distance(e.coordinates,fb.coordinates) as distance_meters \nfrom v_osm_ny_shop_electronics e \n// The join is based on being within a certain distance\njoin v_osm_ny_shop_food_beverages fb on st_dwithin(e.coordinates,fb.coordinates,1600) \n// Hard-coding the known Best Buy id below\nwhere e.id = 1428036403 and fb.shop = 'alcohol' \n// Ordering by distance and only showing the lowest\norder by 6 limit 1;\n\n// Join to electronics to find a coffee shop closer to Best Buy\nselect fb.id,fb.coordinates,fb.name,fb.addr_housenumber,fb.addr_street,\nst_distance(e.coordinates,fb.coordinates) as distance_meters \nfrom v_osm_ny_shop_electronics e \njoin v_osm_ny_shop_food_beverages fb on st_dwithin(e.coordinates,fb.coordinates,1600) \nwhere e.id = 1428036403 and fb.shop = 'coffee' \norder by 6 limit 1;\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003E각 쿼리의 결과를 보았을 때 첫 쿼리는 Best Buy와 더 가까운 다른 주류 판매점을 찾았지만, 두 번째 쿼리는 여러분의 기존 검색과 동일한 커피숍을 반환했습니다. 따라서 여러분은 가능한 만큼 최적화했습니다.\u003C/p\u003E\n\u003Cblockquote\u003E\n","\u003Cp\u003Easide negative\u003C/p\u003E\n","\u003Cp\u003E선택된 Best Buy의 ID는 위 쿼리에 하드 코드되어 동적으로 가장 가까운 Best Buy를 계산하기 위한 하위 쿼리를 도입하는 대신 쿼리를 읽기 쉽도록 유지하고 이러한 쿼리의 조인 절에 집중할 수 있도록 합니다. 이러한 하위 쿼리는 더 읽기 어렵고 길이가 더 긴 쿼리를 생성했을 것입니다.\u003C/p\u003E\n\u003C/blockquote\u003E\n\u003Cblockquote\u003E\n","\u003Cp\u003Easide positive\u003C/p\u003E\n","\u003Cp\u003E자세히 알아보고 싶으시다면 이 시나리오의 조인에서 사용할 수 있는 기타 가능한 관계 함수를 \u003Ca href=\"https://docs.snowflake.com/en/sql-reference/functions-geospatial.html\"\u003E여기\u003C/a\u003E에서 읽어보십시오.\u003C/p\u003E\n\u003C/blockquote\u003E\n","\u003Ch3\u003E새로운 Linestring 계산\u003C/h3\u003E\n","\u003Cp\u003E이제 주류 판매점에 더 나은 옵션이 있다는 것을 알게 되었으니 위 주류 판매점 쿼리로 기존 linestring 쿼리를 대체하여 다른 오브젝트를 생성합니다. 시각화를 위해 공용 구조체의 문 순서가 변경되었으며 이는 오브젝트의 포인트 순서에 영향을 줍니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode\u003Ewith locations as (\n(select to_geography('POINT(-73.986226 40.755702)') as coordinates, \n0 as distance_meters)\nunion all\n(select coordinates, \nst_distance(coordinates,to_geography('POINT(-73.986226 40.755702)'))::number(6,2) \nas distance_meters \nfrom v_osm_ny_shop_food_beverages \nwhere shop = 'coffee' and \nst_dwithin(coordinates,st_makepoint(-73.986226, 40.755702),1600) = true \norder by 2 limit 1)\nunion all\n(select fb.coordinates, st_distance(e.coordinates,fb.coordinates) as distance_meters \nfrom v_osm_ny_shop_electronics e \njoin v_osm_ny_shop_food_beverages fb on st_dwithin(e.coordinates,fb.coordinates,1600) \nwhere e.id = 1428036403 and fb.shop = 'alcohol' \norder by 2 limit 1)\nunion all\n(select coordinates, \nst_distance(coordinates,to_geography('POINT(-73.986226 40.755702)'))::number(6,2) \nas distance_meters \nfrom v_osm_ny_shop_electronics \nwhere name = 'Best Buy' and \nst_dwithin(coordinates,st_makepoint(-73.986226, 40.755702),1600) = true \norder by 2 limit 1))\nselect st_makeline(st_collect(coordinates),\nto_geography('POINT(-73.986226 40.755702)')) as linestring from locations;\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003E위 쿼리에서 결과 셀을 복사하여 geojson.io에 붙여넣습니다. 다음과 같이 나타나야 합니다.\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-geospatial-geography-kr/playground_second_linestring.png\" alt=\"second-linestring-image\"\u003E\u003C/p\u003E\n","\u003Cp\u003E훨씬 더 낫습니다! 더 효율적인 쇼핑 경로처럼 보입니다. 다음 쿼리를 실행하여 새로운 거리를 확인합니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode\u003Ewith locations as (\n(select to_geography('POINT(-73.986226 40.755702)') as coordinates, \n0 as distance_meters)\nunion all\n(select coordinates, \nst_distance(coordinates,to_geography('POINT(-73.986226 40.755702)'))::number(6,2) \nas distance_meters \nfrom v_osm_ny_shop_food_beverages \nwhere shop = 'coffee' and \nst_dwithin(coordinates,st_makepoint(-73.986226, 40.755702),1600) = true \norder by 2 limit 1)\nunion all\n(select fb.coordinates, st_distance(e.coordinates,fb.coordinates) as distance_meters \nfrom v_osm_ny_shop_electronics e \njoin v_osm_ny_shop_food_beverages fb on st_dwithin(e.coordinates,fb.coordinates,1600) \nwhere e.id = 1428036403 and fb.shop = 'alcohol' \norder by 2 limit 1)\nunion all\n(select coordinates, \nst_distance(coordinates,to_geography('POINT(-73.986226 40.755702)'))::number(6,2) \nas distance_meters \nfrom v_osm_ny_shop_electronics \nwhere name = 'Best Buy' and \nst_dwithin(coordinates,st_makepoint(-73.986226, 40.755702),1600) = true \norder by 2 limit 1))\nselect st_length(st_makeline(st_collect(coordinates),\nto_geography('POINT(-73.986226 40.755702)'))) \nas length_meters from locations;\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003E좋습니다! 약 583미터 또는 1/3마일이 줄어든 1,537미터입니다. 2개의 shop 뷰를 합쳐 여러분의 경로를 최적화하기 위해 또 다른 테이블의 오브젝트와 가장 가까운 하나의 테이블에서 오브젝트를 찾을 수 있었습니다. 이제 보다 최적화된 경로를 보유하고 있으니 이동하는 동안 다른 가게에 들를 수 있을까요? 다음 섹션으로 이동하여 확인해 보겠습니다.\u003C/p\u003E\n&lt;!-- ------------------------ --&gt;\n","\u003Ch2\u003E추가 계산 및 생성자\u003C/h2\u003E\n","\u003Cp\u003E이전 섹션에서 생성했던 \u003Ccode\u003ELINESTRING\u003C/code\u003E 오브젝트는 깔끔하고 멋진 4면을 가진 폴리곤처럼 보입니다. 곧 알게 되겠지만 \u003Ccode\u003EPOLYGON\u003C/code\u003E은 여러분이 구성하고 작업할 수 있는 또 다른 지리 공간 오브젝트 유형입니다. \u003Ccode\u003ELINESTRING\u003C/code\u003E을 도형의 테두리로 생각했을 때 \u003Ccode\u003EPOLYGON\u003C/code\u003E은 도형 자체가 채워진 버전입니다. \u003Ccode\u003EPOLYGON\u003C/code\u003E에 대한 중요한 부분은 시작점에서 끝나야 한다는 것입니다. 반면에 \u003Ccode\u003ELINESTRING\u003C/code\u003E은 시작점으로 돌아올 필요가 없습니다.\u003C/p\u003E\n\u003Cblockquote\u003E\n","\u003Cp\u003Easide positive\u003C/p\u003E\n","\u003Cp\u003E이전 섹션에서 여러분의 타임스퀘어 아파트 위치를 \u003Ccode\u003ELINESTRING\u003C/code\u003E의 시작과 끝에 추가했던 것을 기억하시나요? 쇼핑이 끝난 후 집으로 되돌아가는 논리적인 설명과 더불어 해당 포인트는 시작과 끝에 복제되었습니다. 따라서 여러분은 이 섹션에서 \u003Ccode\u003EPOLYGON\u003C/code\u003E을 구성할 수 있습니다!\u003C/p\u003E\n\u003C/blockquote\u003E\n","\u003Ch3\u003E폴리곤 구성\u003C/h3\u003E\n","\u003Cp\u003E\u003Ccode\u003EPOLYGON\u003C/code\u003E 구성에는 \u003Ccode\u003EST_MAKELINE\u003C/code\u003E과 같이 \u003Ccode\u003EST_MAKEPOLYGON\u003C/code\u003E 함수를 사용합니다. 유일한 차이점은 \u003Ccode\u003EST_MAKELINE\u003C/code\u003E은 포인트로부터 라인을 만들지만 \u003Ccode\u003EST_MAKEPOLYGON\u003C/code\u003E은 라인으로부터 폴리곤을 만든다는 것입니다. 따라서 라인을 구성했던 이전 쿼리를 대상으로 수행해야 할 유일한 작업은 다음과 같이 \u003Ccode\u003EST_MAKEPOLYGON\u003C/code\u003E으로 해당 구성을 래핑하는 것입니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode\u003Eselect st_makepolygon(st_makeline(st_collect(coordinates),\nto_geography('POINT(-73.986226 40.755702)')))\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003E이는 개별 포인트에서 포인트 컬렉션, 라인, 폴리곤까지 구성 과정을 묘사하는 데 큰 도움이 됩니다. 다음 쿼리를 실행하여 폴리곤을 생성합니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode\u003Ewith locations as (\n(select to_geography('POINT(-73.986226 40.755702)') as coordinates, \n0 as distance_meters)\nunion all\n(select coordinates, \nst_distance(coordinates,to_geography('POINT(-73.986226 40.755702)'))::number(6,2) \nas distance_meters \nfrom v_osm_ny_shop_food_beverages \nwhere shop = 'coffee' and \nst_dwithin(coordinates,st_makepoint(-73.986226, 40.755702),1600) = true \norder by 2 limit 1)\nunion all\n(select fb.coordinates, st_distance(e.coordinates,fb.coordinates) as distance_meters \nfrom v_osm_ny_shop_electronics e \njoin v_osm_ny_shop_food_beverages fb on st_dwithin(e.coordinates,fb.coordinates,1600) \nwhere e.id = 1428036403 and fb.shop = 'alcohol' \norder by 2 limit 1)\nunion all\n(select coordinates, \nst_distance(coordinates,to_geography('POINT(-73.986226 40.755702)'))::number(6,2) \nas distance_meters \nfrom v_osm_ny_shop_electronics \nwhere name = 'Best Buy' and \nst_dwithin(coordinates,st_makepoint(-73.986226, 40.755702),1600) = true \norder by 2 limit 1))\nselect st_makepolygon(st_makeline(st_collect(coordinates),\nto_geography('POINT(-73.986226 40.755702)'))) as polygon from locations;\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003E위 쿼리에서 결과 셀을 복사하여 geojson.io에 붙여넣습니다. 다음과 같이 나타나야 합니다.\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-geospatial-geography-kr/playground_polygon_empty.png\" alt=\"polygon-empty-image\"\u003E\u003C/p\u003E\n","\u003Cp\u003E또한 앞서 \u003Ccode\u003EST_DISTANCE\u003C/code\u003E를 사용하여 \u003Ccode\u003ELINESTRING\u003C/code\u003E의 거리를 계산했던 것과 같이 라인 구성 주위를 래핑했던 것과 동일한 방식으로 폴리곤 구성 주위를 래핑하는 \u003Ccode\u003EST_PERIMETER\u003C/code\u003E를 사용하여 \u003Ccode\u003EPOLYGON\u003C/code\u003E의 둘레를 계산할 수 있습니다. 다음 쿼리를 실행하여 둘레를 계산합니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode\u003Ewith locations as (\n(select to_geography('POINT(-73.986226 40.755702)') as coordinates, \n0 as distance_meters)\nunion all\n(select coordinates, \nst_distance(coordinates,to_geography('POINT(-73.986226 40.755702)'))::number(6,2) \nas distance_meters \nfrom v_osm_ny_shop_food_beverages \nwhere shop = 'coffee' and \nst_dwithin(coordinates,st_makepoint(-73.986226, 40.755702),1600) = true \norder by 2 limit 1)\nunion all\n(select fb.coordinates, st_distance(e.coordinates,fb.coordinates) as distance_meters \nfrom v_osm_ny_shop_electronics e \njoin v_osm_ny_shop_food_beverages fb on st_dwithin(e.coordinates,fb.coordinates,1600) \nwhere e.id = 1428036403 and fb.shop = 'alcohol' \norder by 2 limit 1)\nunion all\n(select coordinates, \nst_distance(coordinates,to_geography('POINT(-73.986226 40.755702)'))::number(6,2) \nas distance_meters \nfrom v_osm_ny_shop_electronics \nwhere name = 'Best Buy' and \nst_dwithin(coordinates,st_makepoint(-73.986226, 40.755702),1600) = true \norder by 2 limit 1))\nselect st_perimeter(st_makepolygon(st_makeline(st_collect(coordinates),\nto_geography('POINT(-73.986226 40.755702)')))) as perimeter_meters from locations;\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003E좋습니다! 해당 쿼리는 앞서 반환되었던 \u003Ccode\u003ELINESTRING\u003C/code\u003E의 거리와 같이 1,537미터를 반환했습니다. 이는 \u003Ccode\u003EPOLYGON\u003C/code\u003E의 둘레가 \u003Ccode\u003EPOLYGON\u003C/code\u003E을 구성하는 \u003Ccode\u003ELINESTRING\u003C/code\u003E과 동일한 거리이기 때문입니다.\u003C/p\u003E\n","\u003Ch3\u003E폴리곤 내에서 가게 찾기\u003C/h3\u003E\n","\u003Cp\u003E이 가이드에서의 마지막 활동은 이전 단계에서 생성했던 \u003Ccode\u003EPOLYGON\u003C/code\u003E 내에 존재하는 \u003Ccode\u003Ev_osm_ny_shop\u003C/code\u003E 뷰 내에서 모든 유형의 가게를 찾는 것입니다. 이는 주요 목적지로 가는 경로 도중에 방문할 수 있는 모든 매장을 여러분에게 제공합니다. 이를 달성하기 위해 \u003Ccode\u003EPOLYGON\u003C/code\u003E을 구축하는 쿼리를 대상으로 수행할 작업은 다음과 같습니다.\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\u003Ccode\u003EPOLYGON\u003C/code\u003E은 그 자체로 결과 세트이기에 이 쿼리를 또 다른 CTE에서 래핑하겠습니다. 이를 통해 폴리곤을 단일 엔터티로 더 깔끔하게 조인에서 참조할 수 있습니다. 이 CTE의 이름을 \u003Ccode\u003Esearch_area\u003C/code\u003E라고 지정하겠습니다.\u003C/li\u003E\u003Cli\u003E그런 다음 \u003Ccode\u003EST_DWITHIN\u003C/code\u003E과는 다른 \u003Ccode\u003EST_WITHIN\u003C/code\u003E 함수를 사용하여 \u003Ccode\u003Ev_osm_ny_shop\u003C/code\u003E을 \u003Ccode\u003Esearch area\u003C/code\u003E CTE로 조인하겠습니다. \u003Ccode\u003EST_WITHIN\u003C/code\u003E 함수는 하나의 지리 공간 오브젝트를 사용하고 또 다른 지리 공간 오브젝트에 완벽하게 속하는지 결정합니다. 속한다면 \u003Ccode\u003Etrue\u003C/code\u003E를 반환하고 그렇지 않다면 \u003Ccode\u003Efalse\u003C/code\u003E를 반환합니다. 해당 쿼리에서 이는 \u003Ccode\u003Ev_osm_ny_shop\u003C/code\u003E에 있는 어떠한 행이 \u003Ccode\u003Esearch_area\u003C/code\u003E CTE에 완벽히 속하는지 결정합니다.\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E다음 쿼리를 실행하여 폴리곤 내부에 어떤 가게가 있는지 확인하십시오.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode\u003E// Define the outer CTE 'search_area'\nwith search_area as (\nwith locations as (\n(select to_geography('POINT(-73.986226 40.755702)') as coordinates, \n0 as distance_meters)\nunion all\n(select coordinates, \nst_distance(coordinates,to_geography('POINT(-73.986226 40.755702)'))::number(6,2) \nas distance_meters \nfrom v_osm_ny_shop_food_beverages \nwhere shop = 'coffee' and \nst_dwithin(coordinates,st_makepoint(-73.986226, 40.755702),1600) = true \norder by 2 limit 1)\nunion all\n(select fb.coordinates, \nst_distance(e.coordinates,fb.coordinates) as distance_meters \nfrom v_osm_ny_shop_electronics e \njoin v_osm_ny_shop_food_beverages fb on st_dwithin(e.coordinates,fb.coordinates,1600) \nwhere e.id = 1428036403 and fb.shop = 'alcohol' \norder by 2 limit 1)\nunion all\n(select coordinates, \nst_distance(coordinates,to_geography('POINT(-73.986226 40.755702)'))::number(6,2) \nas distance_meters \nfrom v_osm_ny_shop_electronics \nwhere name = 'Best Buy' and \nst_dwithin(coordinates,st_makepoint(-73.986226, 40.755702),1600) = true \norder by 2 limit 1))\nselect st_makepolygon(st_makeline(st_collect(coordinates),\nto_geography('POINT(-73.986226 40.755702)'))) as polygon from locations)\nselect sh.id,sh.coordinates,sh.name,sh.shop,sh.addr_housenumber,sh.addr_street \nfrom v_osm_ny_shop sh \n// Join v_osm_ny_shop to the 'search_area' CTE using st_within\njoin search_area sa on st_within(sh.coordinates,sa.polygon);\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003E아래와 같이 13개의 결과(가독성을 위해 아래에서는 WKT 출력으로 표시됨)가 나타나야 합니다.\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-geospatial-geography-kr/snowflake_inside_polygon_results.png\" alt=\"polygon-results-image\"\u003E\u003C/p\u003E\n","\u003Cp\u003E또한 마지막 단계에서 생성했던 \u003Ccode\u003EPOLYGON\u003C/code\u003E과 더불어 \u003Ccode\u003EPOLYGON\u003C/code\u003E 내부에 있는 모든 가게를 위한 \u003Ccode\u003EPOINT\u003C/code\u003E를 포함한 단일 지리 공간 오브젝트를 구성하겠습니다. 하나의 그룹화로 모든 지리 공간 오브젝트의 조합을 보유할 수 있는 지리 공간 타입인 이 단일 오브젝트는 \u003Ccode\u003EGEOMETRYCOLLECTION\u003C/code\u003E으로 알려져 있습니다. 이 오브젝트를 생성하려면 다음을 수행해야 합니다.\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\u003Ccode\u003EPOLYGON\u003C/code\u003E 쿼리를 폴리곤 내부에 있는 가게를 찾는 위 쿼리와 결합하는 CTE를 생성합니다. 단순성을 위해 후자 쿼리에 필요한 \u003Ccode\u003Ecoordinates\u003C/code\u003E 열만 유지합니다. 이 CTE는 \u003Ccode\u003EPOLYGON\u003C/code\u003E을 위한 행 1개와 \u003Ccode\u003EPOLYGON\u003C/code\u003E 내부에 있는 각각의 개별 가게 \u003Ccode\u003EPOINT\u003C/code\u003E를 위한 행 13개를 생성합니다.\u003C/li\u003E\u003Cli\u003E\u003Ccode\u003EST_COLLECT\u003C/code\u003E를 사용하여 위 14개의 행(\u003Ccode\u003EPOLYGON\u003C/code\u003E 1개, \u003Ccode\u003EPOINTS\u003C/code\u003E 13개)을 단일 \u003Ccode\u003EGEOMETRYCOLLECTION\u003C/code\u003E으로 집계합니다.\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E다음 쿼리를 실행합니다.\u003C/p\u003E\n\u003Cpre\u003E\u003Ccode\u003E// Define the outer CTE 'final_plot'\nwith final_plot as (\n// Get the original polygon\n(with locations as (\n(select to_geography('POINT(-73.986226 40.755702)') as coordinates, \n0 as distance_meters)\nunion all\n(select coordinates, \nst_distance(coordinates,to_geography('POINT(-73.986226 40.755702)'))::number(6,2) \nas distance_meters \nfrom v_osm_ny_shop_food_beverages \nwhere shop = 'coffee' and \nst_dwithin(coordinates,st_makepoint(-73.986226, 40.755702),1600) = true \norder by 2 limit 1)\nunion all\n(select fb.coordinates, \nst_distance(e.coordinates,fb.coordinates) as distance_meters \nfrom v_osm_ny_shop_electronics e \njoin v_osm_ny_shop_food_beverages fb on st_dwithin(e.coordinates,fb.coordinates,1600) \nwhere e.id = 1428036403 and fb.shop = 'alcohol' \norder by 2 limit 1)\nunion all\n(select coordinates, \nst_distance(coordinates,to_geography('POINT(-73.986226 40.755702)'))::number(6,2) \nas distance_meters \nfrom v_osm_ny_shop_electronics \nwhere name = 'Best Buy' and \nst_dwithin(coordinates,st_makepoint(-73.986226, 40.755702),1600) = true \norder by 2 limit 1))\nselect st_makepolygon(st_makeline(st_collect(coordinates),\nto_geography('POINT(-73.986226 40.755702)'))) as polygon from locations)\nunion all\n// Find the shops inside the polygon\n(with search_area as (\nwith locations as (\n(select to_geography('POINT(-73.986226 40.755702)') as coordinates, \n0 as distance_meters)\nunion all\n(select coordinates, \nst_distance(coordinates,to_geography('POINT(-73.986226 40.755702)'))::number(6,2) \nas distance_meters \nfrom v_osm_ny_shop_food_beverages \nwhere shop = 'coffee' and \nst_dwithin(coordinates,st_makepoint(-73.986226, 40.755702),1600) = true \norder by 2 limit 1)\nunion all\n(select fb.coordinates, \nst_distance(e.coordinates,fb.coordinates) as distance_meters \nfrom v_osm_ny_shop_electronics e \njoin v_osm_ny_shop_food_beverages fb on st_dwithin(e.coordinates,fb.coordinates,1600) \nwhere e.id = 1428036403 and fb.shop = 'alcohol' \norder by 2 limit 1)\nunion all\n(select coordinates, \nst_distance(coordinates,to_geography('POINT(-73.986226 40.755702)'))::number(6,2) \nas distance_meters \nfrom v_osm_ny_shop_electronics \nwhere name = 'Best Buy' and \nst_dwithin(coordinates,st_makepoint(-73.986226, 40.755702),1600) = true \norder by 2 limit 1))\nselect st_makepolygon(st_makeline(st_collect(coordinates),\nto_geography('POINT(-73.986226 40.755702)'))) as polygon from locations)\nselect sh.coordinates \nfrom v_osm_ny_shop sh \njoin search_area sa on st_within(sh.coordinates,sa.polygon)))\n// Collect the polygon and shop points into a geometrycollection\nselect st_collect(polygon) from final_plot;\n\u003C/code\u003E\u003C/pre\u003E\n","\u003Cp\u003E위 쿼리에서 결과 셀을 복사하여 geojson.io에 붙여넣습니다. 다음과 같이 나타나야 합니다.\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-geospatial-geography-kr/playground_polygon_full.png\" alt=\"polygon-full-image\"\u003E\u003C/p\u003E\n\u003Cblockquote\u003E\n","\u003Cp\u003Easide positive\u003C/p\u003E\n","\u003Cp\u003E이러한 마지막 몇몇 쿼리가 길거나 반복적이라고 느끼실 수 있습니다. 그러나 이 가이드의 목적은 과정에 걸쳐 각 단계가 어떻게 진행되는지 묘사하여 이렇게 더 길고 복잡한 쿼리를 구축하는 과정을 안내하는 것입니다. 함수가 결합될 수 있는 방법을 이해하면 Snowflake 지리 공간 기능을 사용하여 수행할 수 있는 고급 작업을 이해하는 데 도움이 됩니다!\u003C/p\u003E\n\u003C/blockquote\u003E\n&lt;!-- ------------------------ --&gt;\n","\u003Ch2\u003E결론\u003C/h2\u003E\n","\u003Cp\u003E이 가이드에서는 Snowflake Marketplace에서 지리 공간 데이터를 습득하고, \u003Ccode\u003EGEOGRAPHY\u003C/code\u003E 데이터 타입과 관련 형식의 작동 방법을 알아보고, 지리 공간 데이터가 포함된 데이터 파일을 생성하고, \u003Ccode\u003EGEOGRAPHY\u003C/code\u003E 형식의 열을 가진 새로운 테이블에 이러한 파일을 로드하고, 단일 테이블과 조인을 포함한 여러 테이블에서 파서, 생성자, 변환 및 계산 함수를 사용하여 지리 공간 데이터를 쿼리했습니다. 그런 다음 새롭게 구성된 지리 공간 오브젝트를 geojson.io 또는 WKT Playground와 같은 도구로 시각화할 수 있는 방법을 확인했습니다.\u003C/p\u003E\n","\u003Cp\u003E이제 더 방대한 Snowflake \u003Ca href=\"https://docs.snowflake.com/en/sql-reference/data-types-geospatial.html\"\u003E지리 공간 지원\u003C/a\u003E과 \u003Ca href=\"https://docs.snowflake.com/en/sql-reference/functions-geospatial.html\"\u003E지리 공간 함수\u003C/a\u003E를 탐색할 준비가 되었습니다.\u003C/p\u003E\n","\u003Ch3\u003E다룬 내용\u003C/h3\u003E\n\u003Cul\u003E\u003Cli\u003ESnowflake Marketplace에서 공유 데이터베이스 습득 방법\u003C/li\u003E\u003Cli\u003E\u003Ccode\u003EGEOGRAPHY\u003C/code\u003E 데이터 타입과 \u003Ccode\u003EGeoJSON\u003C/code\u003E, \u003Ccode\u003EWKT\u003C/code\u003E, \u003Ccode\u003EEWKT\u003C/code\u003E, \u003Ccode\u003EWKB\u003C/code\u003E, \u003Ccode\u003EEWKB\u003C/code\u003E 형식 및 전환 방법.\u003C/li\u003E\u003Cli\u003E지리 공간 데이터를 포함한 데이터 파일 언로드 및 로드 방법.\u003C/li\u003E\u003Cli\u003E\u003Ccode\u003EST_X\u003C/code\u003E 및 \u003Ccode\u003EST_Y\u003C/code\u003E와 같은 파서 사용 방법.\u003C/li\u003E\u003Cli\u003E\u003Ccode\u003ETO_GEOGRAPHY\u003C/code\u003E, \u003Ccode\u003EST_MAKEPOINT\u003C/code\u003E, \u003Ccode\u003EST_MAKELINE\u003C/code\u003E 및\u003Ccode\u003EST_MAKEPOLYGON\u003C/code\u003E과 같은 생성자 사용 방법.\u003C/li\u003E\u003Cli\u003E\u003Ccode\u003EST_COLLECT\u003C/code\u003E와 같은 변환 사용 방법.\u003C/li\u003E\u003Cli\u003E\u003Ccode\u003EST_DISTANCE\u003C/code\u003E, \u003Ccode\u003EST_LENGTH\u003C/code\u003E 및 \u003Ccode\u003EST_PERIMETER\u003C/code\u003E와 같은 측정 계산 수행 방법.\u003C/li\u003E\u003Cli\u003E\u003Ccode\u003EST_DWITHIN\u003C/code\u003E 및 \u003Ccode\u003EST_WITHIN\u003C/code\u003E과 같은 관계 계산 수행 방법.\u003C/li\u003E\u003C/ul\u003E"],"description":"","title":"지리 공간 데이터 활용기","isDeveloperGuidesPage":false,":type":"snowflake-site/components/contentfragment",":items":{},":itemsOrder":[],"elements":{"quickstartArticleBody":{"dataType":"string","title":"Quickstart Article Body","value":"\u003C!-- ------------------------ --\u003E\r\n## 개요\r\n\r\n\r\nSnowflake의 지리 공간 쿼리 기능은 지리 공간 오브젝트를 대상으로 계산을 분석, 구성 및 실행하는 데 사용할 수 있는 데이터 타입과 특화된 쿼리 기능의 조합을 기반으로 구축되었습니다. 이 가이드에서는 `GEOGRAPHY` 데이터 타입을 소개하며 여러분이 Snowflake에서 지원하는 지리 공간 형식을 이해할 수 있도록 돕습니다. 또한 Snowflake Marketplace에서 가져온 샘플 지리 공간 데이터 세트에 다양한 함수를 사용하는 방법을 안내합니다.\r\n\r\n### 사전 필요 조건 및 지식\r\n\r\n- 짧은 [Snowflake 소개](https://www.youtube.com/watch?v=fEtoYweBNQ4&ab_channel=SnowflakeInc.) 동영상\r\n- Snowflake [데이터 로딩 기본 사항](https://www.youtube.com/watch?v=us6MChC8T9Y&ab_channel=SnowflakeInc.) 동영상\r\n\r\n### 학습할 내용\r\n\r\n- Snowflake Marketplace에서 지리 공간 데이터 습득 방법\r\n- `GEOGRAPHY` 데이터 타입 해석 방법\r\n- `GEOGRAPHY`가 표현될 수 있는 다양한 형식을 이해하는 방법\r\n- 지리 공간 데이터 언로드/로드 방법\r\n- 쿼리에서 지리 공간 함수 파서, 생성자 및 계산 사용 방법\r\n- 지리 공간 조인 수행 방법\r\n\r\n### 필요한 것\r\n\r\n- 지원되는 Snowflake [브라우저](https://docs.snowflake.com/en/user-guide/setup.html)\r\n- [Snowflake 평가판](https://signup.snowflake.com/?utm_cta=quickstarts_) 등록\r\n  - 또는 `ACCOUNTADMIN` 역할이나 `IMPORT SHARE` 권한을 가진 기존 Snowflake 계정에 대한 액세스 보유\r\n- [geojson.io](https://geojson.io) 또는 [WKT Playground](https://clydedacruz.github.io/openstreetmap-wkt-playground/) 웹 사이트에 대한 액세스\r\n\r\n### 구축할 것\r\n\r\n- 뉴욕의 관심 지점과 관련된 샘플 사용 사례.\r\n\r\n\u003C!-- ------------------------ --\u003E\r\n## Marketplace 데이터 습득\r\n\r\n\r\n이 가이드의 첫 단계는 Snowflake 지리 공간 기능의 기본 사항을 탐색하기 위해 자유롭게 사용할 수 있는 지리 공간 데이터 세트를 습득하는 것입니다. 이 데이터를 습득할 최적의 장소는 Snowflake Marketplace입니다!\r\n\r\n### Snowflake의 Preview 웹 UI에 액세스\r\n\r\n[app.snowflake.com](https://app.snowflake.com)\r\n\r\n처음으로 새로운 Preview Snowflake UI에 로그인하는 것이라면 평가판을 습득할 때 받았던 여러분의 계정 이름 또는 계정 URL 입력을 요청하는 프롬프트가 나타납니다. 계정 URL에는 여러분의 [계정 이름](https://docs.snowflake.com/en/user-guide/connecting.html#your-snowflake-account-name)과 잠재적으로 지역이 포함되어 있습니다.\r\n\r\n`Sign-in`을 클릭하면 여러분의 사용자 이름과 암호를 요청하는 프롬프트가 나타납니다.\r\n\r\n\u003E aside positive\r\n\u003E \r\n\u003E  처음으로 새로운 Preview Snowflake UI에 로그인하는 것이 아니라면 'Select an account to sign into' 프롬프트와 그 아래에 나열된 여러분의 계정을 위한 버튼이 나타나야 합니다. 액세스하고자 하는 계정을 클릭하면 여러분의 사용자 이름과 암호(또는 기타 인증 메커니즘)를 요청하는 프롬프트가 나타납니다.\r\n\r\n### 계정 권한 확장\r\n\r\n새로운 Preview Snowflake 웹 인터페이스는 다양한 기능을 제공하지만 지금은 여러분의 현재 역할을 기본값인 `SYSADMIN`에서 `ACCOUNTADMIN`으로 전환합니다. 이 권한 확장을 통해 Snowflake Marketplace 목록에서 공유 데이터베이스를 생성할 수 있습니다.\r\n\r\nPositive : `ACCOUNTADMIN` 역할이 없다면 대신 `IMPORT SHARE` 권한을 가진 역할로 전환합니다.\r\n\r\n![account-role-change-image](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-geospatial-geography-kr/snowflake_role.png)\r\n\r\n### 가상 웨어하우스 생성(필요할 경우)\r\n\r\n쿼리를 실행할 가상 웨어하우스에 대한 액세스가 아직 없다면 가상 웨어하우스를 하나 생성해야 합니다.\r\n\r\n- 창 왼쪽에 있는 메뉴를 사용하여 `Compute \u003E Warehouses` 화면으로 이동합니다\r\n- 창 오른쪽 상단에 있는 큰 파란색 `+ Warehouse` 버튼을 클릭합니다\r\n- 아래 화면에서 보이는 것처럼 X-Small Warehouse를 생성합니다\r\n\r\n![create-warehouse-image](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-geospatial-geography-kr/snowflake_warehouse.png)\r\n\r\n`Suspend After (min)` 필드를 1분으로 변경하여 컴퓨팅 크레딧이 낭비되지 않도록 합니다.\r\n\r\n### Snowflake Marketplace에서 데이터 습득\r\n\r\n이제 Snowflake Marketplace에서 샘플 지리 공간 데이터를 습득할 수 있습니다.\r\n\r\n- 창 왼쪽에 있는 메뉴를 사용하여 `Data \u003E Marketplace` 화면으로 이동합니다\r\n- 검색 창에서 `OpenStreetMap New York`을 검색합니다\r\n- `Sonra OpenStreetMap New York` 타일(목록에서 첫 타일)을 클릭합니다\r\n\r\n![marketplace-listing-image](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-geospatial-geography-kr/snowflake_listing.png)\r\n\r\n- 목록으로 이동했다면 큰 파란색 `Get Data` 버튼을 클릭합니다\r\n\r\n\u003E aside negative\r\n\u003E \r\n\u003E  `Get Data` 화면에서 여러분이 아직 사용자 프로필을 완료하지 않았다면 `user profile` 완료를 요청하는 프롬프트가 나타날 수 있습니다. 아래 스크린샷에서 보이는 링크를 클릭합니다. 프로필 화면에 이름과 이메일 주소를 입력하고 파란색 `Save` 버튼을 클릭합니다. `Get Data` 화면으로 되돌아오게 됩니다.\r\n\r\n![set-profile-image](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-geospatial-geography-kr/snowflake_profile_prompt.png)\r\n\r\n- `Get Data` 화면에서 데이터베이스 이름을 기본값에서 더 짧은 `OSM_NEWYORK`으로 변경합니다. 모든 추후 지침에서는 데이터베이스의 이름을 이것으로 가정합니다.\r\n\r\n![get-data-image](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-geospatial-geography-kr/snowflake_get_data.png)\r\n\r\n축하드립니다! 방금 Snowflake Marketplace의 목록에서 공유 데이터베이스를 생성했습니다. 큰 파란색 `Query Data` 버튼을 클릭하고 이 가이드의 다음 단계로 이동합니다.\r\n\r\n\u003C!-- ------------------------ --\u003E\r\n## 지리 공간 형식에 대한 이해\r\n\r\n\r\n이전 섹션의 마지막 단계에서 워크시트 편집기를 새로운 Snowflake UI에서 열었습니다. Marketplace 목록에서 정의된 샘플 쿼리에서 가져온 몇몇 사전 정의된 쿼리가 포함되어 있었습니다. 이 가이드에서는 어떠한 쿼리도 실행하지만 추후에 실행해 보십시오. 대신 새로운 워크시트 편집기를 열고 다양한 쿼리를 실행하여 `GEOGRAPHY` 데이터 타입이 Snowflake에서 어떻게 작동하는지 이해해 보겠습니다.\r\n\r\n### 새로운 워크시트 열기 및 웨어하우스 선택\r\n\r\n- 창 오른쪽 상단에 있는 큰 더하기(+) 버튼을 클릭합니다. 이 버튼은 새로운 창이나 탭을 엽니다. 열리지 않는다면 여러분의 브라우저 팝업 차단 설정에 따라 창/탭을 열기 위해 브라우저에서 이를 허용해야 할 수 있습니다.\r\n- 새로운 창에서 `ACCOUNTADMIN` 및 `MY_WH`(또는 여러분이 지정한 웨어하우스 이름)가 브라우저 창의 오른쪽 상단에 있는 큰 더하기(+) 버튼 옆 상자에서 선택되었는지 확인합니다.\r\n- 오브젝트 브라우저의 왼쪽에서 `OSM_NEWYORK` 데이터베이스, `NEW_YORK` 스키마 및 `Views` 그룹화를 확장하여 이 공유 데이터베이스에서 여러분의 보유하고 있는 액세스의 다양한 뷰를 확인합니다. 데이터 공급자는 이 목록에서 데이터베이스 뷰만 공유하기로 결정했습니다. 이 가이드에 걸쳐 이러한 일부 뷰를 사용하겠습니다.\r\n\r\n이제 일부 쿼리를 실행할 준비가 되었습니다.\r\n\r\n### GEOGRAPHY 데이터 타입\r\n\r\nSnowflake의 `GEOGRAPHY` 데이터 타입은 모든 포인트를 평면이 아닌 구형 지구의 경도와 위도로 취급한다는 점에서 기타 지리 공간 데이터베이스의 `GEOGRAPHY` 데이터 타입과 비슷합니다. 이는 기타 지리 공간 타입(예: `GEOMETRY`)과의 중요한 차이점입니다. 그러나 이 가이드에서는 이러한 차이점을 다루지 않습니다. Snowflake의 명세에 대한 자세한 정보는 [여기](https://docs.snowflake.com/en/sql-reference/data-types-geospatial.html)에서 찾을 수 있습니다.\r\n\r\n다음 쿼리를 실행하여 `GEOGRAPHY` 열을 보유하고 있는 공유 데이터베이스의 뷰 중 하나를 살펴보겠습니다. 아래 SQL을 여러분의 워크시트 편집기에 복사하여 붙여넣습니다. 커서를 실행하고자 하는 쿼리 텍스트 부근(주로 시작 또는 끝)에 올려놓고 브라우저 창 오른쪽 상단에 있는 파란색 'Play' 버튼을 클릭하거나 `CTRL+Enter` 또는 `CMD+Enter`(Windows 또는 Mac)를 눌러 쿼리를 실행합니다.\r\n\r\n```\r\n// Set the working database schema\r\nuse schema osm_newyork.new_york;\r\n```\r\n\r\n[USE SCHEMA](https://docs.snowflake.com/en/sql-reference/sql/use-schema.html) 명령은 여러분의 추후 쿼리를 위해 활성 database.schema를 설정합니다. 따라서 여러분의 오브젝트는 자격을 완벽하게 갖출 필요가 없습니다.\r\n\r\n```\r\n// Describe the v_osm_ny_shop_electronics view \r\ndesc view v_osm_ny_shop_electronics;\r\n```\r\n\r\n[DESC 또는 DESCRIBE](https://docs.snowflake.com/en/sql-reference/sql/desc.html) 명령은 여러분에게 뷰 정의를 보여줍니다. 여기에는 열, 데이터 타입 및 기타 관련 세부 정보가 포함되어 있습니다. `coordinates` 열은 `GEOGRAPHY` 타입으로 정의됩니다. 이는 다음 단계에서 집중적으로 다룰 열입니다.\r\n\r\n### GEOGRAPHY 출력 형식 보기\r\n\r\nSnowflake는 3가지 기본 지리 공간 형식과 이러한 형식의 2가지 추가 변형을 지원합니다. 기본 지리 공간 형식:\r\n\r\n- **GeoJSON**: 지리 공간 데이터를 나타내기 위한 JSON 기반 표준\r\n- **WKT & EWKT**: 지리 공간 데이터와 해당 형식의 'Extended' 변형을 나타내기 위한 'Well Known Text' 문자열 형식\r\n- **WKB & EWKB**: 바이너리 지리 공간 데이터와 해당 형식의 'Extended' 변형을 나타내기 위한 'Well Known Binary' 형식\r\n\r\n이러한 형식은 수집(이러한 형식을 포함하는 파일은 `GEOGRAPHY` 형식의 열로 로드될 수 있음), 쿼리 결과 디스플레이 및 새로운 파일로의 데이터 언로딩을 위해 지원됩니다. Snowflake가 어떻게 숨겨진 데이터를 저장하는지 걱정할 필요는 없습니다. 대신 데이터가 여러분에게 표시되거나 `GEOGRAPHY_OUTPUT_FORMAT`이라는 세션 변수의 값을 통해 파일로 언로드되는 방법을 고려해야 합니다.\r\n\r\n아래 쿼리를 실행하여 현재 형식이 GeoJSON인지 확인합니다.\r\n\r\n```\r\n// Set the output format to GeoJSON\r\nalter session set geography_output_format = 'GEOJSON';\r\n```\r\n\r\n[ALTER SESSION](https://docs.snowflake.com/en/sql-reference/sql/alter-session.html) 명령을 통해 현재 사용자 세션(이 경우 `GEOGRAPHY_OUTPUT_FORMAT`)을 위한 매개 변수를 설정할 수 있습니다. 이 매개 변수의 기본값은 `'GEOJSON'`이기에 일반적으로는 해당 형식을 원한다면 이 명령을 실행하지 않아도 됩니다. 그러나 이 가이드에서는 다음 쿼리가 `'GEOJSON'` 출력으로 실행됨을 확실시 하고자 합니다.\r\n\r\n이제 다음 쿼리를 `V_OSM_NY_SHOP_ELECTRONICS` 뷰와 비교하여 실행합니다.\r\n\r\n```\r\n// Query the v_osm_ny_shop_electronics view for rows of type 'node' (long/lat points)\r\nselect coordinates, name from v_osm_ny_shop_electronics where type = 'node' limit 25;\r\n```\r\n\r\n결과 세트에서 `coordinates` 열을 확인하고 어떻게 포인트의 JSON 표현을 표시하는지 확인합니다. 다음과 비슷하게 나타나야 합니다.\r\n\r\n```json\r\n{   \"coordinates\": [     -7.390351649999999e+01,     4.074499730000000e+01   ],   \"type\": \"Point\" }\r\n```\r\n\r\n쿼리 결과의 `coordinates` 열에 있는 셀을 클릭하면 JSON 표현은 쿼리 창 오른쪽에 있는 셀 패널에 표시됩니다. 또한 해당 JSON 텍스트(아래 스크린샷 참고)를 복사할 수 있는 버튼이 포함되어 있습니다. 이 기능은 추후 연습에서 사용하겠습니다.\r\n\r\n![cell-panel-image](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-geospatial-geography-kr/snowflake_cell_panel.png)\r\n\r\n이제 다음 쿼리를 실행합니다.\r\n\r\n```\r\n// Query the v_osm_ny_shop_electronics view for rows of type 'way' (a collection of many points)\r\nselect coordinates, name from v_osm_ny_shop_electronics where type = 'way' limit 25;\r\n```\r\n\r\n쿼리 결과의 `coordinates` 열에 있는 셀을 클릭합니다. 셀 패널에서 JSON이 어떻게 JSON 배열에 있는 더 많은 포인트를 통해 확장되는지를 확인하십시오. 이는 단일 포인트의 지리 공간 표현과 여러 포인트 표현 간의 차이점을 보여줍니다.\r\n\r\n이제 동일하지만 다른 형식을 가진 쿼리를 확인하겠습니다. 다음 쿼리를 실행합니다.\r\n\r\n```\r\n// Set the output format to WKT\r\nalter session set geography_output_format = 'WKT';\r\n```\r\n\r\n이전 쿼리 2개를 다시 실행합니다. 각 실행 시 `coordinates` 열에 있는 셀을 클릭하고 출력을 살펴봅니다.\r\n\r\n```\r\nselect coordinates, name from v_osm_ny_shop_electronics where type = 'node' limit 25;\r\nselect coordinates, name from v_osm_ny_shop_electronics where type = 'way' limit 25;\r\n```\r\n\r\nWKT는 GeoJSON과 다르게 보이며 훨씬 더 읽기 좋습니다. 여기에서 아래 예시 출력에서 표시된 [지리 공간 오브젝트 유형](https://docs.snowflake.com/en/sql-reference/data-types-geospatial.html#geospatial-object-types)을 훨씬 더 명확하게 볼 수 있습니다.\r\n\r\n```console\r\n// An example of a POINT\r\nPOINT(-74.0266511 40.6346599)\r\n// An example of a POLYGON\r\nPOLYGON((-74.339971 43.0631175,-74.3397734 43.0631363,-74.3397902 43.0632306,-74.3399878 43.0632117,-74.339971 43.0631175))\r\n```\r\n\u003E aside positive\r\n\u003E \r\n\u003E ositive\r\n: 이 가이드에서는 다양한 지리 공간 오브젝트 유형을 사용하고 이를 사용함에 따라 추후 섹션에서 더 자세하게 설명합니다.\r\n\r\n마지막으로 WKB 출력을 확인하겠습니다. 다음 쿼리를 실행합니다.\r\n\r\n```\r\n// Set the output format to WKB\r\nalter session set geography_output_format = 'WKB';\r\n```\r\n\r\n2개의 쿼리를 다시 실행하고 실행할 때마다 `coordinates` 열에 있는 셀을 클릭합니다.\r\n\r\n```\r\nselect coordinates, name from v_osm_ny_shop_electronics where type = 'node' limit 25;\r\nselect coordinates, name from v_osm_ny_shop_electronics where type = 'way' limit 25;\r\n```\r\n\r\n인간 독자는 WKB를 이해할 수 없습니다. 바이너리 값의 길이 외에는 `POINT`와 `POLYGON`의 차이를 알기란 어렵습니다. 그러나 이 형식은 다음 섹션에서 확인할 수 있듯이 데이터 로드/언로드에 유용합니다.\r\n\r\n\u003C!-- ------------------------ --\u003E\r\n## 데이터 언로드/로드\r\n\r\n\r\n다양한 출력 형식을 이해했으니 electronics 뷰에서 새로운 파일을 생성한 다음 이러한 파일을 `GEOGRAPHY` 데이터 타입을 가진 새로운 테이블로 로드할 수 있습니다. 또한 지리 공간 _파서_ 및 _생성자_의 첫 예를 마주하게 됩니다.\r\n\r\n### 쿼리에서 새로운 WKB 파일 생성\r\n\r\n이 단계에서는 Snowflake의 [COPY INTO 위치](https://docs.snowflake.com/en/sql-reference/sql/copy-into-location.html)를 사용하여 쿼리의 출력을 가져오고 파일을 로컬 [사용자 스테이지](https://docs.snowflake.com/en/user-guide/data-load-local-file-system-create-stage.html#user-stages)에서 생성하겠습니다. 출력 형식이 WKB로 설정되어 있기에 해당 테이블의 지리 공간 열은 새로운 파일에서 WKB 형식으로 나타납니다.\r\n\r\n\u003E aside negative\r\n\u003E \r\n\u003E  WKB 형식은 파일 내 단순성을 위해 여기에서 선택되었습니다. 구분 기호, 공백 또는 기타 특수 문자가 없는 WKB는 단일 영숫자 문자열이기에 파일에 지리 공간 데이터를 저장하는 데 훌륭합니다. 실제 사용 사례에서 기타 형식을 사용하지 말아야 한다는 의미는 아닙니다. 그러나 WKB는 이 가이드에서 여러분의 작업을 훨씬 더 쉽게 만듭니다.\r\n\r\n다음 쿼리를 다시 실행하여 WKB 출력 형식을 사용하고 있는지 확인합니다.\r\n\r\n```\r\nalter session set geography_output_format = 'WKB';\r\n```\r\n\r\n`COPY` 명령의 구조에 익숙하지 않다면 아래 코드 메모에서 electronics 뷰의 일부 열과 모든 행을 복사하는 첫 쿼리의 코드를 분석합니다.\r\n\r\n```\r\n// Define the write location (@~/ = my user stage) and file name for the file \r\ncopy into @~/osm_ny_shop_electronics_all.csv \r\n// Define the query that represents the data output\r\nfrom (select id,coordinates,name,type from v_osm_ny_shop_electronics) \r\n// Indicate the comma-delimited file format and tell it to double-quote strings\r\nfile_format=(type=csv field_optionally_enclosed_by='\"') \r\n// Tell Snowflake to write one file and overwrite it if it already exists\r\nsingle=true overwrite=true;\r\n```\r\n\r\n위 쿼리를 실행하면 848개의 행이 언로드되었음을 나타내는 출력이 나타나야 합니다.\r\n\r\n출력 쿼리와 파서에 일부 필터를 추가하는 아래에 있는 두 번째 언로드 쿼리를 실행합니다.\r\n\r\n```\r\ncopy into @~/osm_ny_shop_electronics_points.csv \r\nfrom (\r\n  select id,coordinates,name,type,st_x(coordinates),st_y(coordinates) \r\n  from v_osm_ny_shop_electronics where type='node'\r\n) file_format=(type=csv field_optionally_enclosed_by='\"') \r\nsingle=true overwrite=true;\r\n```\r\n\r\n이 쿼리에서 `ST_X` 및 `ST_Y` 파서는 `GEOGRAPHY POINT` 오브젝트에서 경도와 위도를 추출합니다. 이러한 파서는 단일 포인트만 입력으로 허용하기에 여러분은 쿼리를 `type = 'node'`로 필터링해야 했습니다. Snowflake에서 'x' 좌표는 언제나 경도이며 'y'좌표는 언제나 위도입니다. 또한 추후 생성자에서 확인할 수 있듯이 경도가 항상 먼저 나열됩니다.\r\n\r\n### 사용자 스테이징된 파일 LIST 및 쿼리\r\n\r\n이제 여러분의 사용자 스테이지에 2개의 파일이 있어야 합니다. [LIST](https://docs.snowflake.com/en/sql-reference/sql/list.html) 명령을 실행하여 파일이 해당 위치에 존재하는지 확인합니다. 'osm' 문자열은 'osm'으로 시작하는 파일만 표시되도록 명령에 요청하는 필터의 역할을 수행합니다.\r\n\r\n```\r\nlist @~/osm;\r\n```\r\n\r\n아래 '$' 표기법을 사용해 단순한 파일을 스테이지에서 바로 쿼리하여 파일에 있는 구분된 각각의 열을 나타낼 수 있습니다. 이 경우 Snowflake는 이를 쉼표로 구분된 CSV라고 가정합니다. 다음 쿼리를 실행합니다.\r\n\r\n```\r\nselect $1,$2,$3,$4 from @~/osm_ny_shop_electronics_all.csv;\r\n```\r\n\r\n파일을 생성한 방식으로 인해 두 번째 열에서는 WKB 지리 공간 데이터를 큰따옴표로 표시합니다. 이는 `GEOGRAPHY` 데이터 타입으로 바로 로드되지 않기에 여러분이 추가적으로 파일 형식을 정의해야 합니다. 아래에 있는 각각의 쿼리를 실행하여 해당 데이터베이스에 로컬 데이터베이스와 새로운 파일 형식을 생성합니다. 또한 여러분의 `GEOGRAPHY` 출력 형식을 WKT로 다시 전환하여 추후 쿼리 가독성을 개선하겠습니다.\r\n\r\n```\r\n// Create a new local database\r\ncreate or replace database geocodelab;\r\n// Change your working schema to the public schema in that database\r\nuse schema geocodelab.public;\r\n// Create a new file format in that schema\r\ncreate or replace file format geocsv type = 'csv' field_optionally_enclosed_by='\"';\r\n// Set the output format back to WKT\r\nalter session set geography_output_format = 'WKT';\r\n```\r\n\r\n이제 파일 형식을 사용하여 스테이지의 'all' 파일을 쿼리합니다.\r\n\r\n```\r\nselect $1,TO_GEOGRAPHY($2),$3,$4 \r\nfrom @~/osm_ny_shop_electronics_all.csv \r\n(file_format =\u003E 'geocsv');\r\n```\r\n\r\nSnowflake에 WKB 바이너리 문자열을 지리 공간 데이터로 해석하고 `GEOGRAPHY` 타입을 구성하도록 지시하는 `TO_GEOGRAPHY` 생성자의 사용을 확인하십시오. WKT 출력 형식을 통해 이 표현을 보다 읽기 좋은 형태로 확인할 수 있습니다. 다음과 같은 2개의 쿼리를 실행하여 이 파일을 이제 `GEOGRAPHY` 형식의 열을 포함하는 테이블로 로드할 수 있습니다.\r\n\r\n```\r\n// Create a new 'all' table in the current schema\r\ncreate or replace table electronics_all \r\n(id number, coordinates geography, name string, type string);\r\n// Load the 'all' file into the table\r\ncopy into electronics_all from @~/osm_ny_shop_electronics_all.csv \r\nfile_format=(format_name='geocsv');\r\n```\r\n\r\n848개의 행이 성공적으로 테이블에 로드되었으며 0개의 오류가 나타나야 합니다.\r\n\r\n이제 기타 'points' 파일을 다루겠습니다. 앞서 `ST_X` 및 `ST_Y`를 사용하여 이 파일에 이산 경도와 위도를 생성했습니다. 다양한 열에 있는 이러한 값을 포함한 데이터를 수신하는 일이 종종 발생합니다. 또한 `ST_MAKEPOINT` 생성자를 사용하여 2개의 이산 위도와 경도 열을 하나의 `GEOGRAPHY` 형식의 열로 결합할 수 있습니다. 다음 쿼리를 실행합니다.\r\n\r\n```\r\nselect $1,ST_MAKEPOINT($5,$6),$3,$4,$5,$6 \r\nfrom @~/osm_ny_shop_electronics_points.csv \r\n(file_format =\u003E 'geocsv');\r\n```\r\n\r\n\u003E aside negative\r\n\u003E \r\n\u003E  `ST_MAKEPOINT`에서는 위도가 먼저 나열되어 있습니다. 일반적으로 '경도 위도'라고 말함에도 불구하고 위도를 경도 앞에 배치하여 Snowflake에서 지리 공간 POINT 오브젝트를 나타냅니다.\r\n\r\n이제 테이블을 생성하고 'points' 파일을 해당 테이블로 로드합니다. 이러한 2개의 쿼리를 실행합니다.\r\n\r\n```\r\n// Create a new 'points' table in the current schema\r\ncreate or replace table electronics_points \r\n(id number, coordinates geography, name string, type string, \r\nlong number(38,7), lat number(38,7));\r\n// Load the 'points' file into the table\r\ncopy into electronics_points from (\r\n  select $1,ST_MAKEPOINT($5,$6),$3,$4,$5,$6 \r\n  from @~/osm_ny_shop_electronics_points.csv\r\n) file_format=(format_name='geocsv');\r\n```\r\n\r\n728개의 행이 성공적으로 테이블에 로드되었으며 0개의 오류가 나타나야 합니다.\r\n\r\n\u003E aside positive\r\n\u003E \r\n\u003E  'all' 파일 로드 문에서는 파일에 로드할 쿼리를 지정할 필요가 없었습니다. 이미 Snowflake에서 지원하는 지리 공간 형식을 가진 파일에 열이 있고 해당 값을 `GEOGRAPHY` 형식의 열에 로드했을 때, Snowflake가 자동으로 여러분을 위해 지리 공간을 구성하기 때문입니다. 그러나 'points' 파일에서는 변환 쿼리를 사용하여 지리 공간 생성자 함수로 2개의 이산 열을 단일 `GEOGRAPHY` 열로 구성해야 합니다.\r\n\r\n이 섹션을 마무리하기 위해 다음과 같은 2개의 쿼리를 사용하여 최근 로드된 테이블을 쿼리할 수 있습니다.\r\n\r\n```\r\nselect * from electronics_all;\r\nselect * from electronics_points;\r\n```\r\n\r\n\u003C!-- ------------------------ --\u003E\r\n## 계산 및 더 많은 생성자\r\n\r\n\r\n`GEOGRAPHY` 데이터 타입의 작동 방법과 다양한 출력 형식을 가진 데이터 지리 공간 표현의 모습에 대한 기본 사항을 이해했습니다. 이제 여러분이 일부 질문에 답하기 위해 일부 지리 공간 쿼리를 실행해야 하는 시나리오를 진행할 시간입니다.\r\n\r\n\u003E aside positive\r\n\u003E \r\n\u003E  다음 3개 섹션의 시나리오는 가상 비즈니스 설정에서 지리 공간 데이터가 사용되는 방식보다는 사람이 자신의 휴대폰에서 지도 애플리케이션을 사용하는 방법과 더 유사합니다. 지리 공간 데이터는 매우 다양한 방식으로 업계에 걸쳐 사용되기에 모든 업계의 공감대를 형성할 수 있는 실제와 같은 비즈니스 시나리오를 만드는 대신 이 가이드를 진행하는 사람이 이 가이드 및 쿼리와 더 많은 공감대를 형성할 수 있도록 의도적으로 이렇게 만들어졌습니다.\r\n\r\n시나리오를 시작하기 전에 활성 스키마를 공유 데이터베이스로 다시 전환하고 다른 웹 사이트를 사용하여 쿼리 결과를 시각화할 것이기에 출력 형식이 GeoJSON 또는 WKT인지 확인합니다. 어떤 출력을 선택할지는 여러분의 개인 선호도에 달려 있습니다. WKT는 일반인이 읽기에 더 쉽지만 GeoJSON이 확실히 더 많이 사용됩니다. GeoJSON 시각화 도구로 포인트, 라인 및 도형을 더 쉽게 확인할 수 있기에 이 가이드에서는 GeoJSON을 위한 출력을 선보입니다.\r\n\r\n또한 지금부터 이전에 다뤘던 SQL 문과 함수에는 해당 가이드의 코드 메모 또는 텍스트에서 설명했던 사용법이 더 이상 적용되지 않습니다. 다음 쿼리 2개를 실행합니다.\r\n\r\n```\r\nuse schema osm_newyork.new_york;\r\n// Run just one of the below queries based on your preference\r\nalter session set geography_output_format = 'GEOJSON';\r\nalter session set geography_output_format = 'WKT';\r\n```\r\n\r\n### 시나리오\r\n\r\n현재 여러분이 뉴욕 타임스퀘어 주변에 있는 아파트에 거주하고 있다고 가정하겠습니다. Best Buy와 주류 판매점을 방문하여 쇼핑하고 커피숍에서 커피를 구매해야 합니다. 여러분의 현재 위치를 기준으로 이러한 심부름을 수행하기 위해 가장 가까운 매장이나 가게가 어디인가요? 또한 이러한 매장이나 가게가 전체적으로 방문하기에 가장 이상적인가요? 이동하는 동안 방문할 수 있는 다른 가게가 있나요?\r\n\r\n여러분의 현재 위치를 나타내는 쿼리를 실행하며 시작합니다. 이 위치는 해당 가이드를 위해 지도에서 위치를 클릭하면 위도와 경도를 반환하는 웹 사이트를 사용하여 사전에 선택되었습니다. 다음 쿼리를 실행합니다.\r\n\r\n```\r\nselect to_geography('POINT(-73.986226 40.755702)');\r\n```\r\n\r\n이 쿼리에는 `from` 절이 없기에 단순한 `select` 문에 `GEOGRAPHY` 오브젝트를 구성할 수 있습니다.\r\n\r\n\u003E aside negative\r\n\u003E \r\n\u003E  `POINT(-73.986226 40.755702)`는 이미 WKT 형식의 지리 오브젝트입니다. 따라서 이를 다시 변환할 필요가 없었습니다. 그러나 `TO_GEOGRAPHY`를 사용하여 단순한 지리 오브젝트를 구성하는 가장 기본적인 방법을 선보이는 것이 중요했습니다.\r\n\r\n- 반환된 데이터 셀을 클릭하고 오른쪽 셀 패널에 있는 Copy 버튼을 클릭하여 앞서 선보였던 메서드를 사용해 `POINT` 오브젝트를 복사합니다.\r\n- [geojson.io](https://geojson.io) 또는 [WKT Playground](https://clydedacruz.github.io/openstreetmap-wkt-playground/) 웹 사이트로 이동하고 텍스트 상자의 콘텐츠를 지웁니다.\r\n- 여러분의 `POINT` 오브젝트를 텍스트 상자에 붙여넣습니다(그리고 WKT Playground를 위해 `PLOT SHAPE` 클릭).\r\n- 지도 확대/축소 제어(+/- 버튼)를 사용하고 뉴욕 인근이 더 많이 보일 때까지 축소(-) 버튼을 클릭합니다. 아래 스크린샷과 비슷하게 나타나야 합니다. 그러나 여러분의 브라우저 창 크기와 지도를 얼마나 축소하는지에 따라 더 많은 지역이 보일 수 있습니다.\r\n\r\n![current-location-image](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-geospatial-geography-kr/playground_current_location.png)\r\n\r\n위 이미지에서 어두운 회색 지도 위치 아이콘은 `POINT` 오브젝트 위치를 나타냅니다. 이제 여러분이 어디에 있는지 알 수 있습니다!\r\n\r\n### 가장 가까운 위치 찾기\r\n\r\n다음 단계에서는 쿼리를 실행하여 위에서 보이는 여러분의 현재 위치에서 가장 가까운 Best Buy, 주류 판매점 및 커피숍을 찾아보겠습니다. 이러한 쿼리는 매우 비슷하며 다음과 같이 여러 작업을 수행합니다.\r\n\r\n- 하나는 electronics 뷰를 쿼리하며 다른 2개는 food & beverages 뷰를 쿼리합니다. 적절한 필터를 적용하여 찾고자 하는 것을 찾습니다.\r\n- 모든 쿼리는 `where` 절에서 `ST_DWITHIN` 함수를 사용하여 지정한 거리 밖에 있는 매장을 걸러 냅니다. 함수는 2개의 포인트와 1개의 거리를 사용하여 2개의 포인트가 지정된 거리보다 짧거나 동일한지 결정합니다. 만약 그렇다면 `true`를 반환하고 그렇지 않으면 `false`를 반환합니다. 이 함수에서는 각 뷰의 `coordinates` 열을 사용하여 모든 Best Buy, 주류 판매점 또는 커피숍을 스캔하겠습니다. 또한 이를 여러분의 현재 위치인 `POINT`와 비교하겠습니다. 이는 앞서 사용했던 `ST_MAKEPOINT`를 사용하여 구성하게 됩니다. 그런 다음 거리값으로 약 1마일인 1,600미터를 사용하겠습니다.\r\n  - 위 쿼리에서 `ST_DWITHIN(...) = true` 구문은 가독성을 위해 사용되었지만 필터 작동에는 `= true`가 필요하지 않습니다. `= false` 조건이 필요할 경우에는 필요합니다.\r\n- 모든 쿼리는 또한 `ST_DISTANCE` 함수를 사용합니다. 이는 실제로 여러분에게 2개의 포인트 사이의 거리를 나타내는 값을 미터로 제공합니다. `order by` 및 `limit` 절을 결합하면 가장 짧은 거리나 가장 가까운 행만을 반환하는 데 도움이 됩니다.\r\n  - 또한 여러분의 현재 위치 포인트를 위해 `ST_DISTANCE`에서는 앞서 `ST_DWITHIN`에서 사용했던 `ST_MAKEPOINT` 생성자가 아닌 `TO_GEOGRAPHY` 생성자를 사용합니다. 이는 `ST_MAKEPOINT`가 특별히 `POINT` 오브젝트를 생성하는 `TO_GEOGRAPHY`가 범용 생성자임을 여러분에게 보여주기 위한 것입니다. 그러나 이 상황에서는 동일한 출력으로 귀결됩니다. 종종 지리 공간 오브젝트를 구성하는 하나 이상의 유효한 접근 방법이 있습니다.\r\n\r\n다음 쿼리(첫 번째 쿼리에 위와 비슷한 메모가 있음)를 실행합니다.\r\n\r\n```\r\n// Find the closest Best Buy\r\nselect id, coordinates, name, addr_housenumber, addr_street, \r\n// Use st_distance to calculate the distance between your location and Best Buy\r\nst_distance(coordinates,to_geography('POINT(-73.986226 40.755702)'))::number(6,2) \r\nas distance_meters \r\nfrom v_osm_ny_shop_electronics \r\n// Filter just for Best Buys\r\nwhere name = 'Best Buy' and \r\n// Filter for Best Buys that are within about a US mile (1600 meters)\r\nst_dwithin(coordinates,st_makepoint(-73.986226, 40.755702),1600) = true \r\n// Order the results by the calculated distance and only return the lowest\r\norder by 6 limit 1;\r\n\r\n// Find the closest liquor store\r\nselect id, coordinates, name, addr_housenumber, addr_street, \r\nst_distance(coordinates,to_geography('POINT(-73.986226 40.755702)'))::number(6,2) \r\nas distance_meters \r\nfrom v_osm_ny_shop_food_beverages \r\nwhere shop = 'alcohol' and \r\nst_dwithin(coordinates,st_makepoint(-73.986226, 40.755702),1600) = true \r\norder by 6 limit 1;\r\n\r\n// Find the closest coffee shop\r\nselect id, coordinates, name, addr_housenumber, addr_street, \r\nst_distance(coordinates,to_geography('POINT(-73.986226 40.755702)'))::number(6,2) \r\nas distance_meters \r\nfrom v_osm_ny_shop_food_beverages \r\nwhere shop = 'coffee' and \r\nst_dwithin(coordinates,st_makepoint(-73.986226, 40.755702),1600) = true \r\norder by 6 limit 1;\r\n```\r\n\r\n각각의 경우 쿼리는 `POINT` 오브젝트를 반환합니다. 아직 이를 사용하지는 않겠지만 이제 여러분은 원하는 결과를 반환하는 쿼리를 보유하고 있습니다. 그러나 이러한 포인트가 서로 어떻게 관련되어 있는지 쉽게 시각화할 수 있다면 정말 좋겠습니다.\r\n\r\n### 포인트를 라인으로 수집\r\n\r\n이 섹션의 다음 단계에서는 `ST_COLLECT`를 사용하여 포인트를 '수집'하고 `ST_MAKELINE` 생성자로 `LINESTRING` 오브젝트를 만들어보겠습니다. 그런 다음 geojson.io에서 이 라인을 시각화할 수 있습니다.\r\n\r\n- 쿼리의 첫 단계는 위 단계에서 실행한 쿼리를 결합하는 CTE(공용 테이블 식) 쿼리를 생성하는 것입니다(`coordinates` 및 `distance_meters` 열만 유지). 이 CTE는 4개의 행 출력(여러분의 현재 위치 행 1개, Best Buy 위치 행 1개, 주류 판매점 행 1개, 커피숍 행 1개)을 생성합니다.\r\n- 그런 다음 `ST_COLLECT`를 사용하여 `coordinates` 열에 있는 이러한 4개의 행을 단일 지리 공간 오브젝트인 `MULTIPOINT`로 집계합니다. 이 오브젝트 유형은 그룹으로 묶인 것 외에는 서로 연결되어 있지 않은 것으로 해석되는 `POINT` 오브젝트의 컬렉션입니다. 시각화 도구는 이러한 포인트를 연결하지는 않고 단순히 표시합니다. 따라서 다음 단계에서는 이러한 포인트를 라인으로 만들어보겠습니다.\r\n\r\n다음 쿼리를 실행하고 출력을 살펴봅니다.\r\n\r\n```\r\n// Create the CTE 'locations'\r\nwith locations as (\r\n(select to_geography('POINT(-73.986226 40.755702)') as coordinates, \r\n0 as distance_meters)\r\nunion all\r\n(select coordinates, \r\nst_distance(coordinates,to_geography('POINT(-73.986226 40.755702)'))::number(6,2) \r\nas distance_meters from v_osm_ny_shop_electronics \r\nwhere name = 'Best Buy' and \r\nst_dwithin(coordinates,st_makepoint(-73.986226, 40.755702),1600) = true \r\norder by 2 limit 1)\r\nunion all\r\n(select coordinates, \r\nst_distance(coordinates,to_geography('POINT(-73.986226 40.755702)'))::number(6,2) \r\nas distance_meters from v_osm_ny_shop_food_beverages \r\nwhere shop = 'alcohol' and \r\nst_dwithin(coordinates,st_makepoint(-73.986226, 40.755702),1600) = true \r\norder by 2 limit 1)\r\nunion all\r\n(select coordinates, \r\nst_distance(coordinates,to_geography('POINT(-73.986226 40.755702)'))::number(6,2) \r\nas distance_meters from v_osm_ny_shop_food_beverages \r\nwhere shop = 'coffee' and \r\nst_dwithin(coordinates,st_makepoint(-73.986226, 40.755702),1600) = true \r\norder by 2 limit 1))\r\n// Query the CTE result set, aggregating the coordinates into one object\r\nselect st_collect(coordinates) as multipoint from locations;\r\n```\r\n\r\n다음으로 수행해야 하는 작업은 포인트 세트를 입력으로 사용하고 이를 `LINESTRING` 오브젝트로 변환하는 `ST_MAKELINE`을 사용하여 해당 `MULTIPOINT` 오브젝트를 `LINESTRING` 오브젝트로 변환하는 것입니다. `MULTIPOINT`는 가정된 연결이 없는 포인트를 보유한 반면 `LINESTRING`에 있는 포인트는 나타나는 순서대로 연결되었다고 해석됩니다. `ST_MAKELINE`으로 피드하기 위해 포인트 컬렉션이 필요하기에 위 `ST_COLLECT` 단계를 수행했습니다. 또한 위 쿼리를 대상으로 수행해야 하는 유일한 작업은 `ST_LINESTRING`의 `ST_COLLECT`를 다음과 같이 래핑하는 것입니다.\r\n\r\n```\r\nselect st_makeline(st_collect(coordinates),to_geography('POINT(-73.986226 40.755702)'))\r\n```\r\n\r\n\u003E aside positive\r\n\u003E \r\n\u003E  여러분의 현재 위치 포인트를 이미 위 `MULTIPOINT` 컬렉션에서 첫 포인트로 포함시켰는데 왜 라인에서 추가 포인트로 추가되었는지 궁금해하실 수 있습니다. 추후에 이유를 알아볼 테니 계속해서 진행하십시오. 그러나 쇼핑을 끝낸 후 여러분의 뉴욕 아파트로 돌아갈 계획은 논리적으로 말이 됩니다.\r\n\r\n실행할 전체 쿼리(메모 제외)는 다음과 같습니다.\r\n\r\n```\r\nwith locations as (\r\n(select to_geography('POINT(-73.986226 40.755702)') as coordinates, \r\n0 as distance_meters)\r\nunion all\r\n(select coordinates, \r\nst_distance(coordinates,to_geography('POINT(-73.986226 40.755702)'))::number(6,2) \r\nas distance_meters from v_osm_ny_shop_electronics \r\nwhere name = 'Best Buy' and \r\nst_dwithin(coordinates,st_makepoint(-73.986226, 40.755702),1600) = true \r\norder by 2 limit 1)\r\nunion all\r\n(select coordinates, \r\nst_distance(coordinates,to_geography('POINT(-73.986226 40.755702)'))::number(6,2) \r\nas distance_meters from v_osm_ny_shop_food_beverages \r\nwhere shop = 'alcohol' and \r\nst_dwithin(coordinates,st_makepoint(-73.986226, 40.755702),1600) = true \r\norder by 2 limit 1)\r\nunion all\r\n(select coordinates, \r\nst_distance(coordinates,to_geography('POINT(-73.986226 40.755702)'))::number(6,2) \r\nas distance_meters from v_osm_ny_shop_food_beverages \r\nwhere shop = 'coffee' and \r\nst_dwithin(coordinates,st_makepoint(-73.986226, 40.755702),1600) = true \r\norder by 2 limit 1))\r\nselect st_makeline(st_collect(coordinates),to_geography('POINT(-73.986226 40.755702)'))\r\nas linestring from locations;\r\n```\r\n\r\n위 쿼리에서 결과 셀을 복사하여 geojson.io에 붙여넣습니다. 다음과 같이 나타나야 합니다.\r\n\r\n![first-linestring-image](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-geospatial-geography-kr/playground_first_linestring.png)\r\n\r\n이런! 위 이미지에서는 다양한 가게가 여러분의 기존 위치를 기준으로 서로 다른 세 가지 방향에 있습니다. 많이 걸어야겠습니다. 다행히도 미터로 라인의 길이를 계산하는 `LINESTRING` 오브젝트를 대상으로 `ST_DISTANCE` 함수를 래핑하여 얼마나 많이 걸어야 하는지 확인할 수 있습니다. 다음 쿼리를 실행합니다.\r\n\r\n```\r\nwith locations as (\r\n(select to_geography('POINT(-73.986226 40.755702)') as coordinates, \r\n0 as distance_meters)\r\nunion all\r\n(select coordinates, \r\nst_distance(coordinates,to_geography('POINT(-73.986226 40.755702)'))::number(6,2) \r\nas distance_meters from v_osm_ny_shop_electronics \r\nwhere name = 'Best Buy' and \r\nst_dwithin(coordinates,st_makepoint(-73.986226, 40.755702),1600) = true \r\norder by 2 limit 1)\r\nunion all\r\n(select coordinates, \r\nst_distance(coordinates,to_geography('POINT(-73.986226 40.755702)'))::number(6,2) \r\nas distance_meters from v_osm_ny_shop_food_beverages \r\nwhere shop = 'alcohol' and \r\nst_dwithin(coordinates,st_makepoint(-73.986226, 40.755702),1600) = true \r\norder by 2 limit 1)\r\nunion all\r\n(select coordinates, \r\nst_distance(coordinates,to_geography('POINT(-73.986226 40.755702)'))::number(6,2) \r\nas distance_meters from v_osm_ny_shop_food_beverages \r\nwhere shop = 'coffee' and \r\nst_dwithin(coordinates,st_makepoint(-73.986226, 40.755702),1600) = true \r\norder by 2 limit 1))\r\n// Feed the linestring into an st_length calculation\r\nselect st_length(st_makeline(st_collect(coordinates),\r\nto_geography('POINT(-73.986226 40.755702)')))\r\nas length_meters from locations;\r\n```\r\n\r\n우와! 2,120미터에 달합니다!\r\n\r\n\u003E aside negative\r\n\u003E \r\n\u003E  이 거리는 사람이 거리를 걷는 방식이 아닌 새가 하늘을 나는 방식을 기반으로 한 경로를 나타냅니다. 이 연습의 목적은 도보 길 찾기를 생성하는 것이 아닌 Snowflake에서 지리 공간 데이터 및 함수를 사용하여 다양한 데이터를 분석하고, 구성하고, 계산할 방법을 선보이는 것입니다.\r\n\r\n이제 다음 섹션으로 이동하여 여러분의 쇼핑을 최적화할 방법을 알아보겠습니다.\r\n\r\n\u003C!-- ------------------------ --\u003E\r\n## 조인\r\n\r\n\r\n이전 섹션에서는 가장 가까운 Best Buy, 주류 판매점 및 커피숍을 찾기 위한 모든 쿼리가 여러분의 타임스퀘어 아파트와 얼마나 가까운지를 기반으로 했습니다. 그러나 예를 들어 Best Buy와 더 가까운 주류 판매점 및 또는 커피숍이 있는지 확인하는 것이 더 효율적이지 않을까요? 테이블 조인의 지리 공간 함수를 사용하여 이를 확인할 수 있습니다.\r\n\r\n### Best Buy와 더 가까운 가게가 있나요?\r\n\r\n여러분의 쿼리에서 지금까지 다음과 같은 2개의 뷰를 사용했습니다. `v_osm_ny_shop_electronics` 뷰는 Best Buy와 같은 매장을 목록으로 나열하며 `v_osm_ny_shop_food_beverage` 뷰는 주류 판매점과 커피숍을 목록으로 나열합니다. 전자와 가까운 곳에 있는 후자를 찾기 위해 이러한 2개의 테이블을 조인하겠습니다. 새로운 쿼리에는 몇몇 변경 사항이 적용됩니다.\r\n\r\n- electronics 뷰는 뷰에서 가져온 알려진 Best Buy 매장의 ID 값을 사용하여 알려진 Best Buy 매장에 대한 필터를 적용할 쿼리에서 기본 뷰의 역할을 수행합니다.\r\n- `JOIN` 절 대신 일반적인 `a.key = b.key` 외래 키 조건을 사용하여 `ST_DWITHIN` 함수는 조인 조건의 역할을 수행합니다(앞서 언급했던 `= true` 부분을 포함시킬 필요가 없다는 내용 참조).\r\n- `ST_DISTANCE` 계산은 이제 Best Buy 좌표와 food & beverage 뷰의 기타 모든 좌표를 사용하여 Best Buy와 가장 가까운 주류 판매점과 커피숍 위치를 결정합니다.\r\n\r\n다음 쿼리 2개(첫 쿼리에만 메모 포함)를 실행합니다.\r\n\r\n```\r\n// Join to electronics to find a liquor store closer to Best Buy\r\nselect fb.id,fb.coordinates,fb.name,fb.addr_housenumber,fb.addr_street,\r\n// The st_distance calculation uses coordinates from both views\r\nst_distance(e.coordinates,fb.coordinates) as distance_meters \r\nfrom v_osm_ny_shop_electronics e \r\n// The join is based on being within a certain distance\r\njoin v_osm_ny_shop_food_beverages fb on st_dwithin(e.coordinates,fb.coordinates,1600) \r\n// Hard-coding the known Best Buy id below\r\nwhere e.id = 1428036403 and fb.shop = 'alcohol' \r\n// Ordering by distance and only showing the lowest\r\norder by 6 limit 1;\r\n\r\n// Join to electronics to find a coffee shop closer to Best Buy\r\nselect fb.id,fb.coordinates,fb.name,fb.addr_housenumber,fb.addr_street,\r\nst_distance(e.coordinates,fb.coordinates) as distance_meters \r\nfrom v_osm_ny_shop_electronics e \r\njoin v_osm_ny_shop_food_beverages fb on st_dwithin(e.coordinates,fb.coordinates,1600) \r\nwhere e.id = 1428036403 and fb.shop = 'coffee' \r\norder by 6 limit 1;\r\n```\r\n\r\n각 쿼리의 결과를 보았을 때 첫 쿼리는 Best Buy와 더 가까운 다른 주류 판매점을 찾았지만, 두 번째 쿼리는 여러분의 기존 검색과 동일한 커피숍을 반환했습니다. 따라서 여러분은 가능한 만큼 최적화했습니다.\r\n\r\n\u003E aside negative\r\n\u003E \r\n\u003E  선택된 Best Buy의 ID는 위 쿼리에 하드 코드되어 동적으로 가장 가까운 Best Buy를 계산하기 위한 하위 쿼리를 도입하는 대신 쿼리를 읽기 쉽도록 유지하고 이러한 쿼리의 조인 절에 집중할 수 있도록 합니다. 이러한 하위 쿼리는 더 읽기 어렵고 길이가 더 긴 쿼리를 생성했을 것입니다.\r\n\r\n\u003E aside positive\r\n\u003E \r\n\u003E  자세히 알아보고 싶으시다면 이 시나리오의 조인에서 사용할 수 있는 기타 가능한 관계 함수를 [여기](https://docs.snowflake.com/en/sql-reference/functions-geospatial.html)에서 읽어보십시오.\r\n\r\n### 새로운 Linestring 계산\r\n\r\n이제 주류 판매점에 더 나은 옵션이 있다는 것을 알게 되었으니 위 주류 판매점 쿼리로 기존 linestring 쿼리를 대체하여 다른 오브젝트를 생성합니다. 시각화를 위해 공용 구조체의 문 순서가 변경되었으며 이는 오브젝트의 포인트 순서에 영향을 줍니다.\r\n\r\n```\r\nwith locations as (\r\n(select to_geography('POINT(-73.986226 40.755702)') as coordinates, \r\n0 as distance_meters)\r\nunion all\r\n(select coordinates, \r\nst_distance(coordinates,to_geography('POINT(-73.986226 40.755702)'))::number(6,2) \r\nas distance_meters \r\nfrom v_osm_ny_shop_food_beverages \r\nwhere shop = 'coffee' and \r\nst_dwithin(coordinates,st_makepoint(-73.986226, 40.755702),1600) = true \r\norder by 2 limit 1)\r\nunion all\r\n(select fb.coordinates, st_distance(e.coordinates,fb.coordinates) as distance_meters \r\nfrom v_osm_ny_shop_electronics e \r\njoin v_osm_ny_shop_food_beverages fb on st_dwithin(e.coordinates,fb.coordinates,1600) \r\nwhere e.id = 1428036403 and fb.shop = 'alcohol' \r\norder by 2 limit 1)\r\nunion all\r\n(select coordinates, \r\nst_distance(coordinates,to_geography('POINT(-73.986226 40.755702)'))::number(6,2) \r\nas distance_meters \r\nfrom v_osm_ny_shop_electronics \r\nwhere name = 'Best Buy' and \r\nst_dwithin(coordinates,st_makepoint(-73.986226, 40.755702),1600) = true \r\norder by 2 limit 1))\r\nselect st_makeline(st_collect(coordinates),\r\nto_geography('POINT(-73.986226 40.755702)')) as linestring from locations;\r\n```\r\n\r\n위 쿼리에서 결과 셀을 복사하여 geojson.io에 붙여넣습니다. 다음과 같이 나타나야 합니다.\r\n\r\n![second-linestring-image](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-geospatial-geography-kr/playground_second_linestring.png)\r\n\r\n훨씬 더 낫습니다! 더 효율적인 쇼핑 경로처럼 보입니다. 다음 쿼리를 실행하여 새로운 거리를 확인합니다.\r\n\r\n```\r\nwith locations as (\r\n(select to_geography('POINT(-73.986226 40.755702)') as coordinates, \r\n0 as distance_meters)\r\nunion all\r\n(select coordinates, \r\nst_distance(coordinates,to_geography('POINT(-73.986226 40.755702)'))::number(6,2) \r\nas distance_meters \r\nfrom v_osm_ny_shop_food_beverages \r\nwhere shop = 'coffee' and \r\nst_dwithin(coordinates,st_makepoint(-73.986226, 40.755702),1600) = true \r\norder by 2 limit 1)\r\nunion all\r\n(select fb.coordinates, st_distance(e.coordinates,fb.coordinates) as distance_meters \r\nfrom v_osm_ny_shop_electronics e \r\njoin v_osm_ny_shop_food_beverages fb on st_dwithin(e.coordinates,fb.coordinates,1600) \r\nwhere e.id = 1428036403 and fb.shop = 'alcohol' \r\norder by 2 limit 1)\r\nunion all\r\n(select coordinates, \r\nst_distance(coordinates,to_geography('POINT(-73.986226 40.755702)'))::number(6,2) \r\nas distance_meters \r\nfrom v_osm_ny_shop_electronics \r\nwhere name = 'Best Buy' and \r\nst_dwithin(coordinates,st_makepoint(-73.986226, 40.755702),1600) = true \r\norder by 2 limit 1))\r\nselect st_length(st_makeline(st_collect(coordinates),\r\nto_geography('POINT(-73.986226 40.755702)'))) \r\nas length_meters from locations;\r\n```\r\n\r\n좋습니다! 약 583미터 또는 1/3마일이 줄어든 1,537미터입니다. 2개의 shop 뷰를 합쳐 여러분의 경로를 최적화하기 위해 또 다른 테이블의 오브젝트와 가장 가까운 하나의 테이블에서 오브젝트를 찾을 수 있었습니다. 이제 보다 최적화된 경로를 보유하고 있으니 이동하는 동안 다른 가게에 들를 수 있을까요? 다음 섹션으로 이동하여 확인해 보겠습니다.\r\n\r\n\u003C!-- ------------------------ --\u003E\r\n## 추가 계산 및 생성자\r\n\r\n\r\n이전 섹션에서 생성했던 `LINESTRING` 오브젝트는 깔끔하고 멋진 4면을 가진 폴리곤처럼 보입니다. 곧 알게 되겠지만 `POLYGON`은 여러분이 구성하고 작업할 수 있는 또 다른 지리 공간 오브젝트 유형입니다. `LINESTRING`을 도형의 테두리로 생각했을 때 `POLYGON`은 도형 자체가 채워진 버전입니다. `POLYGON`에 대한 중요한 부분은 시작점에서 끝나야 한다는 것입니다. 반면에 `LINESTRING`은 시작점으로 돌아올 필요가 없습니다.\r\n\r\n\u003E aside positive\r\n\u003E \r\n\u003E  이전 섹션에서 여러분의 타임스퀘어 아파트 위치를 `LINESTRING`의 시작과 끝에 추가했던 것을 기억하시나요? 쇼핑이 끝난 후 집으로 되돌아가는 논리적인 설명과 더불어 해당 포인트는 시작과 끝에 복제되었습니다. 따라서 여러분은 이 섹션에서 `POLYGON`을 구성할 수 있습니다!\r\n\r\n### 폴리곤 구성\r\n\r\n`POLYGON` 구성에는 `ST_MAKELINE`과 같이 `ST_MAKEPOLYGON` 함수를 사용합니다. 유일한 차이점은 `ST_MAKELINE`은 포인트로부터 라인을 만들지만 `ST_MAKEPOLYGON`은 라인으로부터 폴리곤을 만든다는 것입니다. 따라서 라인을 구성했던 이전 쿼리를 대상으로 수행해야 할 유일한 작업은 다음과 같이 `ST_MAKEPOLYGON`으로 해당 구성을 래핑하는 것입니다.\r\n\r\n```\r\nselect st_makepolygon(st_makeline(st_collect(coordinates),\r\nto_geography('POINT(-73.986226 40.755702)')))\r\n```\r\n\r\n이는 개별 포인트에서 포인트 컬렉션, 라인, 폴리곤까지 구성 과정을 묘사하는 데 큰 도움이 됩니다. 다음 쿼리를 실행하여 폴리곤을 생성합니다.\r\n\r\n```\r\nwith locations as (\r\n(select to_geography('POINT(-73.986226 40.755702)') as coordinates, \r\n0 as distance_meters)\r\nunion all\r\n(select coordinates, \r\nst_distance(coordinates,to_geography('POINT(-73.986226 40.755702)'))::number(6,2) \r\nas distance_meters \r\nfrom v_osm_ny_shop_food_beverages \r\nwhere shop = 'coffee' and \r\nst_dwithin(coordinates,st_makepoint(-73.986226, 40.755702),1600) = true \r\norder by 2 limit 1)\r\nunion all\r\n(select fb.coordinates, st_distance(e.coordinates,fb.coordinates) as distance_meters \r\nfrom v_osm_ny_shop_electronics e \r\njoin v_osm_ny_shop_food_beverages fb on st_dwithin(e.coordinates,fb.coordinates,1600) \r\nwhere e.id = 1428036403 and fb.shop = 'alcohol' \r\norder by 2 limit 1)\r\nunion all\r\n(select coordinates, \r\nst_distance(coordinates,to_geography('POINT(-73.986226 40.755702)'))::number(6,2) \r\nas distance_meters \r\nfrom v_osm_ny_shop_electronics \r\nwhere name = 'Best Buy' and \r\nst_dwithin(coordinates,st_makepoint(-73.986226, 40.755702),1600) = true \r\norder by 2 limit 1))\r\nselect st_makepolygon(st_makeline(st_collect(coordinates),\r\nto_geography('POINT(-73.986226 40.755702)'))) as polygon from locations;\r\n```\r\n\r\n위 쿼리에서 결과 셀을 복사하여 geojson.io에 붙여넣습니다. 다음과 같이 나타나야 합니다.\r\n\r\n![polygon-empty-image](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-geospatial-geography-kr/playground_polygon_empty.png)\r\n\r\n또한 앞서 `ST_DISTANCE`를 사용하여 `LINESTRING`의 거리를 계산했던 것과 같이 라인 구성 주위를 래핑했던 것과 동일한 방식으로 폴리곤 구성 주위를 래핑하는 `ST_PERIMETER`를 사용하여 `POLYGON`의 둘레를 계산할 수 있습니다. 다음 쿼리를 실행하여 둘레를 계산합니다.\r\n\r\n```\r\nwith locations as (\r\n(select to_geography('POINT(-73.986226 40.755702)') as coordinates, \r\n0 as distance_meters)\r\nunion all\r\n(select coordinates, \r\nst_distance(coordinates,to_geography('POINT(-73.986226 40.755702)'))::number(6,2) \r\nas distance_meters \r\nfrom v_osm_ny_shop_food_beverages \r\nwhere shop = 'coffee' and \r\nst_dwithin(coordinates,st_makepoint(-73.986226, 40.755702),1600) = true \r\norder by 2 limit 1)\r\nunion all\r\n(select fb.coordinates, st_distance(e.coordinates,fb.coordinates) as distance_meters \r\nfrom v_osm_ny_shop_electronics e \r\njoin v_osm_ny_shop_food_beverages fb on st_dwithin(e.coordinates,fb.coordinates,1600) \r\nwhere e.id = 1428036403 and fb.shop = 'alcohol' \r\norder by 2 limit 1)\r\nunion all\r\n(select coordinates, \r\nst_distance(coordinates,to_geography('POINT(-73.986226 40.755702)'))::number(6,2) \r\nas distance_meters \r\nfrom v_osm_ny_shop_electronics \r\nwhere name = 'Best Buy' and \r\nst_dwithin(coordinates,st_makepoint(-73.986226, 40.755702),1600) = true \r\norder by 2 limit 1))\r\nselect st_perimeter(st_makepolygon(st_makeline(st_collect(coordinates),\r\nto_geography('POINT(-73.986226 40.755702)')))) as perimeter_meters from locations;\r\n```\r\n\r\n좋습니다! 해당 쿼리는 앞서 반환되었던 `LINESTRING`의 거리와 같이 1,537미터를 반환했습니다. 이는 `POLYGON`의 둘레가 `POLYGON`을 구성하는 `LINESTRING`과 동일한 거리이기 때문입니다.\r\n\r\n### 폴리곤 내에서 가게 찾기\r\n\r\n이 가이드에서의 마지막 활동은 이전 단계에서 생성했던 `POLYGON` 내에 존재하는 `v_osm_ny_shop` 뷰 내에서 모든 유형의 가게를 찾는 것입니다. 이는 주요 목적지로 가는 경로 도중에 방문할 수 있는 모든 매장을 여러분에게 제공합니다. 이를 달성하기 위해 `POLYGON`을 구축하는 쿼리를 대상으로 수행할 작업은 다음과 같습니다.\r\n\r\n- `POLYGON`은 그 자체로 결과 세트이기에 이 쿼리를 또 다른 CTE에서 래핑하겠습니다. 이를 통해 폴리곤을 단일 엔터티로 더 깔끔하게 조인에서 참조할 수 있습니다. 이 CTE의 이름을 `search_area`라고 지정하겠습니다.\r\n- 그런 다음 `ST_DWITHIN`과는 다른 `ST_WITHIN` 함수를 사용하여 `v_osm_ny_shop`을 `search area` CTE로 조인하겠습니다. `ST_WITHIN` 함수는 하나의 지리 공간 오브젝트를 사용하고 또 다른 지리 공간 오브젝트에 완벽하게 속하는지 결정합니다. 속한다면 `true`를 반환하고 그렇지 않다면 `false`를 반환합니다. 해당 쿼리에서 이는 `v_osm_ny_shop`에 있는 어떠한 행이 `search_area` CTE에 완벽히 속하는지 결정합니다.\r\n\r\n다음 쿼리를 실행하여 폴리곤 내부에 어떤 가게가 있는지 확인하십시오.\r\n\r\n```\r\n// Define the outer CTE 'search_area'\r\nwith search_area as (\r\nwith locations as (\r\n(select to_geography('POINT(-73.986226 40.755702)') as coordinates, \r\n0 as distance_meters)\r\nunion all\r\n(select coordinates, \r\nst_distance(coordinates,to_geography('POINT(-73.986226 40.755702)'))::number(6,2) \r\nas distance_meters \r\nfrom v_osm_ny_shop_food_beverages \r\nwhere shop = 'coffee' and \r\nst_dwithin(coordinates,st_makepoint(-73.986226, 40.755702),1600) = true \r\norder by 2 limit 1)\r\nunion all\r\n(select fb.coordinates, \r\nst_distance(e.coordinates,fb.coordinates) as distance_meters \r\nfrom v_osm_ny_shop_electronics e \r\njoin v_osm_ny_shop_food_beverages fb on st_dwithin(e.coordinates,fb.coordinates,1600) \r\nwhere e.id = 1428036403 and fb.shop = 'alcohol' \r\norder by 2 limit 1)\r\nunion all\r\n(select coordinates, \r\nst_distance(coordinates,to_geography('POINT(-73.986226 40.755702)'))::number(6,2) \r\nas distance_meters \r\nfrom v_osm_ny_shop_electronics \r\nwhere name = 'Best Buy' and \r\nst_dwithin(coordinates,st_makepoint(-73.986226, 40.755702),1600) = true \r\norder by 2 limit 1))\r\nselect st_makepolygon(st_makeline(st_collect(coordinates),\r\nto_geography('POINT(-73.986226 40.755702)'))) as polygon from locations)\r\nselect sh.id,sh.coordinates,sh.name,sh.shop,sh.addr_housenumber,sh.addr_street \r\nfrom v_osm_ny_shop sh \r\n// Join v_osm_ny_shop to the 'search_area' CTE using st_within\r\njoin search_area sa on st_within(sh.coordinates,sa.polygon);\r\n```\r\n\r\n아래와 같이 13개의 결과(가독성을 위해 아래에서는 WKT 출력으로 표시됨)가 나타나야 합니다.\r\n\r\n![polygon-results-image](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-geospatial-geography-kr/snowflake_inside_polygon_results.png)\r\n\r\n또한 마지막 단계에서 생성했던 `POLYGON`과 더불어 `POLYGON` 내부에 있는 모든 가게를 위한 `POINT`를 포함한 단일 지리 공간 오브젝트를 구성하겠습니다. 하나의 그룹화로 모든 지리 공간 오브젝트의 조합을 보유할 수 있는 지리 공간 타입인 이 단일 오브젝트는 `GEOMETRYCOLLECTION`으로 알려져 있습니다. 이 오브젝트를 생성하려면 다음을 수행해야 합니다.\r\n\r\n- `POLYGON` 쿼리를 폴리곤 내부에 있는 가게를 찾는 위 쿼리와 결합하는 CTE를 생성합니다. 단순성을 위해 후자 쿼리에 필요한 `coordinates` 열만 유지합니다. 이 CTE는 `POLYGON`을 위한 행 1개와 `POLYGON` 내부에 있는 각각의 개별 가게 `POINT`를 위한 행 13개를 생성합니다.\r\n- `ST_COLLECT`를 사용하여 위 14개의 행(`POLYGON` 1개, `POINTS` 13개)을 단일 `GEOMETRYCOLLECTION`으로 집계합니다.\r\n\r\n다음 쿼리를 실행합니다.\r\n\r\n```\r\n// Define the outer CTE 'final_plot'\r\nwith final_plot as (\r\n// Get the original polygon\r\n(with locations as (\r\n(select to_geography('POINT(-73.986226 40.755702)') as coordinates, \r\n0 as distance_meters)\r\nunion all\r\n(select coordinates, \r\nst_distance(coordinates,to_geography('POINT(-73.986226 40.755702)'))::number(6,2) \r\nas distance_meters \r\nfrom v_osm_ny_shop_food_beverages \r\nwhere shop = 'coffee' and \r\nst_dwithin(coordinates,st_makepoint(-73.986226, 40.755702),1600) = true \r\norder by 2 limit 1)\r\nunion all\r\n(select fb.coordinates, \r\nst_distance(e.coordinates,fb.coordinates) as distance_meters \r\nfrom v_osm_ny_shop_electronics e \r\njoin v_osm_ny_shop_food_beverages fb on st_dwithin(e.coordinates,fb.coordinates,1600) \r\nwhere e.id = 1428036403 and fb.shop = 'alcohol' \r\norder by 2 limit 1)\r\nunion all\r\n(select coordinates, \r\nst_distance(coordinates,to_geography('POINT(-73.986226 40.755702)'))::number(6,2) \r\nas distance_meters \r\nfrom v_osm_ny_shop_electronics \r\nwhere name = 'Best Buy' and \r\nst_dwithin(coordinates,st_makepoint(-73.986226, 40.755702),1600) = true \r\norder by 2 limit 1))\r\nselect st_makepolygon(st_makeline(st_collect(coordinates),\r\nto_geography('POINT(-73.986226 40.755702)'))) as polygon from locations)\r\nunion all\r\n// Find the shops inside the polygon\r\n(with search_area as (\r\nwith locations as (\r\n(select to_geography('POINT(-73.986226 40.755702)') as coordinates, \r\n0 as distance_meters)\r\nunion all\r\n(select coordinates, \r\nst_distance(coordinates,to_geography('POINT(-73.986226 40.755702)'))::number(6,2) \r\nas distance_meters \r\nfrom v_osm_ny_shop_food_beverages \r\nwhere shop = 'coffee' and \r\nst_dwithin(coordinates,st_makepoint(-73.986226, 40.755702),1600) = true \r\norder by 2 limit 1)\r\nunion all\r\n(select fb.coordinates, \r\nst_distance(e.coordinates,fb.coordinates) as distance_meters \r\nfrom v_osm_ny_shop_electronics e \r\njoin v_osm_ny_shop_food_beverages fb on st_dwithin(e.coordinates,fb.coordinates,1600) \r\nwhere e.id = 1428036403 and fb.shop = 'alcohol' \r\norder by 2 limit 1)\r\nunion all\r\n(select coordinates, \r\nst_distance(coordinates,to_geography('POINT(-73.986226 40.755702)'))::number(6,2) \r\nas distance_meters \r\nfrom v_osm_ny_shop_electronics \r\nwhere name = 'Best Buy' and \r\nst_dwithin(coordinates,st_makepoint(-73.986226, 40.755702),1600) = true \r\norder by 2 limit 1))\r\nselect st_makepolygon(st_makeline(st_collect(coordinates),\r\nto_geography('POINT(-73.986226 40.755702)'))) as polygon from locations)\r\nselect sh.coordinates \r\nfrom v_osm_ny_shop sh \r\njoin search_area sa on st_within(sh.coordinates,sa.polygon)))\r\n// Collect the polygon and shop points into a geometrycollection\r\nselect st_collect(polygon) from final_plot;\r\n```\r\n\r\n위 쿼리에서 결과 셀을 복사하여 geojson.io에 붙여넣습니다. 다음과 같이 나타나야 합니다.\r\n\r\n![polygon-full-image](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/getting-started-with-geospatial-geography-kr/playground_polygon_full.png)\r\n\r\n\u003E aside positive\r\n\u003E \r\n\u003E  이러한 마지막 몇몇 쿼리가 길거나 반복적이라고 느끼실 수 있습니다. 그러나 이 가이드의 목적은 과정에 걸쳐 각 단계가 어떻게 진행되는지 묘사하여 이렇게 더 길고 복잡한 쿼리를 구축하는 과정을 안내하는 것입니다. 함수가 결합될 수 있는 방법을 이해하면 Snowflake 지리 공간 기능을 사용하여 수행할 수 있는 고급 작업을 이해하는 데 도움이 됩니다!\r\n\r\n\u003C!-- ------------------------ --\u003E\r\n## 결론\r\n\r\n\r\n이 가이드에서는 Snowflake Marketplace에서 지리 공간 데이터를 습득하고, `GEOGRAPHY` 데이터 타입과 관련 형식의 작동 방법을 알아보고, 지리 공간 데이터가 포함된 데이터 파일을 생성하고, `GEOGRAPHY` 형식의 열을 가진 새로운 테이블에 이러한 파일을 로드하고, 단일 테이블과 조인을 포함한 여러 테이블에서 파서, 생성자, 변환 및 계산 함수를 사용하여 지리 공간 데이터를 쿼리했습니다. 그런 다음 새롭게 구성된 지리 공간 오브젝트를 geojson.io 또는 WKT Playground와 같은 도구로 시각화할 수 있는 방법을 확인했습니다.\r\n\r\n이제 더 방대한 Snowflake [지리 공간 지원](https://docs.snowflake.com/en/sql-reference/data-types-geospatial.html)과 [지리 공간 함수](https://docs.snowflake.com/en/sql-reference/functions-geospatial.html)를 탐색할 준비가 되었습니다.\r\n\r\n### 다룬 내용\r\n\r\n- Snowflake Marketplace에서 공유 데이터베이스 습득 방법\r\n- `GEOGRAPHY` 데이터 타입과 `GeoJSON`, `WKT`, `EWKT`, `WKB`, `EWKB` 형식 및 전환 방법.\r\n- 지리 공간 데이터를 포함한 데이터 파일 언로드 및 로드 방법.\r\n- `ST_X` 및 `ST_Y`와 같은 파서 사용 방법.\r\n- `TO_GEOGRAPHY`, `ST_MAKEPOINT`, `ST_MAKELINE` 및`ST_MAKEPOLYGON`과 같은 생성자 사용 방법.\r\n- `ST_COLLECT`와 같은 변환 사용 방법.\r\n- `ST_DISTANCE`, `ST_LENGTH` 및 `ST_PERIMETER`와 같은 측정 계산 수행 방법.\r\n- `ST_DWITHIN` 및 `ST_WITHIN`과 같은 관계 계산 수행 방법.","multiValue":false,":type":"text/x-markdown"},"quickstartArticleLogoImage":{"dataType":"string","title":"Quickstart Article Logo Image","multiValue":false,":type":"text/plain"}},"elementsOrder":["quickstartArticleBody","quickstartArticleLogoImage"],"model":"snowflake-site/models/quickstart-article"},"flexible_column_cont":{"id":"flexible-column-container-1f5e96f7c3","type":"2-column-75-25","alignColumns":"top","containerMaxWidth":"extra-large","topPadding":"none","bottomPadding":"none","spaceBetween":"none","reverseOnMobile":false,"carouselOnMobile":false,"backgroundImageOption":"none","flexible_column_content_container_1":{"layout":"SIMPLE","id":"container-7642ca42bb",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{"quickstart_last_modi":{"id":"quickstart-last-modified-173e22917f","icon":{"id":"icon","icon":"calendar",":type":"snowflake-site/components/icon","appliedCssClassNames":"snowflake-icon-blue"},"lastModifiedDatePrefix":"Updated","lastModifiedDate":"2025-10-20",":type":"snowflake-site/components/quickstart/quickstart-last-modified","appliedCssClassNames":"snowflake-responsive-component-top-padding-small"},"text":{"id":"text-304cd6016b","additionalClasses":"qs-disclaimer-text","text":"\u003Cp\u003E\u003Cspan style=\"color: #666;\"\u003EThis content is provided as is, and is not maintained on an ongoing basis. It may be out of date with current Snowflake instances\u003C/span\u003E\u003C/p\u003E\r\n","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"snowflake-responsive-component-top-padding-small"}},":itemsOrder":["quickstart_last_modi","text"]},"flexible_column_content_container_2":{"layout":"SIMPLE","id":"container-1cc702f078",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{},":itemsOrder":[]},"isBlogPage":false,":type":"snowflake-site/components/flexible-column-container","isActiveTOC":false}},":itemsOrder":["contentfragment","flexible_column_cont"]},"flexible_column_content_container_2":{"layout":"SIMPLE","id":"container-6fa62d6d0e",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{"quickstart_table_of_":{"layout":"SIMPLE","id":"container-cfb5640019","isDeveloperGuidesPage":false,":type":"snowflake-site/components/quickstart/quickstart-table-of-content/quickstart-table-of-content-container",":items":{"quickstart_table_of_":{"id":"quickstart-table-of-content-c63faf147f","fragmentPath":"/content/dam/snowflake-site/ko/content-fragments/quickstarts/getting-started-with-geospatial-geography-kr",":type":"snowflake-site/components/quickstart/quickstart-table-of-content","headings":["\u003Ch2\u003E개요\u003C/h2\u003E","\u003Ch2\u003EMarketplace 데이터 습득\u003C/h2\u003E","\u003Ch2\u003E지리 공간 형식에 대한 이해\u003C/h2\u003E","\u003Ch2\u003E데이터 언로드/로드\u003C/h2\u003E","\u003Ch2\u003E계산 및 더 많은 생성자\u003C/h2\u003E","\u003Ch2\u003E조인\u003C/h2\u003E","\u003Ch2\u003E추가 계산 및 생성자\u003C/h2\u003E","\u003Ch2\u003E결론\u003C/h2\u003E"]},"quickstart_button":{"id":"quickstart-button-64767a4b5f","fragmentPath":"/content/dam/snowflake-site/ko/content-fragments/quickstarts/getting-started-with-geospatial-geography-kr",":type":"snowflake-site/components/quickstart/quickstart-button","appliedCssClassNames":"snowflake-responsive-component-top-padding-none"}},":itemsOrder":["quickstart_table_of_","quickstart_button"]}},":itemsOrder":["quickstart_table_of_"]},"isBlogPage":false,":type":"snowflake-site/components/flexible-column-container","isActiveTOC":false},"markup_editor":{"id":"markup-editor-ffa9105ab2","title":"Page CSS","cssContent":"#quickstart-template-main-flexible-container{padding:24px}#quickstart-template-main-flexible-container \u003E .snowflake-flexible-column-container-items{grid-template-columns:1fr 0}.qs-disclaimer-text p \u003E span{font-size:15px !important}@media (min-width:768px){#quickstart-template-main-flexible-container{padding:24px 32px}#quickstart-template-main-flexible-container \u003E .snowflake-flexible-column-container-items{grid-template-columns:7fr 3fr;gap:48px}}@media (max-width:767px){#quickstart-template-main-flexible-container \u003E .snowflake-flexible-column-container-items{gap:0}}@media (min-width:1024px){#quickstart-template-main-flexible-container{padding:0 92px 48px 92px}#quickstart-template-main-flexible-container \u003E .snowflake-flexible-column-container-items{gap:117px}}","isGSAPEnabled":false,":type":"snowflake-site/components/markup-editor"}},":itemsOrder":["quickstart_hero","flexible_column_cont","markup_editor"],":type":"wcm/foundation/components/responsivegrid"},"modal_container":{"layout":"SIMPLE","id":"container-3351a3ceb3",":type":"snowflake-site/components/modal/modal-container",":items":{},":itemsOrder":[]},"experiencefragment-footer":{"id":"experiencefragment-c5869717a4","localizedFragmentVariationPath":"/content/experience-fragments/snowflake-site/language-masters/ko/site/footer/master/jcr:content","configured":true,"classNames":"aem-xf",":type":"snowflake-site/components/experiencefragment",":items":{"root":{"additionalClasses":"sf-footer","layout":"SIMPLE","id":"container-3ca3b9fc5d",":type":"snowflake-site/components/container",":items":{"container_copy_1901439591":{"additionalClasses":"sf-footer__inner","columnClassNames":{"flexible_column_cont":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","layout":"RESPONSIVE_GRID","columnCount":12,"id":"container-4c33a47082",":type":"snowflake-site/components/container",":items":{"flexible_column_cont":{"id":"flexible-column-container-f27cbcb98f","type":"1-column","alignColumns":"top","containerMaxWidth":"extra-large","topPadding":"medium","bottomPadding":"extra-small","spaceBetween":"small","reverseOnMobile":false,"carouselOnMobile":false,"propertiesCSSClasses":"sf-footer-grid","backgroundImageOption":"none","flexible_column_content_container_1":{"layout":"SIMPLE","id":"container-54f1a36d86",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{"container":{"additionalClasses":"sf-footer-grid__inner","columnClassNames":{"container":"aem-GridColumn aem-GridColumn--default--12","container_1622723482":"aem-GridColumn aem-GridColumn--default--12","container_copy_copy_":"aem-GridColumn aem-GridColumn--default--12","container_copy_copy":"aem-GridColumn aem-GridColumn--default--12","container_copy":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","layout":"RESPONSIVE_GRID","columnCount":12,"id":"container-006a9c08bc",":type":"snowflake-site/components/container",":items":{"container_1622723482":{"additionalClasses":"sf-footer__column","columnClassNames":{"container":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","layout":"RESPONSIVE_GRID","columnCount":12,"id":"container-faf7e0e769",":type":"snowflake-site/components/container",":items":{"container":{"additionalClasses":"sf-footer__newsletter-group","columnClassNames":{"text":"aem-GridColumn aem-GridColumn--default--12","marketo_v2":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","layout":"RESPONSIVE_GRID","columnCount":12,"id":"container-783a564fcb",":type":"snowflake-site/components/container",":items":{"text":{"id":"text-0424f9a9e4","additionalClasses":"sf-footer__newsletter-title","text":"\u003Cp\u003E\u003Cb\u003E월간 뉴스레터 구독하기\u003C/b\u003E\u003C/p\u003E\r\n\u003Cp\u003ESnowflake의 최신 제품 정보, 전문가 인사이트 및 유용한 리소스를 이메일로 편리하게 받아보세요.\u003C/p\u003E\r\n","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-size-regular text-color-text-04"},"marketo_v2":{"id":"marketo-v2-c9f15a1870","marketoForm":{"edit":false,"formId":"45871","successUrl":null,"hidden":null,"script":null,"values":null},"munchkinId":"252-RFO-227","serverInstance":"252-RFO-227.mktoweb.com","marketoConfigured":true,"formConfigured":true,":type":"snowflake-site/components/form/marketo-v2"}},":itemsOrder":["text","marketo_v2"],"appliedCssClassNames":"snowflake-responsive-container-inner-padding-small"}},":itemsOrder":["container"],"appliedCssClassNames":"snowflake-responsive-container-inner-padding-small"},"container":{"columnClassNames":{"text_copy":"aem-GridColumn aem-GridColumn--default--12","text":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","layout":"RESPONSIVE_GRID","columnCount":12,"id":"container-a6f4db1d07",":type":"snowflake-site/components/container",":items":{"text":{"id":"text-2c88d5c5d7","additionalClasses":"sf-footer__link-group","text":"\u003Cp class=\"sf-footer__column-title\"\u003E제품\u003C/p\u003E\r\n\u003Cul\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/ko/product/platform/\"\u003EPlatform\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/ko/product/data-engineering/\"\u003EData Engineering\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/ko/product/analytics/\"\u003EAnalytics\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/ko/product/ai/\"\u003EAI\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/ko/product/applications-and-collaboration/\"\u003EApplications &amp; Collaboration\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/ko/pricing-options/\"\u003E요금\u003C/a\u003E\u003C/li\u003E\r\n\u003C/ul\u003E\r\n","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-size-small text-color-text-04"},"text_copy":{"id":"text-dbeb6567e4","additionalClasses":"sf-footer__link-group","text":"\u003Cp class=\"sf-footer__column-title\"\u003ESupport\u003C/p\u003E\r\n\u003Cul\u003E\r\n\u003Cli\u003E\u003Ca href=\"/en/support/\"\u003ESupport (EN)\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"/en/support/\"\u003E우선 지원 (EN)\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://status.snowflake.com/\" target=\"_blank\" rel=\"noopener noreferrer\"\u003E지원 현황 (EN)\u003C/a\u003E\u003C/li\u003E\r\n\u003C/ul\u003E\r\n","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-size-small text-color-text-04"}},":itemsOrder":["text","text_copy"],"appliedCssClassNames":"snowflake-responsive-container-inner-padding-medium"},"container_copy_copy":{"columnClassNames":{"text":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","layout":"RESPONSIVE_GRID","columnCount":12,"id":"container-f264c21c24",":type":"snowflake-site/components/container",":items":{"text":{"id":"text-8cc48b1875","additionalClasses":"sf-footer__link-group","text":"\u003Cp class=\"sf-footer__column-title\"\u003E산업용\u003C/p\u003E\r\n\u003Cul\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/ko/solutions/industries/advertising-media-entertainment/\"\u003E광고, 미디어 및 엔터테인먼트\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/ko/solutions/industries/financial-services/\"\u003E금융 서비스\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/ko/solutions/industries/healthcare-and-life-sciences/\"\u003E헬스케어 및 라이프사이언스\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/ko/solutions/industries/manufacturing/\"\u003E제조\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/ko/solutions/industries/public-sector/\"\u003E공공 부문\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/ko/solutions/industries/retail-consumer-goods/\"\u003E리테일/소비재\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/ko/solutions/industries/technology/\"\u003E테크놀로지\u003C/a\u003E\u003C/li\u003E\r\n\u003C/ul\u003E\r\n","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-size-small text-color-text-04"}},":itemsOrder":["text"],"appliedCssClassNames":"snowflake-responsive-container-inner-padding-small"},"container_copy":{"columnClassNames":{"text":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","layout":"RESPONSIVE_GRID","columnCount":12,"id":"container-c9004b4bc9",":type":"snowflake-site/components/container",":items":{"text":{"id":"text-e8c445911d","additionalClasses":"sf-footer__link-group","text":"\u003Cp class=\"sf-footer__column-title\"\u003E회사\u003C/p\u003E\r\n\u003Cul\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/ko/company/overview/about-snowflake/\"\u003ESnowflake 소개\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/company/overview/leadership-and-board/\"\u003E리더십 및 이사진 (EN)\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://careers.snowflake.com/us/en?_ga=2.189098923.1024280027.1746985324-1783381883.1746382047\"\u003E채용 (EN)\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://investors.snowflake.com/overview/default.aspx\" target=\"_blank\" rel=\"noopener noreferrer\"\u003E투자자 관계 (EN)\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://trust.snowflake.com/\"\u003ETrust Center (EN)\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/brand-guidelines/\"\u003E브랜드 가이드라인 (EN)\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/ko/contact/\"\u003E연락처\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/ko/news/\"\u003E뉴스룸\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/company/overview/esg/\"\u003EESG (EN)\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/company/overview/snowflake-ventures/\"\u003ESnowflake Ventures (EN)\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/company/overview/end-data-disparity/\"\u003E데이터 불평등 종식 (EN)\u003C/a\u003E\u003C/li\u003E\r\n\u003C/ul\u003E\r\n","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-size-small text-color-text-04"}},":itemsOrder":["text"],"appliedCssClassNames":"snowflake-responsive-container-inner-padding-small"},"container_copy_copy_":{"columnClassNames":{"text":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","layout":"RESPONSIVE_GRID","columnCount":12,"id":"container-1135fe6751",":type":"snowflake-site/components/container",":items":{"text":{"id":"text-e2cedfbcef","additionalClasses":"sf-footer__link-group","text":"\u003Cp class=\"sf-footer__column-title\"\u003E학습\u003C/p\u003E\r\n\u003Cul\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://snowflake.com/ko/resources/\"\u003E리소스 라이브러리\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"/en/webinars/demo/\"\u003E라이브 데모 (EN)\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"/ko/fundamentals/\"\u003EFundamentals\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/resources/learn/training/\"\u003E교육 (EN)\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/ko/resources/learn/certifications/\"\u003E자격 인증\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://learn.snowflake.com/en/\" target=\"_blank\" rel=\"noopener noreferrer\"\u003ESnowflake University (EN)\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/ko/developers/guides/\" target=\"_blank\" rel=\"noopener noreferrer\"\u003E개발자가이드\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://docs.snowflake.com/\" target=\"_blank\" rel=\"noopener noreferrer\"\u003E설명서 (EN)\u003C/a\u003E\u003C/li\u003E\r\n\u003C/ul\u003E\r\n","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-size-small text-color-text-04"}},":itemsOrder":["text"],"appliedCssClassNames":"snowflake-responsive-container-inner-padding-small"}},":itemsOrder":["container_1622723482","container","container_copy_copy","container_copy","container_copy_copy_"],"appliedCssClassNames":"snowflake-responsive-container-inner-padding-small"}},":itemsOrder":["container"]},"isBlogPage":false,":type":"snowflake-site/components/flexible-column-container","isActiveTOC":false}},":itemsOrder":["flexible_column_cont"],"appliedCssClassNames":"snowflake-container snowflake-responsive-container-inner-padding-small"},"container_573483281_":{"additionalClasses":"sf-footer__bottom","columnClassNames":{"container_112062425":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","layout":"RESPONSIVE_GRID","columnCount":12,"id":"container-bb8f427f02",":type":"snowflake-site/components/container",":items":{"container_112062425":{"columnClassNames":{"flexible_column_cont":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","layout":"RESPONSIVE_GRID","columnCount":12,"id":"container-33774543fc",":type":"snowflake-site/components/container",":items":{"flexible_column_cont":{"id":"flexible-column-container-75cd2cb0fd","type":"1-column","alignColumns":"top","containerMaxWidth":"extra-large","topPadding":"none","bottomPadding":"none","spaceBetween":"small","reverseOnMobile":false,"carouselOnMobile":false,"backgroundImageOption":"none","flexible_column_content_container_1":{"layout":"SIMPLE","id":"container-f9ee4966d2",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{"container":{"additionalClasses":"sf-footer__legal-container","columnClassNames":{"container":"aem-GridColumn aem-GridColumn--default--12","text_copy_copy_16360_258165670":"aem-GridColumn aem-GridColumn--default--12","markup_editor":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","layout":"RESPONSIVE_GRID","columnCount":12,"id":"container-d822203406",":type":"snowflake-site/components/container",":items":{"container":{"columnClassNames":{"image":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","layout":"RESPONSIVE_GRID","columnCount":12,"id":"container-f379169f66",":type":"snowflake-site/components/container",":items":{"image":{"id":"image-d4cc1eb857","additionalClasses":"sf-footer__logo","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/ko/site/footer/master/_jcr_content/root/container_573483281_/container_112062425/flexible_column_cont/flexible_column_content_container_1/container/container/image.coreimg.svg/1747882370694/nav-icon-snowflake-bug.svg","alt":"Snowflake logo","imageLink":{"valid":true,"url":"/en/"},"lazyEnabled":true,"height":"64","width":"64",":type":"snowflake-site/components/image"}},":itemsOrder":["image"],"appliedCssClassNames":"snowflake-responsive-container-inner-padding-extra-small"},"text_copy_copy_16360_258165670":{"id":"text-1e45d825ed","additionalClasses":"sf-footer__legal-links","text":"\u003Cul\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/ko/legal/privacy/privacy-policy/\"\u003E개인정보 처리방침\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/legal/snowflake-site-terms/\"\u003E사이트 이용 약관\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://info.snowflake.com/Preference-center.html\"\u003E이메일 수신 설정\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Cbutton id=\"ot-sdk-btn\" class=\"ot-sdk-show-settings\"\u003E쿠키 설정\u003C/button\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/ko/legal/privacy/privacy-policy/#12\"\u003E개인 정보를 공유하지 않습니다.\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/ko/legal/\"\u003E법률\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E© 2026 Snowflake Inc. All Rights Reserved&nbsp;ㅣ 스노우플레이크코리아 유한회사 ㅣ 대표자: 마이클파스콸스카펠리 ㅣ&nbsp;주소: 서울특별시 강남구 테헤란로 134, 10층(역삼동, 포스코타워 역삼) ㅣ 사업자등록번호: 523-87-02399\u003C/li\u003E\r\n\u003C/ul\u003E\r\n","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-size-small text-color-text-04"},"markup_editor":{"id":"markup-editor-f4c51c68a0","title":" ","htmlContent":"\u003Cdiv class=\"sf-footer__social\"\u003E\r\n\u003Cdiv data-testid=\"snowflake-footer-twitter\" class=\"snowflake-button-icon snowflake-button-white snowflake-footer-social-item\"\u003E\u003Cdiv class=\"snowflake-button-icon \"\u003E\u003Ca href=\"https://x.com/Snowflake\" data-testid=\"button-external\" aria-label=\"X (Twitter)\" role=\"button\" class=\"snowflake-button-container\" title=\"X (Twitter)\" tabindex=\"0\" target=\"_blank\" rel=\"noreferrer\"\u003E\u003Cdiv data-testid=\"button-icon-wrapper\"\u003E\u003Csvg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 59 53\" class=\"button-icon\"\u003E\u003Cpath fill=\"currentColor\" d=\"M46.614 0h9.044L35.8 22.49 59 53H40.795L26.54 34.46 10.223 53H1.18l21.036-24.055L0 0h18.657l12.878 16.937zM43.45 47.72h5.013L16.023 5.085h-5.387z\"\u003E\u003C/path\u003E\u003C/svg\u003E\u003C/div\u003E\u003C/a\u003E\u003Cdiv\u003E\u003C/div\u003E\u003C/div\u003E\u003C/div\u003E\u003Cdiv data-testid=\"snowflake-footer-linkedin\" class=\"snowflake-button-icon snowflake-button-white snowflake-footer-social-item\"\u003E\u003Cdiv class=\"snowflake-button-icon \"\u003E\u003Ca href=\"https://www.linkedin.com/company/3653845\" data-testid=\"button-external\" aria-label=\"LinkedIn\" role=\"button\" class=\"snowflake-button-container\" title=\"LinkedIn\" tabindex=\"0\" target=\"_blank\" rel=\"noreferrer\"\u003E\u003Cdiv data-testid=\"button-icon-wrapper\"\u003E\u003Csvg xmlns=\"http://www.w3.org/2000/svg\" fill=\"currentColor\" viewBox=\"0 0 24 24\" class=\"button-icon\"\u003E\u003Cpath d=\"M22.223 0H1.772C.792 0 0 .773 0 1.73v20.536C0 23.222.792 24 1.772 24h20.451c.98 0 1.777-.778 1.777-1.73V1.73C24 .773 23.203 0 22.223 0ZM7.12 20.452H3.558V8.995H7.12v11.457ZM5.34 7.434a2.064 2.064 0 1 1 0-4.125 2.063 2.063 0 0 1 0 4.125Zm15.112 13.018h-3.558v-5.57c0-1.326-.024-3.037-1.852-3.037-1.851 0-2.133 1.449-2.133 2.944v5.663H9.356V8.995h3.413v1.566h.047c.473-.9 1.636-1.852 3.365-1.852 3.605 0 4.27 2.372 4.27 5.457v6.286Z\"\u003E\u003C/path\u003E\u003C/svg\u003E\u003C/div\u003E\u003C/a\u003E\u003Cdiv\u003E\u003C/div\u003E\u003C/div\u003E\u003C/div\u003E\u003Cdiv data-testid=\"snowflake-footer-facebook\" class=\"snowflake-button-icon snowflake-button-white snowflake-footer-social-item\"\u003E\u003Cdiv class=\"snowflake-button-icon \"\u003E\u003Ca href=\"https://www.facebook.com/snowflakedb/\" data-testid=\"button-external\" aria-label=\"Facebook\" role=\"button\" class=\"snowflake-button-container\" title=\"Facebook\" tabindex=\"0\" target=\"_blank\" rel=\"noreferrer\"\u003E\u003Cdiv data-testid=\"button-icon-wrapper\"\u003E\u003Csvg xmlns=\"http://www.w3.org/2000/svg\" fill=\"currentColor\" viewBox=\"0 0 24 24\" class=\"button-icon\"\u003E\u003Cpath d=\"M24 12c0-6.627-5.373-12-12-12S0 5.373 0 12c0 5.99 4.388 10.954 10.125 11.854V15.47H7.078V12h3.047V9.356c0-3.007 1.792-4.668 4.533-4.668 1.312 0 2.686.234 2.686.234v2.953H15.83c-1.491 0-1.956.925-1.956 1.875V12h3.328l-.532 3.469h-2.796v8.385C19.612 22.954 24 17.99 24 12Z\"\u003E\u003C/path\u003E\u003C/svg\u003E\u003C/div\u003E\u003C/a\u003E\u003Cdiv\u003E\u003C/div\u003E\u003C/div\u003E\u003C/div\u003E\u003Cdiv data-testid=\"snowflake-footer-youtube\" class=\"snowflake-button-icon snowflake-button-white snowflake-footer-social-item\"\u003E\u003Cdiv class=\"snowflake-button-icon \"\u003E\u003Ca href=\"https://www.youtube.com/user/snowflakecomputing\" data-testid=\"button-external\" aria-label=\"YouTube\" role=\"button\" class=\"snowflake-button-container\" title=\"YouTube\" tabindex=\"0\" target=\"_blank\" rel=\"noreferrer\"\u003E\u003Cdiv data-testid=\"button-icon-wrapper\"\u003E\u003Csvg xmlns=\"http://www.w3.org/2000/svg\" fill=\"currentColor\" viewBox=\"0 0 24 24\" class=\"button-icon\"\u003E\u003Cpath d=\"M23.76 7.2s-.233-1.655-.955-2.381c-.914-.956-1.936-.961-2.405-1.017-3.356-.244-8.395-.244-8.395-.244h-.01s-5.039 0-8.395.244c-.469.056-1.49.06-2.405 1.017C.473 5.545.244 7.2.244 7.2S0 9.145 0 11.086v1.819c0 1.94.24 3.886.24 3.886s.233 1.654.95 2.38c.915.957 2.115.924 2.65 1.027 1.92.183 8.16.24 8.16.24s5.044-.01 8.4-.249c.469-.056 1.49-.06 2.405-1.017.722-.727.956-2.381.956-2.381S24 14.85 24 12.905v-1.819c0-1.94-.24-3.886-.24-3.886ZM9.52 15.113V8.367l6.483 3.385-6.483 3.36Z\"\u003E\u003C/path\u003E\u003C/svg\u003E\u003C/div\u003E\u003C/a\u003E\u003Cdiv\u003E\u003C/div\u003E\u003C/div\u003E\u003C/div\u003E\r\n\u003C/div\u003E","cssContent":".sf-footer #ot-sdk-btn.ot-sdk-show-settings,.sf-footer #ot-sdk-btn.optanon-show-settings{color:rgba(255,255,255,.7) !important;text-underline-offset:4px;border-top:none;border-left:none;border-right:none;border-bottom:1px dotted transparent;background-color:transparent !important;background-image:none !important;transition:300ms ease text-decoration-color;padding:0 !important;font-size:12px;font-family:'Lato',sans-serif}.sf-footer #ot-sdk-btn.ot-sdk-show-settings:hover,.sf-footer #ot-sdk-btn.optanon-show-settings:hover{color:rgba(255,255,255,1) !important;border-bottom:1px dotted var(--ui-01);transition:300ms ease text-decoration-color}.sf-footer__legal-container\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:last-child{flex-shrink:0}.sf-footer__disclaimers{background-color:#042130}.sf-footer__disclaimers .snowflake-simple-stat-disclaimer p a{color:inherit;text-decoration:none !important}.sf-footer__disclaimers .snowflake-simple-stat-disclaimer p sup{margin-right:2px}.sf-footer__disclaimers .snowflake-simple-stat-disclaimer p{text-indent:-5px;padding-left:5px}.sf-footer__disclaimers-inner{border-top:1px solid rgba(255,255,255,.25);padding:40px 0}.sf-footer__disclaimers .snowflake-simple-stat{align-items:flex-start;text-align:left;color:rgba(255,255,255,.7);margin-bottom:10px}.sf-footer__social{display:flex;justify-content:center;gap:12px}.sf-footer .snowflake-footer-social-item{margin:0 !important}.sf-footer .snowflake-footer-social-item a{line-height:0;background-color:rgba(3,24,35,.8);display:inline-block;width:48px !important;height:48px;border-radius:8px;display:inline-flex;justify-content:center;align-items:center;transition:300ms ease background-color}.sf-footer .snowflake-footer-social-item a:hover{background-color:var(--ui-01) !important;transition:300ms ease background-color}.sf-footer__bottom{padding-bottom:40px}.sf-footer .snowflake-marketo-form .mktoFormRow .mktoFieldWrap .mktoError .mktoErrorMsg{max-width:100%;color:#fff}.sf-footer .mktoForm .mktoError .mktoErrorMsg .mktoErrorDetail{display:inline-block}.sf-footer .mktoFormRow:has(.mktoHtmlText:empty){display:none}.sf-footer .mktoFormRow .mktoHtmlText span{color:#fff !important}.sf-footer{background-color:#042130}.sf-footer .optanon-toggle-display:hover{text-decoration-color:var(--ui-01) !important;cursor:pointer !important;text-underline-offset:4px;text-decoration-style:dotted !important;text-decoration-color:var(--ui-01);color:#fff !important;transition:300ms ease text-decoration-color;text-decoration:underline;opacity:1}.sf-footer__logo{width:40px}.sf-footer-grid__inner\u003E.container\u003E.cmp-container\u003E.aem-container{row-gap:32px}.sf-footer__legal-container\u003E.container\u003E.cmp-container\u003E.aem-container{display:flex;justify-content:space-between;align-items:center;text-align:center;row-gap:16px}.sf-footer__legal-container\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:nth-child(2){text-align:center;flex-grow:1}.sf-footer__legal-links li button,.sf-footer__legal-links li a,.sf-footer__legal-links li{margin:0;color:rgba(255,255,255,.7) !important;font-weight:500}.sf-footer__legal-links li a:hover{color:rgba(255,255,255,1) !important}.sf-footer div.sf-footer__copyright p,.sf-footer div.sf-footer__legal-links li,.sf-footer div.sf-footer__legal-links a,.sf-footer div.sf-footer__legal-links p{font-size:12px !important}.sf-footer__legal-links ul{list-style-type:none;margin:0;padding:0;display:flex;gap:20px;row-gap:4px;justify-content:center;flex-wrap:wrap;text-align:center}.sf-footer__legal-links li:last-child{width:100%}.sf-footer .mktoFormRow:has(.mktoPlaceholder),.sf-footer .mktoFormRow:has(input[type=\"hidden\"]){display:none !important}.sf-footer .mktoFormCol{margin-bottom:0 !important}.sf-footer label[for=\"adhoc1\"]{width:auto !important;flex-grow:1;margin-left:16px}.sf-footer .mktoFieldWrap:has(label[for=\"adhoc1\"]){display:flex;flex-direction:row-reverse;margin-top:22px}.snowflake-marketo-form .mktoFormRow .mktoFieldWrap .mktoCheckboxList input[type=checkbox]{background-color:transparent !important;border:1px solid rgba(255,255,255,.4) !important;border-radius:4px !important}.sf-footer .snowflake-marketo-form .mktoFormRow .mktoFieldWrap .mktoEmailField,.sf-footer .snowflake-marketo-form .mktoFormRow .mktoFieldWrap .mktoTelField,.sf-footer .snowflake-marketo-form .mktoFormRow .mktoFieldWrap .mktoTextField,.sf-footer .snowflake-marketo-form .mktoFormRow .mktoFieldWrap select{background-color:transparent !important;color:#fff !important;height:auto !important;border:1px solid rgba(255,255,255,.4) !important;border-radius:4px !important;padding:12px 18px !important}.sf-footer .snowflake-marketo-form .mktoFormRow .mktoFieldWrap .mktoEmailField:focus,.sf-footer .snowflake-marketo-form .mktoFormRow .mktoFieldWrap .mktoTelField:focus,.sf-footer .snowflake-marketo-form .mktoFormRow .mktoFieldWrap .mktoTextField:focus,.sf-footer .snowflake-marketo-form .mktoFormRow .mktoFieldWrap select:focus{border-color:var(--ui-01) !important}.sf-footer .mktoForm *{padding:0 !important}.sf-footer .mktoForm,.sf-footer .snowflake-marketo-form-container{padding:0 !important;background:transparent;margin-bottom:0;box-shadow:none}.sf-footer .mktoHtmlText.mktoHasWidth{width:100% !important;margin:24px 0}.sf-footer .mktoFormRow{flex-direction:column}.sf-footer .mktoForm .mktoButtonWrap{margin:0 !important}.sf-footer select{background-image:url(\"data:image/svg+xml,%3Csvg width='14' height='8' viewBox='0 0 14 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M.981445 1.43496L6.90897 7.32496L12.9314 1.33496' stroke='white' stroke-width='1.33333' stroke-miterlimit='10' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A\") !important}.sf-footer .snowflake-marketo-form .mktoButtonWrap.mktoNative{justify-content:flex-start}.sf-footer *::placeholder{color:#fff !important;opacity:.8}.sf-footer .mktoForm .mktoButtonWrap.mktoSimple .mktoButton{background-color:var(--ui-01) !important;color:#fff !important;width:100% !important;padding:12px 16px !important;border:1px solid var(--ui-01) !important;background-image:none !important;border-radius:48px;text-transform:uppercase;font-weight:800 !important;font-family:'Texta',sans-serif !important;font-size:16px !important;line-height:1.2}.sf-footer .snowflake-marketo-form .mktoFormRow .mktoFieldWrap .mktoHtmlText\u003Espan,.sf-footer .snowflake-marketo-form .mktoFormRow .mktoFieldWrap .mktoLabel\u003Espan,.sf-footer .snowflake-marketo-form .mktoFormRow .mktoFieldWrap label.mktoLabel{color:#fff !important}.sf-footer__newsletter-title p:not(:first-child){margin-top:8px !important}.sf-footer__newsletter-title p b{font-weight:800 !important;font-family:'Texta',sans-serif !important;font-size:22px !important;line-height:1.2}.sf-footer__newsletter-title p:last-child{font-size:14px !important;opacity:.8}.sf-footer__link-group li a[target=\"_blank\"]::after{content:'';display:inline-block;width:10px;height:10px;margin-left:5px;background-image:url(\"data:image/svg+xml,%3Csvg width='11' height='11' viewBox='0 0 11 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.72222 1.22222C6.38471 1.22222 6.11111 .948616 6.11111 .611111C6.11111 .273607 6.38471 0 6.72222 0H10.3889C10.551 0 10.7064 .0643867 10.821 .178988C10.9356 .293596 11 .449032 11 .611111V4.27778C11 4.61529 10.7264 4.88889 10.3889 4.88889C10.0514 4.88889 9.77778 4.61529 9.77778 4.27778V2.08647L4.09879 7.76545C3.86013 8.00409 3.4732 8.00409 3.23454 7.76545C2.99589 7.52681 2.99589 7.13986 3.23454 6.90122L8.91355 1.22222H6.72222ZM0 2.44444C0 1.76943 .547207 1.22222 1.22222 1.22222H4.27778C4.61529 1.22222 4.88889 1.49583 4.88889 1.83333C4.88889 2.17084 4.61529 2.44444 4.27778 2.44444H1.22222V9.77778H8.55556V6.72222C8.55556 6.38471 8.82915 6.11111 9.16667 6.11111C9.50418 6.11111 9.77778 6.38471 9.77778 6.72222V9.77778C9.77778 10.4528 9.23059 11 8.55556 11H1.22222C.547207 11 0 10.4528 0 9.77778V2.44444Z' fill='white'/%3E%3C/svg%3E%0A\");background-size:contain;background-repeat:no-repeat;background-position:center}.sf-footer__link-group ul,.sf-footer__link-group li{margin:0;padding:0;list-style-type:none}.sf-footer__link-group ul{margin-top:20px !important}.sf-footer__link-group li{margin-top:15px}.sf-footer div.sf-footer__link-group\u003Espan\u003Ep\u003Ea,.sf-footer div.sf-footer__link-group\u003Espan\u003Ep{color:var(--ui-01) !important;font-weight:800 !important;font-family:'Texta',sans-serif !important;font-size:20px !important;line-height:1.2}.sf-footer__link-group li a{opacity:.9;color:#fff !important;font-weight:500 !important;font-size:15px !important;line-height:1.3}.sf-footer__link-group li a:hover{opacity:1}.sf-footer-grid__inner\u003E.container\u003E.cmp-container\u003E.aem-container::before,.sf-footer-grid__inner\u003E.container\u003E.cmp-container\u003E.aem-container::after{display:none}.sf-footer__column{flex-grow:1}.sf-footer-grid__inner\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:not(:first-child){width:50%}@media (min-width:800px){.sf-footer__legal-links ul{justify-content:flex-start;text-align:left}.sf-footer__social{justify-content:flex-end}.sf-footer__legal-links ul{padding-left:24px}.sf-footer__legal-container\u003E.container\u003E.cmp-container\u003E.aem-container{text-align:right;flex-wrap:nowrap}.sf-footer__legal-links.align-left ul{justify-content:flex-start}.sf-footer-grid__inner\u003E.container\u003E.cmp-container\u003E.aem-container{display:flex;justify-content:space-between;flex-direction:row}.sf-footer-grid__inner\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:auto !important;max-width:200px}.sf-footer-grid__inner\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:first-child{flex-grow:1;order:2;width:100% !important;max-width:none}.sf-footer__legal-container\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:auto}}@media screen and (min-width:1380px){.sf-footer-grid__inner\u003E.container\u003E.cmp-container\u003E.aem-container{flex-wrap:nowrap}.sf-footer-grid__inner\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:first-child{padding-right:48px;max-width:380px;background-color:rgba(3,24,35,.4);padding:32px;margin-left:48px;border-radius:16px}.sf-footer__link-group li,.sf-footer__link-group li a{font-size:14px !important;line-height:1.3}}@media screen and (max-width:991px){.sf-footer-grid__inner\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:first-child{order:2;margin-top:24px !important}}@media screen and (max-width:420px){.is-reduced-mobile .heading-1-v2,.is-reduced-mobile .heading-1-v2-sm{font-size:32px;line-height:28px}}","isGSAPEnabled":false,":type":"snowflake-site/components/markup-editor"}},":itemsOrder":["container","text_copy_copy_16360_258165670","markup_editor"],"appliedCssClassNames":"snowflake-responsive-container-inner-padding-none"}},":itemsOrder":["container"]},"isBlogPage":false,":type":"snowflake-site/components/flexible-column-container","isActiveTOC":false}},":itemsOrder":["flexible_column_cont"],"appliedCssClassNames":"snowflake-container snowflake-responsive-container-inner-padding-small"}},":itemsOrder":["container_112062425"],"appliedCssClassNames":"snowflake-responsive-container-inner-padding-none"},"markup_editor_copy":{"id":"markup-editor-e1e115fc90","title":"New css","cssContent":"body:has(.snowflake-skip-to-content[style=\"top:82px;\"]) #subNav,body:has(.snowflake-skip-to-content[style=\"top:90px;\"]) #subNav,body:has(.snowflake-skip-to-content[style=\"top:98px;\"]) #subNav,.pushdown-banner-dismissed #subNav{top:var(--scroll-padding-top) !important;transition:300ms ease top}.sf-footer .mktoFormRow .mktoHtmlText span{font-family:'Lato',sans-serif !important}.snowflake-button-primary.snowflake-button-blue .snowflake-button-container{justify-content:center}.related-chip-25{background-color:#fff;border:1px solid rgba(204,204,204,.5);border-radius:8px;padding:20px;position:relative}.related-chip-25:hover{box-shadow:rgba(152,162,179,.1) 0 10px 20px 0}.related-chip-25:hover::after{right:24px;transition:300ms ease right}.related-chip-25::after{content:'';display:block;transition:300ms ease right;background-image:url(\"data:image/svg+xml,%3Csvg width='8' height='14' viewBox='0 0 8 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M7.66699 7C7.66699 6.6571 7.53559 6.32825 7.30169 6.08578L2.34446 .947072C1.84529 .429617 1.0164 .429617 .517219 .947072C.0427878 1.43887 .042788 2.21798 .517219 2.70978L4.65591 7L.51722 11.2902C.0427889 11.782 .0427887 12.5611 .51722 13.0529C1.0164 13.5704 1.84529 13.5704 2.34447 13.0529L7.30169 7.91421C7.53559 7.67175 7.66699 7.34289 7.66699 7Z' fill='%2329B5E8'/%3E%3C/svg%3E%0A\");width:8px;height:14px;display:block;position:absolute;right:30px;top:50%;transform:translateY(-50%);background-size:contain;background-position:center;background-repeat:no-repeat}.related-chip-25 .heading-5-v2{font-size:22px;line-height:1.4}.related-chip-25 .snowflake-content-chip-image{width:48px}.related-chip-25 .snowflake-content-chip-image__image{aspect-ratio:1;height:auto;object-fit:contain}.related-chip-25 .snowflake-content-chip-button{display:none}.related-chip-25:hover::after{right:24px;transition:300ms ease right}.related-chip-25 .snowflake-content-chip-content-without-tag{flex-grow:1;padding-right:24px}.related-chip-25::after{content:'';display:block;transition:300ms ease right;background-image:url(\"data:image/svg+xml,%3Csvg width='8' height='14' viewBox='0 0 8 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M7.66699 7C7.66699 6.6571 7.53559 6.32825 7.30169 6.08578L2.34446 .947072C1.84529 .429617 1.0164 .429617 .517219 .947072C.0427878 1.43887 .042788 2.21798 .517219 2.70978L4.65591 7L.51722 11.2902C.0427889 11.782 .0427887 12.5611 .51722 13.0529C1.0164 13.5704 1.84529 13.5704 2.34447 13.0529L7.30169 7.91421C7.53559 7.67175 7.66699 7.34289 7.66699 7Z' fill='%2329B5E8'/%3E%3C/svg%3E%0A\");width:8px;height:14px;display:block;position:absolute;right:30px;top:50%;transform:translateY(-50%);background-size:contain;background-position:center;background-repeat:no-repeat}.related-chip-25 .heading-5-v2{font-size:22px;line-height:1.1}.related-chip-25 .snowflake-content-chip-image{width:48px;flex-shrink:0}.related-chip-25 .snowflake-content-chip-image__image{aspect-ratio:1;height:auto;object-fit:contain}.related-chip-25 .snowflake-content-chip-button{display:none}.case-study-25.small-logo .snowflake-case-study-card-logo img{width:60px !important}.swiper-slide .case-study-25{width:95%;margin-left:auto;margin-right:auto}.case-study-25 .snowflake-case-study-card-logo img{width:140px !important;height:auto !important;transform:none !important;margin:24px 0 8px 0}.case-study-25 .snowflake-case-study-card-image__image{object-position:left center}.case-study-25 .snowflake-case-study-card-information-container{padding-right:24px}.case-study-25 ul{list-style-type:none;padding:0;margin:8px 0 0 0}.case-study-25 li{font-size:15px !important;line-height:1.3 !important;display:flex;flex-direction:column;border-left:4px solid var(--ui-01);padding-left:24px;margin-top:24px;color:#535862;gap:4px}.case-study-25 li b{display:block;font-family:'Texta',sans-serif;font-weight:900 !important;font-size:48px !important;line-height:.9 !important;color:var(--ui-01)}.case-study-25 .snowflake-case-study-card-description p{color:#535862}.case-study-25 .snowflake-case-study-card-description p:nth-child(2):not(:has(a)){color:#000;font-family:Texta;font-size:30px !important;line-height:1 !important;font-style:normal;font-weight:700;text-indent:-8px}.case-study-25.is-story .snowflake-case-study-card-description p:nth-child(2):not(:has(a)){text-indent:0}.case-study-25 .snowflake-case-study-card-key-card{background-color:transparent}.case-study-25 .snowflake-case-study-card-button{display:none}.case-study-25{border-radius:24px;overflow:hidden}@media screen and (min-width:1024px){.case-study-25 .snowflake-case-study-card-left-container{position:static;width:60%;min-height:0}.case-study-25 .snowflake-case-study-card-right-container::after{content:'';display:block;width:60%;max-width:340px;padding-bottom:50%;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 22 16' class='snowflake-pushdown-banner-placeholder-arrow'%3E%3Cpath fill='%2329B5E8' fill-rule='evenodd' d='M17.865 8.756c.088-.274.124-.555.118-.834a2.551 2.551 0 0 0-1.3-2.142L7.887.76C6.645.055 5.063.475 4.35 1.7a2.535 2.535 0 0 0 .947 3.494l4.916 2.809-4.916 2.801a2.543 2.543 0 0 0-.947 3.502c.713 1.222 2.295 1.64 3.537.934l8.796-5.024a2.541 2.541 0 0 0 1.182-1.46Z' clip-rule='evenodd'%3E%3C/path%3E%3C/svg%3E\");background-size:contain;background-repeat:no-repeat;position:absolute;top:-10%;left:-20%}.case-study-25 .snowflake-case-study-card-right-container{max-width:none;width:40%;position:absolute;top:-5%;right:-5%;z-index:0;height:110%}}@media screen and (min-width:768px){.case-study-25 li{max-width:50%}.case-study-25 ul{display:flex;gap:48px}}.snowflake-text.section-eyebrow p{margin-left:auto;margin-right:auto;margin-bottom:16px !important}.snowflake-text.section-eyebrow p,.snowflake-text.eyebrow-text p{text-transform:uppercase;font-family:'Texta',sans-serif !important;font-weight:800 !important;letter-spacing:.025em;margin-bottom:12px;line-height:1.1 !important}.snowflake-title-v2.dynamic .heading-2-v2 span.snowflake-title-v2-line{font-size:clamp(2.5rem,3.5vw,4rem) !important;line-height:.85 !important}.checklist ul{padding:0;margin:0}.checklist ul li{list-style-type:none;padding-left:32px;position:relative}.checklist ul li:not(:last-child){margin-bottom:1em}.checklist ul li::before{content:'';display:inline-block;width:20px;height:20px;background-image:url(\"data:image/svg+xml,%3Csvg width='24' height='25' viewBox='0 0 24 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect y='.985352' width='24' height='24' rx='12' fill='%23D4F0FA'/%3E%3Cpath d='M7.28613 13.2967L10.7147 16.7253L17.5718 9.86816' stroke='%2329B5E8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A\");background-size:contain;background-repeat:no-repeat;position:absolute;top:3px;left:0}.last-line-blue .snowflake-typographyv2 .snowflake-title-v2-line:last-child{color:var(--ui-01)}.snowflake-text p sup{line-height:0}.snowflake-title-v2.lowercase .heading-3-v2{font-size:28px;line-height:1;text-transform:none;font-weight:700}.snowflake-title-v2.lowercase .heading-2-v2{font-size:32px;line-height:1;text-transform:none;font-weight:700}.content-chip-new{border:1px solid rgba(204,204,204,.5);border-radius:16px;overflow:hidden}.content-chip-new .snowflake-image-container{border-radius:0;display:none}.content-chip-new .snowflake-content-chip-image{margin-right:0;max-width:180px;flex-shrink:0}.content-chip-new .snowflake-content-chip-content{padding:24px}.content-chip-new .black-blue-text-color .snowflake-title-v2-line:first-child{font-size:24px;line-height:1.1}.content-chip-new .black-blue-text-color .snowflake-title-v2-line:not(:first-child){font-family:'Lato',sans-serif;font-size:17px;color:#535862 !important;font-weight:500;line-height:1.45;margin-top:8px;display:none}div.snowflake-text a{font-weight:normal;color:var(--ui-01);text-decoration:underline;text-underline-offset:4px;text-decoration-style:dotted !important;text-decoration-color:transparent;transition:300ms ease text-decoration-color}div.snowflake-text a:hover{text-decoration-color:var(--ui-01);transition:300ms ease text-decoration-color}.footer-nav__link-group .snowflake-button-container,.subnav__item--button,.snowflake-card-v2-advanced-button .snowflake-button-container{justify-content:flex-start}.button-container\u003E.container\u003E.cmp-container\u003E.aem-container{align-items:center}.button-container\u003E.container\u003E.cmp-container\u003E.aem-container .snowflake-button-primary+.snowflake-button-link{margin-left:12px !important}.snowflake-button-regular.snowflake-button-link .snowflake-button-container{font-size:18px !important;text-align:left;justify-content:flex-start;line-height:1.4 !important}body .snowflake-card-v2-advanced{border:1px solid rgba(204,204,204,.5);border-radius:var(--spacing-02);transition:300ms ease all}body .snowflake-card-v2-advanced:hover{transform:translateY(-10px);box-shadow:rgba(152,162,179,.1) 0 10px 20px 0;transition:300ms ease all}body .snowflake-card-v2-advanced-inner{border-bottom:none}body .snowflake-card-v2-advanced-image{line-height:0}body .snowflake-card-v2-advanced-image__image{aspect-ratio:16 / 9}body .snowflake-card-v2-advanced-content{position:relative}body .snowflake-card-v2-advanced-content::after{content:'';display:block;position:absolute;bottom:0;left:0;transition:300ms ease all;width:20%;height:4px;background-color:var(--ui-01);opacity:0}body .snowflake-card-v2-advanced:hover .snowflake-card-v2-advanced-content::after{width:100%;opacity:1;transition:300ms ease all}body .snowflake-card-v2-advanced .snowflake-button-link.snowflake-button-blue .snowflake-button-container\u003E.link-icon{transition:300ms ease transform}body .snowflake-card-v2-advanced:hover .snowflake-button-link.snowflake-button-blue .snowflake-button-container\u003E.link-icon{transform:translateX(4px);transition:300ms ease transform}.six-columns\u003E.container\u003E.cmp-container\u003E.aem-container,.three-columns\u003E.container\u003E.cmp-container\u003E.aem-container,.four-columns\u003E.container\u003E.cmp-container\u003E.aem-container,.five-columns\u003E.container\u003E.cmp-container\u003E.aem-container{display:flex;flex-wrap:wrap;gap:24px}.six-columns.align-center\u003E.container\u003E.cmp-container\u003E.aem-container,.three-columns.align-center\u003E.container\u003E.cmp-container\u003E.aem-container,.four-columns.align-center\u003E.container\u003E.cmp-container\u003E.aem-container,.five-columns.align-center\u003E.container\u003E.cmp-container\u003E.aem-container{justify-content:center}.three-columns\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:100%;margin:0 !important}.six-columns\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv,.four-columns\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv,.five-columns\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:calc(50% - 12px);margin:0 !important}@media screen and (min-width:768px){.three-columns\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:calc(50% - 12px)}.six-columns\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv,.four-columns\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv,.five-columns\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:calc(33.333% - 16px)}}@media screen and (min-width:1024px){.snowflake-title-v2.lowercase .heading-3-v2{font-size:34px}.snowflake-title-v2.lowercase.larger .heading-2-v2{font-size:44px;line-height:.95}.three-columns\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:calc(33.333% - 16px)}.four-columns\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:calc(25% - 18px)}.five-columns\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:calc(20% - 19.2px)}.six-columns\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:calc(16.6666% - 20px)}.snowflake-title-v2.lowercase .heading-3-v2{font-size:28px !important}}@media screen and (min-width:1200px){.snowflake-title-v2.lowercase .heading-2-v2{font-size:40px}.content-chip-new .snowflake-content-chip-content{padding:32px}.content-chip-new .snowflake-image-container,.content-chip-new .black-blue-text-color .snowflake-title-v2-line:not(:first-child){display:block}}.promo-banner-25{border-radius:16px;overflow:hidden}.promo-banner-25 .snowflake-premium-content-banner-image-container{position:relative;max-width:380px}.promo-banner-25 .snowflake-text{color:#535862}.promo-banner-25 .snowflake-premium-content-banner-image__image{transform:translateY(8px);transition:300ms ease transform;border-radius:0;width:85%;margin:0 auto;display:block;position:relative;z-index:1}.promo-banner-25 .snowflake-premium-content-banner-image__link:hover .snowflake-premium-content-banner-image__image{transform:translateY(0);transition:300ms ease transform}.promo-banner-25 .snowflake-premium-content-banner-image__inner{height:auto;padding-top:24px}.promo-banner-25 .snowflake-premium-content-banner-image__link{position:relative;z-index:1;height:auto}.promo-banner-25 .snowflake-premium-content-banner-image__link::after{content:'';display:block;position:absolute;clip-path:polygon(0 0,66% 0,100% 100%,0 100%);bottom:0;left:0;width:100%;height:100%;background:var(--ui-01);transition:300ms ease width}.promo-banner-25 .snowflake-premium-content-banner-image__link:hover::after{width:110%;transition:300ms ease width}.sf-footer .snowflake-marketo-form .mktoFormRow .mktoFieldWrap select{background-position:95% 50%}.sf-footer__disclaimers .text-size-small .snowflake-text p{color:#fff !important;font-size:10px !important;opacity:.8}@media screen and (min-width:768px){.sf-footer__disclaimers .text-size-small .snowflake-text p{font-size:12px !important}}@media screen and (max-width:1023px){.mobile-top-padding{padding-top:64px}}@media (max-width:799px){.sf-footer .snowflake-marketo-form .mktoButtonWrap.mktoNative .mktoButton{width:100% !important}.sf-footer__logo{text-align:center;display:block;margin:0 auto}}.customer-card .snowflake-card-v2-advanced-image{aspect-ratio:4.35 / 1}.customer-card .snowflake-card-v2-advanced-image__image{width:100%;height:100%;padding-left:8px;object-fit:contain;object-position:left center;margin:0 !important;aspect-ratio:initial}.customer-card .snowflake-card-v2-advanced-image__inner{height:110px}.customer-card .snowflake-card-v2-advanced-tag-indicator{display:none}.pc-hero .snowflake-container-arrow-small-gray-image{top:-34% !important;width:18% !important}.pc-hero .snowflake-container-arrow-small-gray-image path{fill:var(--ui-01);opacity:1}@media screen and (max-width:767px){.mobile-padding-top{padding-top:64px}.hide-mobile{display:none !important}.pc-hero{padding-top:52px}.pc-hero p,.pc-hero .left-alignment .snowflake-title-v2-line,.pc-hero h1 span{text-align:center !important}}div.snowflake-pushdown-banner-button{margin-top:0}","isGSAPEnabled":false,":type":"snowflake-site/components/markup-editor"}},":itemsOrder":["container_copy_1901439591","container_573483281_","markup_editor_copy"],"appliedCssClassNames":"ui-background-02"}},":itemsOrder":["root"]},"markup_editor":{"id":"markup-editor-502cdd2906","title":"Quickstarts Overrides","cssContent":".snowflake-markdown blockquote{padding:24px 32px;background:#f6f9fa;border:1px solid #29b5e8;border-radius:16px}.snowflake-markdown .snowflake-image-container img{width:auto !important;max-width:100%}.snowflake-markdown .snowflake-text ol{padding-left:20px !important}.snowflake-markdown .snowflake-text li{margin:0 0 12px 0 !important}.snowflake-markdown h3.snowflake-markdown-h3{font-size:20px !important;font-family:Texta,sans-serif !important}@media (min-width:768px){.snowflake-markdown h3.snowflake-markdown-h3{font-size:28px !important}}","isGSAPEnabled":false,":type":"snowflake-site/components/markup-editor"}},":itemsOrder":["experiencefragment-banner","experiencefragment-header","markup_editor_1950346551","responsivegrid","modal_container","experiencefragment-footer","markup_editor"],":type":"wcm/foundation/components/responsivegrid"}},":itemsOrder":["root"],"locale":"ko"}
  