1import{o as A,p as E,q as D,r as x,s as C,t as v}from"./modules/unplugin-icons-D3Nw-66L.js";import{_ as B}from"./slidev/CodeBlockWrapper.vue_vue_type_script_setup_true_lang-DyrBJD3c.js";import{_ as b}from"./slidev/VClicks-B_GkBXTf.js";import{E as F,b as S,o as n,w as e,g as s,G as o,H as t,e as l,f as r,m as P,v as w,x as G,A as k}from"./modules/vue-CynRjMpH.js";import{I}from"./slidev/default-X5cGuVg9.js";import{u as T,f as q}from"./slidev/context-zDDIoJ0W.js";import"./index-DCfA-xrU.js";import"./modules/shiki-CCaIuvDs.js";const L={class:"grid grid-cols-2 gap-8 mt-6"},R={class:"mt-4 text-sm text-gray-400"},$={class:"mt-6 p-4 bg-gradient-to-r from-green-900/30 to-blue-900/30 rounded-lg border border-green-500/30"},Q={__name:"slides.md__slidev_9",setup(N){const{$clicksContext:p,$frontmatter:d}=T();return p.setup(),(V,i)=>{const h=A,g=E,u=D,_=x,m=C,c=b,f=B,y=v,a=F("click");return n(),S(I,w(G(k(q)(k(d),8))),{default:e(()=>[s("h1",null,[i[0]||(i[0]=t("PostGIS: Geospatial Superpowers ",-1)),l(h,{class:"inline text-green-400"})]),s("div",L,[s("div",null,[i[8]||(i[8]=s("h3",null,"Why PostGIS?",-1)),l(c,null,{default:e(()=>[s("ul",null,[s("li",null,[l(g,{class:"text-green-400 inline"}),i[1]||(i[1]=t(" Efficient storage of geographic types",-1)),i[2]||(i[2]=s("ul",null,[s("li",null,"Point, Polygon, LineString")],-1))]),s("li",null,[l(u,{class:"text-yellow-400 inline"}),i[3]||(i[3]=t(" Spatial indexing for ",-1)),i[4]||(i[4]=s("strong",null,"blazing fast",-1)),i[5]||(i[5]=t(" queries",-1))]),s("li",null,[l(_,{class:"text-blue-400 inline"}),i[6]||(i[6]=t(" Real Earth geometry calculations",-1))]),s("li",null,[l(m,{class:"text-purple-400 inline"}),i[7]||(i[7]=t(" Polygon containment checks",-1))])])]),_:1})]),o((n(),r("div",null,[l(f,P({},{title:"",ranges:[]}),{default:e(()=>[...i[9]||(i[9]=[s("pre",{class:"shiki shiki-themes vitesse-dark vitesse-light slidev-code",style:{"--shiki-dark":"#dbd7caee","--shiki-light":"#393a34","--shiki-dark-bg":"#121212","--shiki-light-bg":"#ffffff"}},[s("code",{class:"language-sql"},[s("span",{class:"line"},[s("span",{style:{"--shiki-dark":"#758575DD","--shiki-light":"#A0ADA0"}},"-- Find guesses within 1km of target")]),t(` 2`),s("span",{class:"line"},[s("span",{style:{"--shiki-dark":"#4D9375","--shiki-light":"#1E754F"}},"SELECT"),s("span",{style:{"--shiki-dark":"#CB7676","--shiki-light":"#AB5959"}}," *"),s("span",{style:{"--shiki-dark":"#4D9375","--shiki-light":"#1E754F"}}," FROM"),s("span",{style:{"--shiki-dark":"#DBD7CAEE","--shiki-light":"#393A34"}}," guesses")]),t(` 3`),s("span",{class:"line"},[s("span",{style:{"--shiki-dark":"#4D9375","--shiki-light":"#1E754F"}},"WHERE"),s("span",{style:{"--shiki-dark":"#DBD7CAEE","--shiki-light":"#393A34"}}," ST_Distance(")]),t(` 4`),s("span",{class:"line"},[s("span",{style:{"--shiki-dark":"#4D9375","--shiki-light":"#1E754F"}}," location"),s("span",{style:{"--shiki-dark":"#DBD7CAEE","--shiki-light":"#393A34"}},",")]),t(` 5`),s("span",{class:"line"},[s("span",{style:{"--shiki-dark":"#DBD7CAEE","--shiki-light":"#393A34"}}," ST_Point("),s("span",{style:{"--shiki-dark":"#CB7676","--shiki-light":"#AB5959"}},"-"),s("span",{style:{"--shiki-dark":"#4C9A91","--shiki-light":"#2F798A"}},"0"),s("span",{style:{"--shiki-dark":"#DBD7CAEE","--shiki-light":"#393A34"}},"."),s("span",{style:{"--shiki-dark":"#4C9A91","--shiki-light":"#2F798A"}},"0754"),s("span",{style:{"--shiki-dark":"#DBD7CAEE","--shiki-light":"#393A34"}},", "),s("span",{style:{"--shiki-dark":"#4C9A91","--shiki-light":"#2F798A"}},"51"),s("span",{style:{"--shiki-dark":"#DBD7CAEE","--shiki-light":"#393A34"}},"."),s("span",{style:{"--shiki-dark":"#4C9A91","--shiki-light":"#2F798A"}},"5197"),s("span",{style:{"--shiki-dark":"#DBD7CAEE","--shiki-light":"#393A34"}},")::"),s("span",{style:{"--shiki-dark":"#4D9375","--shiki-light":"#1E754F"}},"geography")]),t(` 6`),s("span",{class:"line"},[s("span",{style:{"--shiki-dark":"#DBD7CAEE","--shiki-light":"#393A34"}},") "),s("span",{style:{"--shiki-dark":"#CB7676","--shiki-light":"#AB5959"}},"<="),s("span",{style:{"--shiki-dark":"#4C9A91","--shiki-light":"#2F798A"}}," 1000"),s("span",{style:{"--shiki-dark":"#DBD7CAEE","--shiki-light":"#393A34"}},";")])])],-1)])]),_:1},16),s("div",R,[l(y,{class:"text-red-400 inline"}),i[10]||(i[10]=t(" Spitalfields Market, London ",-1))])])),[[a]])]),o((n(),r("div",$,[...i[11]||(i[11]=[s("div",{class:"flex items-center gap-4"},[s("div",{class:"text-4xl"},"ð"),s("div",null,[s("div",{class:"font-bold text-green-400"},"PostGIS = Game Changer"),s("div",{class:"text-sm text-gray-300"},"Store lat/lng as geography type, query millions of points efficie
6ntly with spatial indexes")])],-1)])])),[[a]]),i[12]||(i[12]=s("div",{class:"absolute bottom-4 right-4 text-sm text-white/50"},"8",-1))]),_:1},16)}}};export{Q as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.