<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>article Natural Language Geospatial Analytics on Databricks with Genie Space and Apps in Technical Blog</title>
    <link>https://community.databricks.com/t5/technical-blog/natural-language-geospatial-analytics-on-databricks-with-genie/ba-p/151311</link>
    <description>&lt;H1&gt;&lt;SPAN&gt;Your Own GeoGenie: Natural Language Geospatial Analytics on Databricks&lt;/SPAN&gt;&lt;/H1&gt;
&lt;P&gt;&lt;SPAN&gt;Every enterprise has geospatial data. Telecom companies track tower locations. Retailers map store footprints. Logistics networks route around real-world geography. But when a business user asks a simple location-based question — &lt;/SPAN&gt;&lt;I&gt;&lt;SPAN&gt;which sites in this region generate the highest revenue?&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN&gt; — the answer almost always requires an engineer, a handful of SQL queries, and a turnaround measured in hours.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;The gap is not in storage or compute. Databricks handles both. The gap is in the last mile: turning a spatial question into a spatial query.&lt;/SPAN&gt;&lt;/P&gt;
&lt;H2&gt;&lt;SPAN&gt;The problem with spatial SQL today&lt;/SPAN&gt;&lt;/H2&gt;
&lt;P&gt;&lt;SPAN&gt;Consider a retail planner who wants to know which stores within a target region are underperforming. Today, that question requires:&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI style="font-weight: 400;" aria-level="1"&gt;&lt;SPAN&gt;Knowing the table schema, column names, and which columns hold coordinates&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="font-weight: 400;" aria-level="1"&gt;&lt;SPAN&gt;Writing SQL with spatial functions like &lt;/SPAN&gt;&lt;SPAN&gt;ST_Intersects&lt;/SPAN&gt;&lt;SPAN&gt; and &lt;/SPAN&gt;&lt;SPAN&gt;ST_GeomFromWKT&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="font-weight: 400;" aria-level="1"&gt;&lt;SPAN&gt;Manually constructing WKT geometry strings to define the area of interest&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="font-weight: 400;" aria-level="1"&gt;&lt;SPAN&gt;Iterating through multiple queries to narrow down the right region&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;SPAN&gt;For engineers, this is tedious. For business users, it is a wall. The result is that most geospatial data sits underused — not because the platform cannot handle it, but because the interface demands too much expertise.&lt;/SPAN&gt;&lt;/P&gt;
&lt;H2&gt;&lt;SPAN&gt;Summon GeoGenie: draw a region, ask a question, get an answer&lt;/SPAN&gt;&lt;/H2&gt;
&lt;P&gt;&lt;A href="https://github.com/databricks-solutions/genie-geo-chat" target="_blank" rel="noopener"&gt;&lt;STRONG&gt;GeoGenie&lt;/STRONG&gt;&lt;/A&gt;&lt;SPAN&gt; is an open-source reference app that shows how &lt;/SPAN&gt;&lt;A href="https://docs.databricks.com/aws/en/genie" target="_blank" rel="noopener"&gt;&lt;STRONG&gt;Databricks Genie Space&lt;/STRONG&gt;&lt;/A&gt;&lt;SPAN&gt; and &lt;/SPAN&gt;&lt;A href="https://docs.databricks.com/aws/en/dev-tools/databricks-apps/" target="_blank" rel="noopener"&gt;&lt;STRONG&gt;Databricks Apps&lt;/STRONG&gt;&lt;/A&gt;&lt;SPAN&gt; can be combined to reduce this friction. The workflow has three steps:&lt;/SPAN&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI style="font-weight: 400;" aria-level="1"&gt;&lt;STRONG&gt;Explore&lt;/STRONG&gt;&lt;SPAN&gt; a 3D interactive globe with site locations plotted as beacons. Click any site to inspect details — name, tenant, revenue, city, image.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="font-weight: 400;" aria-level="1"&gt;&lt;STRONG&gt;Draw&lt;/STRONG&gt;&lt;SPAN&gt; a polygon or rectangle directly on the map to define a region of interest.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="font-weight: 400;" aria-level="1"&gt;&lt;STRONG&gt;Ask&lt;/STRONG&gt;&lt;SPAN&gt; a question in plain English. GeoGenie handles the rest.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;div class="video-embed-center video-embed"&gt;&lt;iframe class="embedly-embed" src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FMHf96yM0ZdU%3Ffeature%3Doembed&amp;amp;display_name=YouTube&amp;amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DMHf96yM0ZdU&amp;amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FMHf96yM0ZdU%2Fhqdefault.jpg&amp;amp;type=text%2Fhtml&amp;amp;schema=youtube" width="400" height="225" scrolling="no" title="GeoGenie Demo: Query Geospatial Data with AI and a 3D Globe on Databricks" frameborder="0" allow="autoplay; fullscreen; encrypted-media; picture-in-picture" allowfullscreen="true"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Behind the scenes, when a user draws a shape, GeoGenie converts the polygon coordinates into WKT and appends that geometry to the prompt sent to &lt;/SPAN&gt;&lt;STRONG&gt;Databricks Genie&lt;/STRONG&gt;&lt;SPAN&gt;. Genie generates the SQL with the spatial filter already built in:&lt;/SPAN&gt;&lt;/P&gt;
&lt;LI-CODE lang="php"&gt;WITH ranked_sites AS (
  SELECT *,
    RANK() OVER (ORDER BY total_monthly_revenue DESC) AS revenue_rank
  FROM catalog.geogenie.site_locations
  WHERE ST_Intersects(
    ST_GeomFromWKT('POLYGON((-102.3 26.8, -95.2 26.8, -95.2 31.4, -102.3 31.4, -102.3 26.8))'),
    ST_Point(longitude, latitude)
  )
)
SELECT site_name, city, state, tenant_name, total_monthly_revenue
FROM ranked_sites
WHERE revenue_rank &amp;lt;= 5
ORDER BY total_monthly_revenue DESC;&lt;/LI-CODE&gt;
&lt;P&gt;&lt;SPAN&gt;The &lt;/SPAN&gt;&lt;STRONG&gt;Genie Space&lt;/STRONG&gt;&lt;SPAN&gt; is pre-configured with spatial-query instructions, so the generated SQL consistently uses &lt;/SPAN&gt;&lt;SPAN&gt;ST_Intersects&lt;/SPAN&gt;&lt;SPAN&gt;, constructs points with longitude first in &lt;/SPAN&gt;&lt;SPAN&gt;ST_Point&lt;/SPAN&gt;&lt;SPAN&gt;, and applies the drawn region as a spatial predicate automatically. The user focuses on the question. GeoGenie handles the spatial context and query generation.&lt;/SPAN&gt;&lt;/P&gt;
&lt;H2&gt;&lt;SPAN&gt;How it works&lt;/SPAN&gt;&lt;/H2&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MohanaBasak_0-1773851159799.png" style="width: 981px;"&gt;&lt;img src="https://community.databricks.com/t5/image/serverpage/image-id/24971iD01D4984313AE897/image-size/large?v=v2&amp;amp;px=999" role="button" title="MohanaBasak_0-1773851159799.png" alt="MohanaBasak_0-1773851159799.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;GeoGenie combines four capabilities in the Databricks platform into a single experience:&lt;/SPAN&gt;&lt;/P&gt;
&lt;TABLE&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P&gt;&lt;STRONG&gt;Layer&lt;/STRONG&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;&lt;STRONG&gt;Technology&lt;/STRONG&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P&gt;&lt;SPAN&gt;Frontend&lt;/SPAN&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;&lt;A href="https://cesium.com/cesiumjs/" target="_blank" rel="noopener"&gt;&lt;SPAN&gt;CesiumJS&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN&gt; 3D globe + Streamlit&lt;/SPAN&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P&gt;&lt;SPAN&gt;AI / NL-to-SQL&lt;/SPAN&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;&lt;SPAN&gt;Databricks Genie Space&lt;/SPAN&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P&gt;&lt;SPAN&gt;Data governance&lt;/SPAN&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;&lt;SPAN&gt;Unity Catalog + SQL Warehouse&lt;/SPAN&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P&gt;&lt;SPAN&gt;App platform&lt;/SPAN&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;&lt;SPAN&gt;Databricks Apps&lt;/SPAN&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&lt;SPAN&gt;The Cesium globe runs inside an iframe rendered through Streamlit's custom component API and communicates with the Python backend via &lt;/SPAN&gt;&lt;SPAN&gt;window.postMessage&lt;/SPAN&gt;&lt;SPAN&gt;. This lets GeoGenie pair a rich JavaScript geospatial UI with simple Streamlit application logic — all deployed and authenticated through Databricks Apps with a service principal.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Setup is a single notebook. Clone the &lt;/SPAN&gt;&lt;A href="https://github.com/databricks-solutions/genie-geo-chat" target="_blank" rel="noopener"&gt;&lt;SPAN&gt;repo&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN&gt;, run &lt;/SPAN&gt;&lt;SPAN&gt;setup_and_deploy&lt;/SPAN&gt;&lt;SPAN&gt;, and the notebook provisions everything: the Unity Catalog objects, synthetic sample data, a configured Genie Space with spatial instructions, and the deployed app with the right permissions. After setup, the app is ready to share with your team.&lt;/SPAN&gt;&lt;/P&gt;
&lt;H2&gt;&lt;SPAN&gt;Three Wishes: What this unlocks?&lt;/SPAN&gt;&lt;/H2&gt;
&lt;P&gt;&lt;SPAN&gt;The way GeoGenie approaches map interactivity when generating Genie queries is important for three key reasons:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;New personas get access to spatial analytics.&lt;/STRONG&gt;&lt;SPAN&gt; A business analyst who cannot write &lt;/SPAN&gt;&lt;SPAN&gt;ST_Intersects&lt;/SPAN&gt;&lt;SPAN&gt; can now draw a region and ask a question. The barrier drops from "knows spatial SQL" to "can point at a map."&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Governed by default.&lt;/STRONG&gt;&lt;SPAN&gt; Every query runs through Unity Catalog. A business user gets spatial answers without being granted direct table access. The Genie Space controls which tables and columns are exposed. This is not a shortcut around governance — it is governance made usable.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;A pattern, not just a demo.&lt;/STRONG&gt;&lt;SPAN&gt; The architecture — visual interaction layer, natural language interface, governed data — is reusable. Telecom network planning, retail site intelligence, logistics coverage analysis, field asset management: any domain where location is a first-class dimension of the data can follow this pattern.&lt;/SPAN&gt;&lt;/P&gt;
&lt;H2&gt;&lt;SPAN&gt;Try It&lt;/SPAN&gt;&lt;/H2&gt;
&lt;P&gt;&lt;SPAN&gt;The repository is open source:&lt;/SPAN&gt; &lt;A href="https://github.com/databricks-solutions/genie-geo-chat" target="_self"&gt;&lt;SPAN&gt;https://github.com/databricks-solutions/genie-geo-chat&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;If you work with geospatial data on Databricks, use it as a starting point and adapt it to your own use case. Open an issue if you run into problems, and share what this inspires you to build. The combination of spatial SQL, natural language, and governed data access is still early — and there is a lot of room to push it further.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 20 Mar 2026 08:38:57 GMT</pubDate>
    <dc:creator>MohanaBasak</dc:creator>
    <dc:date>2026-03-20T08:38:57Z</dc:date>
    <item>
      <title>Natural Language Geospatial Analytics on Databricks with Genie Space and Apps</title>
      <link>https://community.databricks.com/t5/technical-blog/natural-language-geospatial-analytics-on-databricks-with-genie/ba-p/151311</link>
      <description>&lt;P&gt;See how Databricks Genie Space and Databricks Apps can be combined to create a custom geospatial experience where users draw a region on a map, ask a question in plain English, and get answers backed by governed spatial SQL.&lt;/P&gt;</description>
      <pubDate>Fri, 20 Mar 2026 08:38:57 GMT</pubDate>
      <guid>https://community.databricks.com/t5/technical-blog/natural-language-geospatial-analytics-on-databricks-with-genie/ba-p/151311</guid>
      <dc:creator>MohanaBasak</dc:creator>
      <dc:date>2026-03-20T08:38:57Z</dc:date>
    </item>
    <item>
      <title>Re: Natural Language Geospatial Analytics on Databricks with Genie Space and Apps</title>
      <link>https://community.databricks.com/t5/technical-blog/natural-language-geospatial-analytics-on-databricks-with-genie/bc-p/151518#M955</link>
      <description>&lt;P&gt;Super cool!!!&lt;/P&gt;</description>
      <pubDate>Fri, 20 Mar 2026 13:01:30 GMT</pubDate>
      <guid>https://community.databricks.com/t5/technical-blog/natural-language-geospatial-analytics-on-databricks-with-genie/bc-p/151518#M955</guid>
      <dc:creator>josh_melton</dc:creator>
      <dc:date>2026-03-20T13:01:30Z</dc:date>
    </item>
    <item>
      <title>Re: Natural Language Geospatial Analytics on Databricks with Genie Space and Apps</title>
      <link>https://community.databricks.com/t5/technical-blog/natural-language-geospatial-analytics-on-databricks-with-genie/bc-p/155139#M1012</link>
      <description>&lt;P&gt;&lt;SPAN&gt;First off, I really enjoyed ex&lt;/SPAN&gt;&lt;SPAN&gt;ploring this&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;app&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;— it's a great starting point, and I personally love the idea of visualizing geospatial data on a 3D pane. The&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;conc&lt;/SPAN&gt;&lt;SPAN&gt;ept and execution are genuinely impressive, and I can&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;see a&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;lot of potential value for customers wanting to bring location&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;int&lt;/SPAN&gt;&lt;SPAN&gt;elligence into Genie conversations.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I wanted to share a&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;pi&lt;/SPAN&gt;&lt;SPAN&gt;ece of feedback from the perspective of a Citizen Developer, since I think&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;it&lt;/SPAN&gt;&lt;SPAN&gt;'s worth considering as the project evolves&lt;/SPAN&gt;&lt;SPAN&gt;.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;When&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;I deploy&lt;/SPAN&gt;&lt;SPAN&gt;ed the app to my&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;&lt;SPAN&gt;personal workspace&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;, everything worked beautifully — which makes sense, since I&lt;/SPAN&gt;&lt;SPAN&gt;'m the only user&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;and there are no other permissions at play. However, when I tried de&lt;/SPAN&gt;&lt;SPAN&gt;ploying it to an&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;&lt;SPAN&gt;En&lt;/SPAN&gt;&lt;SPAN&gt;terprise workspace&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;by simply following the README (without first reviewing the code in&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;det&lt;/SPAN&gt;&lt;SPAN&gt;ail), I noticed that the deployment unint&lt;/SPAN&gt;&lt;SPAN&gt;entionally&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;&lt;SPAN&gt;over&lt;/SPAN&gt;&lt;SPAN&gt;wrote all existing permissions on the SQL Warehouse&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;. For sh&lt;/SPAN&gt;&lt;SPAN&gt;ared en&lt;/SPAN&gt;&lt;SPAN&gt;terprise environments where multiple teams and service principals already&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;r&lt;/SPAN&gt;&lt;SPAN&gt;ely on the warehouse, this can be quite disruptive.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;The root cause appears to be in&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;&lt;SPAN&gt;setup_and_deploy.py&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;(around lines 426–433 in &lt;A href="https://github.com/databricks-solutions/genie-geo-chat/blob/main/setup_and_deploy.py" target="_blank" rel="noopener"&gt;https://github.com/databricks-solutions/genie-geo-chat/blob/main/setup_and_deploy.py&lt;/A&gt;), where&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;&lt;SPAN&gt;w.war&lt;/SPAN&gt;&lt;SPAN&gt;ehouses&lt;/SPAN&gt;&lt;SPAN&gt;.set_permissions(...)&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;is used. The&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;&lt;SPAN&gt;set_permissions&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;call&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;&lt;SPAN&gt;repl&lt;/SPAN&gt;&lt;SPAN&gt;aces the entire&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;ACL&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;rather than appending to it, so any pre-existing grants (other&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;users&lt;/SPAN&gt;&lt;SPAN&gt;, SPs, groups) get wiped out. The&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;same&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;pattern may apply to a few other permission calls in&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;that&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;section as well.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Would you mind taking another look at the security&lt;/SPAN&gt;&lt;SPAN&gt;/permissions set&lt;/SPAN&gt;&lt;SPAN&gt;up when you get a chance? Ideally, the deployment should&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;&lt;SPAN&gt;add&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;or update&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;permissions for the required service principal without rev&lt;/SPAN&gt;&lt;SPAN&gt;oking an&lt;/SPAN&gt;&lt;SPAN&gt;ything that's already in place. A safer pattern would be to either&lt;/SPAN&gt;&lt;SPAN&gt;:&lt;/SPAN&gt;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;&lt;SPAN&gt;Use&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;&lt;SPAN&gt;w.warehouses&lt;/SPAN&gt;&lt;SPAN&gt;.update&lt;/SPAN&gt;&lt;SPAN&gt;_permissions(&lt;/SPAN&gt;&lt;SPAN&gt;...)&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;(which pat&lt;/SPAN&gt;&lt;SPAN&gt;ches the ACL incrementally)&lt;/SPAN&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;&lt;SPAN&gt;or&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;OL&gt;&lt;LI&gt;&lt;SPAN&gt;Fetch the existing ACL first, append the app S&lt;/SPAN&gt;&lt;SPAN&gt;P's ent&lt;/SPAN&gt;&lt;SPAN&gt;ry, and pass the full merged list to&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;&lt;SPAN&gt;set_permissions&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;SPAN&gt;A simil&lt;/SPAN&gt;&lt;SPAN&gt;ar review of the&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;&lt;SPAN&gt;w.permissions.update(...)&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;call&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;for&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;the Genie Space would also be worthwhile, just to be safe&lt;/SPAN&gt;&lt;SPAN&gt;.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Tot&lt;/SPAN&gt;&lt;SPAN&gt;ally understand this is a solution accelerator and not&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;a h&lt;/SPAN&gt;&lt;SPAN&gt;ardened product — just flagging it because Cit&lt;/SPAN&gt;&lt;SPAN&gt;izen Developers&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;(myself included) tend to follow the README verbatim&lt;/SPAN&gt;&lt;SPAN&gt;, and a&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;small change here would make the app much&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;saf&lt;/SPAN&gt;&lt;SPAN&gt;er to drop into enterprise workspaces.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Thanks again&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;for put&lt;/SPAN&gt;&lt;SPAN&gt;ting this together — really looking forward to seeing where it goes.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Ramana_0-1776808436728.png" style="width: 400px;"&gt;&lt;img src="https://community.databricks.com/t5/image/serverpage/image-id/26278iA9BC030883B6B910/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Ramana_0-1776808436728.png" alt="Ramana_0-1776808436728.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Ramana_1-1776808445675.png" style="width: 400px;"&gt;&lt;img src="https://community.databricks.com/t5/image/serverpage/image-id/26279iF7E0BE37235D3172/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Ramana_1-1776808445675.png" alt="Ramana_1-1776808445675.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 21 Apr 2026 22:02:04 GMT</pubDate>
      <guid>https://community.databricks.com/t5/technical-blog/natural-language-geospatial-analytics-on-databricks-with-genie/bc-p/155139#M1012</guid>
      <dc:creator>Ramana</dc:creator>
      <dc:date>2026-04-21T22:02:04Z</dc:date>
    </item>
    <item>
      <title>Re: Natural Language Geospatial Analytics on Databricks with Genie Space and Apps</title>
      <link>https://community.databricks.com/t5/technical-blog/natural-language-geospatial-analytics-on-databricks-with-genie/bc-p/155213#M1014</link>
      <description>&lt;P&gt;Hi &lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/40873"&gt;@Ramana&lt;/a&gt;, thanks for letting me know. I have updated the notebook to use&amp;nbsp;&lt;SPAN&gt;update&lt;/SPAN&gt;&lt;SPAN&gt;_permissions(). I also tested the Genie permissions, and since it already uses update(), I don't see it overwriting existing ones. Thanks again for using this and bringing this to my attention.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 22 Apr 2026 15:15:22 GMT</pubDate>
      <guid>https://community.databricks.com/t5/technical-blog/natural-language-geospatial-analytics-on-databricks-with-genie/bc-p/155213#M1014</guid>
      <dc:creator>MohanaBasak</dc:creator>
      <dc:date>2026-04-22T15:15:22Z</dc:date>
    </item>
  </channel>
</rss>

