{"id":9263,"date":"2020-09-01T00:41:58","date_gmt":"2020-09-01T07:41:58","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=9263"},"modified":"2024-02-22T13:10:33","modified_gmt":"2024-02-22T21:10:33","slug":"how-to-geospatial-polygon-search","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/es\/how-to-geospatial-polygon-search\/","title":{"rendered":"C\u00f3mo realizar b\u00fasquedas geoespaciales basadas en pol\u00edgonos en Couchbase"},"content":{"rendered":"<p><span style=\"font-weight: 400\"><a href=\"https:\/\/www.couchbase.com\/blog\/es\/geospatial-basics-spatial-databases-and-nosql-examples\/\">Caracter\u00edsticas geoespaciales<\/a> han demostrado a lo largo de los a\u00f1os que aumentan significativamente el compromiso de los usuarios. De hecho, nos hemos acostumbrado tanto a ello que ahora incluso esperamos que cualquier tipo de recomendaci\u00f3n (noticias, restaurantes, productos) tambi\u00e9n se base en la ubicaci\u00f3n. Hoy en d\u00eda, la mayor\u00eda de las aplicaciones se basan principalmente en Radius. <\/span><span style=\"font-weight: 400\">lo que, naturalmente, puede conducir a resultados imprecisos o sub\u00f3ptimos. En un mundo en el que las empresas compiten por la atenci\u00f3n del usuario, la precisi\u00f3n puede ser un factor diferenciador clave, por eso la b\u00fasqueda basada en pol\u00edgonos es cada vez m\u00e1s popular.<\/span><\/p>\n<p><span style=\"font-weight: 400\">En este art\u00edculo, hablaremos de la b\u00fasqueda basada en pol\u00edgonos en Couchbase, una caracter\u00edstica que se ha a\u00f1adido desde Couchbase 6.6<\/span><\/p>\n<p>&nbsp;<\/p>\n<h2>Qu\u00e9 es la b\u00fasqueda de pol\u00edgonos geoespaciales<\/h2>\n<p>A\u00a0<a href=\"https:\/\/www.couchbase.com\/blog\/es\/geospatial-basics-spatial-databases-and-nosql-examples\/\"><em>consulta geoespacial<\/em><\/a>\u00a0especifica un \u00e1rea y devuelve cada documento que contenga una referencia a una ubicaci\u00f3n dentro del \u00e1rea. Las \u00e1reas y las ubicaciones se representan mediante\u00a0<em>latitud<\/em>&#8211;<em>longitud<\/em>\u00a0pares de coordenadas.<\/p>\n<p>Hay muchos tipos de geoespaciales <em>consulta<\/em>, <a href=\"https:\/\/docs.couchbase.com\/server\/current\/fts\/fts-geospatial-queries.html#creating_geospatial_rest_query_radius_based\"><span style=\"font-weight: 400\">Basado en el radio<\/span><\/a><span style=\"font-weight: 400\"> Las consultas (tambi\u00e9n conocidas como distancias puntuales) son las m\u00e1s utilizadas y tambi\u00e9n las m\u00e1s sencillas para empezar. Todo lo que necesitas es una coordenada y el radio del c\u00edrculo:<\/span><\/p>\n<pre class=\"lang:java decode:true\">GeoDistanceQuery geoDistanceQuery = SearchQuery.geoDistance( 37.379403,-121.967463, \"10000\");<\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-9269\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/08\/Screen-Shot-2020-08-31-at-5.32.36-PM-1024x374.png\" alt=\"radius based search\" width=\"900\" height=\"329\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/08\/Screen-Shot-2020-08-31-at-5.32.36-PM-1024x374.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/08\/Screen-Shot-2020-08-31-at-5.32.36-PM-300x110.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/08\/Screen-Shot-2020-08-31-at-5.32.36-PM-768x281.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/08\/Screen-Shot-2020-08-31-at-5.32.36-PM-20x7.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/08\/Screen-Shot-2020-08-31-at-5.32.36-PM.png 1102w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>En la b\u00fasqueda de recuadros delimitadores, debe especificar dos pares de coordenadas de latitud-longitud. Estas coordenadas indican respectivamente las esquinas superior izquierda e inferior derecha de un <em>rect\u00e1ngulo<\/em>. Los documentos se devuelven si hacen referencia a una ubicaci\u00f3n dentro del \u00e1rea del rect\u00e1ngulo:<\/p>\n<pre class=\"lang:java decode:true\">\/\/fake coordinates\r\nGeoBoundingBoxQuery query = SearchQuery.geoBoundingBox( 37.379403,-121.967463, 37.379403,-121.967463);<\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-9270\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/08\/rectangle-search.png\" alt=\"rectangle geospatial search with Couchbase NoSQL\" width=\"692\" height=\"436\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/08\/rectangle-search.png 405w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/08\/rectangle-search-300x189.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/08\/rectangle-search-20x13.png 20w\" sizes=\"auto, (max-width: 692px) 100vw, 692px\" \/><\/p>\n<p>Los dos m\u00e9todos anteriores son excelentes cuando se necesitan resultados aproximados, pero no bastan cuando hay que limitar el \u00e1rea de b\u00fasqueda :<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9275\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/08\/building.png\" alt=\"polygon search building\" width=\"700\" height=\"498\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/08\/building.png 700w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/08\/building-300x213.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/08\/building-20x14.png 20w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/p>\n<p>La b\u00fasqueda Geometr\u00eda\/Pol\u00edgono geoespacial permite buscar documentos contenidos dentro de un objeto cerrado en forma de pol\u00edgono definido por una secuencia de coordenadas. En la imagen anterior, por ejemplo, queremos limitar nuestra b\u00fasqueda \u00fanicamente a los documentos cuyas coordenadas se encuentren dentro del pol\u00edgono que hemos definido, que en este caso representa un edificio.<\/p>\n<p>Pr\u00e1cticamente no hay l\u00edmite en el n\u00famero de coordenadas\/puntos que se pueden especificar en la consulta de pol\u00edgonos, pero, como ocurre con cualquier otro motor de b\u00fasqueda, el rendimiento se reducir\u00e1 naturalmente si hay que especificar pol\u00edgonos muy complejos.<\/p>\n<h2><span style=\"font-weight: 400\">Caso de uso basado en pol\u00edgonos geoespaciales<\/span><\/h2>\n<p><span style=\"font-weight: 400\">La b\u00fasqueda basada en pol\u00edgonos (tambi\u00e9n denominada b\u00fasqueda geom\u00e9trica) no se limita a las personas que analizan im\u00e1genes de sat\u00e9lite, sino que hay muchos casos de uso com\u00fan que podr\u00edan beneficiarse de ella:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\"><strong>Real State:<\/strong> Buscar oficinas\/viviendas en un pueblo determinado o en una zona espec\u00edfica<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\"><strong>Juegos de azar:<\/strong> Aparici\u00f3n de objetos en zonas espec\u00edficas (por ejemplo, diferentes tipos de pokemon que aparecen seg\u00fan el terreno en Pokemon Go).<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\"><strong>Anal\u00edtica:<\/strong> Cu\u00e1ntas personas han pasado por una regi\u00f3n espec\u00edfica (por ejemplo, cu\u00e1ntos conductores de Uber\/Lyft han estado en el aeropuerto en un d\u00eda determinado)<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\"><strong>Publicidad:<\/strong> Aumentar el CPC (coste por clic) cuando los usuarios se encuentran en un lugar espec\u00edfico (por ejemplo, un centro comercial).\u00a0<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\"><strong>Ciudades inteligentes:<\/strong> Notificar a los ciudadanos de una regi\u00f3n sobre una amenaza potencial (por ejemplo: granizada, inundaciones).<\/span><\/li>\n<\/ul>\n<h2><span style=\"font-weight: 400\">Crecimiento de la b\u00fasqueda geoespacial<\/span><\/h2>\n<p><span style=\"font-weight: 400\">Podemos demostrar indirectamente lo popular que se ha vuelto la b\u00fasqueda basada en la ubicaci\u00f3n comparando el porcentaje de aplicaciones que solicitan permiso para acceder a la ubicaci\u00f3n del usuario a lo largo de los a\u00f1os:<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/www.hotforsecurity.com\/wp-content\/uploads\/2013\/11\/RepackagedApps_Pie.png\" width=\"701\" height=\"553\" \/><\/p>\n<p style=\"text-align: center\"><b>fuente<\/b><span style=\"font-weight: 400\">: <\/span><a href=\"https:\/\/hotforsecurity.bitdefender.com\/blog\/1-2-percent-of-google-play-store-is-thief-ware-study-shows-7340.html\"><span style=\"font-weight: 400\">https:\/\/hotforsecurity.bitdefender.com\/blog\/1-2-percent-of-google-play-store-is-thief-ware-study-shows-7340.html<\/span><\/a><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400\">Seg\u00fan el gr\u00e1fico anterior, en 2013 solo 11,68% de las aplicaciones m\u00f3viles solicitaban acceso a la ubicaci\u00f3n del usuario. Este otro informe sugiere que en 2014, casi 24% de las aplicaciones solicitaban la ubicaci\u00f3n del usuario:<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9264\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/08\/Screen-Shot-2020-08-31-at-12.55.59-PM.png\" alt=\"mobile_app_permissions_2014\" width=\"785\" height=\"536\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/08\/Screen-Shot-2020-08-31-at-12.55.59-PM.png 785w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/08\/Screen-Shot-2020-08-31-at-12.55.59-PM-300x205.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/08\/Screen-Shot-2020-08-31-at-12.55.59-PM-768x524.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/08\/Screen-Shot-2020-08-31-at-12.55.59-PM-235x160.png 235w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/08\/Screen-Shot-2020-08-31-at-12.55.59-PM-20x14.png 20w\" sizes=\"auto, (max-width: 785px) 100vw, 785px\" \/><\/p>\n<p style=\"text-align: center\"><b>fuente<\/b><span style=\"font-weight: 400\">: <\/span><a href=\"https:\/\/www.statista.com\/statistics\/486440\/leading-google-play-app-permissions\/\"><span style=\"font-weight: 400\">https:\/\/www.statista.com\/statistics\/486440\/leading-google-play-app-permissions\/<\/span><\/a><\/p>\n<p><span style=\"font-weight: 400\">Si avanzamos r\u00e1pido hasta 2020, este tercer informe ya sugiere que 95% de las apps en China solicitan acceso a la ubicaci\u00f3n del usuario:<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9265\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/08\/Screen-Shot-2020-08-31-at-12.58.10-PM.png\" alt=\"permissions_mobile_app_2020\" width=\"788\" height=\"526\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/08\/Screen-Shot-2020-08-31-at-12.58.10-PM.png 788w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/08\/Screen-Shot-2020-08-31-at-12.58.10-PM-300x200.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/08\/Screen-Shot-2020-08-31-at-12.58.10-PM-768x513.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/08\/Screen-Shot-2020-08-31-at-12.58.10-PM-400x267.png 400w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/08\/Screen-Shot-2020-08-31-at-12.58.10-PM-450x300.png 450w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/08\/Screen-Shot-2020-08-31-at-12.58.10-PM-20x13.png 20w\" sizes=\"auto, (max-width: 788px) 100vw, 788px\" \/><\/p>\n<p style=\"text-align: center\"><strong>fuente: <\/strong><a href=\"https:\/\/www.statista.com\/statistics\/1111353\/china-most-common-mobile-social-app-permissions-by-category\/\"><span style=\"font-weight: 400\">https:\/\/www.statista.com\/statistics\/1111353\/china-most-common-mobile-social-app-permissions-by-category\/<\/span><\/a><\/p>\n<p><span style=\"font-weight: 400\">\u00a0<\/span><\/p>\n<h2><span style=\"font-weight: 400\">Creaci\u00f3n de \u00edndices geoespaciales\u00a0<\/span><\/h2>\n<p><span style=\"font-weight: 400\">Para esta demostraci\u00f3n, necesitar\u00e1 <a href=\"https:\/\/github.com\/deniswsrosa\/us-earthquakes\/blob\/master\/earthquakes.json\">este peque\u00f1o conjunto de datos de terremotos en EE.UU.<\/a>. Puedes cargarlo r\u00e1pidamente en Couchbase creando un bucket llamado\u00a0 <\/span><b>terremotos<\/b><span style=\"font-weight: 400\">y, a continuaci\u00f3n, haga clic en <\/span><b>Documentos -&gt; Importar documentos<\/b><span style=\"font-weight: 400\">seleccione el archivo earthquake.json y, a continuaci\u00f3n, haga clic en <\/span><b>Importar datos<\/b><span style=\"font-weight: 400\">:<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-9274\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/08\/Import-Dataset-1.gif\" alt=\"importa dateset into couch\" width=\"1449\" height=\"660\" \/><\/p>\n<p><span style=\"font-weight: 400\">Ahora vamos a crear nuestro \u00edndice geo FTS. En primer lugar, vaya a la pesta\u00f1a Buscar y haga clic en \"<strong>A\u00f1adir \u00edndice<\/strong>\". A continuaci\u00f3n, especifique la siguiente configuraci\u00f3n:<\/span><\/p>\n<ul>\n<li style=\"list-style-type: none\">\n<ul>\n<li style=\"font-weight: 400\"><b>Nombre:<\/b><span style=\"font-weight: 400\"> terremoto_idx<\/span><\/li>\n<li style=\"font-weight: 400\"><b>Cubo:<\/b><span style=\"font-weight: 400\"> terremoto<\/span><\/li>\n<li style=\"font-weight: 400\"><b>Asignaciones de tipos:<\/b>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Desmarcar por defecto<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">A\u00f1ade una nueva asignaci\u00f3n de tipos denominada <\/span><b>terremoto<\/b>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Insertar un campo hijo:\u00a0<\/span>\n<ul>\n<li style=\"font-weight: 400\"><b>Campo<\/b><span style=\"font-weight: 400\">: geo<\/span><\/li>\n<li style=\"font-weight: 400\"><b>Tipo<\/b><span style=\"font-weight: 400\">: geopunto<\/span><\/li>\n<li style=\"font-weight: 400\"><b>Se puede buscar como<\/b><span style=\"font-weight: 400\">: geo<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-9273\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/08\/index-creation-1.gif\" alt=\"index creation\" width=\"1463\" height=\"757\" \/><\/p>\n<p><span style=\"font-weight: 400\">Una vez que el Progreso del \u00cdndice alcanza 100% estamos listos para hacer nuestra primera b\u00fasqueda de pol\u00edgonos.<\/span><\/p>\n<p>&nbsp;<\/p>\n<h2><span style=\"font-weight: 400\">Pol\u00edgono \/ B\u00fasqueda geom\u00e9trica en acci\u00f3n<\/span><\/h2>\n<p><span style=\"font-weight: 400\">La b\u00fasqueda tiene dos requisitos principales:  Los campos con coordenadas deben indexarse mediante la funci\u00f3n <\/span><b>geopuntos<\/b><span style=\"font-weight: 400\"> (como hicimos en la sesi\u00f3n anterior), y las coordenadas deben formar un pol\u00edgono cerrado, lo que significa que la primera y la \u00faltima coordenada deben ser iguales. He aqu\u00ed un ejemplo de pol\u00edgono v\u00e1lido:<\/span><\/p>\n<pre class=\"lang:default decode:true\">[[-103.230791,37.0258202],[-108.4746292,43.1130542],[-116.2949697,44.9554792],[-123.7047084,41.8493514],[-122.8710938,38.7540833],[-120.0585938,34.6693585],[-117.9492188,34.0162419], \r\n [-115.1367188,32.694866],[-109.8632813,27.6056708],[-104.2382813,19.5597901],[-97.5585938,16.8045411],[-100.0195313,23.0797318],[-102.5664232,29.0188937],[-103.230791,37.0258202]]<\/pre>\n<p><span style=\"font-weight: 400\">Si trazamos estas coordenadas en un mapa, esto es lo que obtendremos:<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-9268\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/08\/map-coordinates-1024x763.png\" alt=\"map coordinates\" width=\"802\" height=\"598\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/08\/map-coordinates-1024x763.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/08\/map-coordinates-300x224.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/08\/map-coordinates-768x572.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/08\/map-coordinates-20x15.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/08\/map-coordinates.png 1201w\" sizes=\"auto, (max-width: 802px) 100vw, 802px\" \/><\/p>\n<p style=\"text-align: center\"><b>Fuente: <\/b><a href=\"https:\/\/www.keene.edu\/campus\/maps\/tool\/\"><span style=\"font-weight: 400\">https:\/\/www.keene.edu\/campus\/maps\/tool\/<\/span><\/a><\/p>\n<p>&nbsp;<\/p>\n<h3><span style=\"font-weight: 400\">Formatos de coordenadas admitidos<\/span><\/h3>\n<p><span style=\"font-weight: 400\">Se aceptan los siguientes formatos para las coordenadas de pol\u00edgonos:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><b>Matriz \u00fanica<\/b><span style=\"font-weight: 400\">: [ \"lat, lon\", \"lat, lon\", \"lat, lon\", ...]<\/span><\/li>\n<li style=\"font-weight: 400\"><b>M\u00faltiples matrices: <\/b><span style=\"font-weight: 400\">[ [ lon, lat], [ lon, lat], ... ]<\/span><\/li>\n<li style=\"font-weight: 400\"><b>GeoJson:<\/b><span style=\"font-weight: 400\"> [ { \"lat\": 1, \"lon\": 1}, { \"lat\": 1, \"lon\": 1}, ... ]<\/span><\/li>\n<li style=\"font-weight: 400\"><b>Geohash:<\/b><span style=\"font-weight: 400\"> [ \"9q8zjbkp\", \"9q8yvvdh\", \"9q8yyp1e\" ]<\/span><\/li>\n<\/ul>\n<h3><span style=\"font-weight: 400\">B\u00fasqueda geoespacial mediante la API REST<\/span><\/h3>\n<p><span style=\"font-weight: 400\">Adem\u00e1s de utilizar los SDK nativos, tambi\u00e9n puede utilizar la API REST de b\u00fasqueda de texto completo para realizar <a href=\"https:\/\/www.couchbase.com\/blog\/es\/geospatial-basics-spatial-databases-and-nosql-examples\/\">consultas geoespaciales<\/a> utilizando el siguiente formato:<\/span><\/p>\n<pre class=\"lang:default decode:true\"> curl -XPOST -H \"Content-Type: application\/json\" -u username:password  https:\/\/ip_address:8094\/api\/index\/index_name\/query -d '{ \"fields\": [Fields_you_want_to_return],\"query\": {\"field\": \"target_geo_field\",\"polygon_points\": [...]}}'<\/pre>\n<p><span style=\"font-weight: 400\">He aqu\u00ed un ejemplo real utilizando nuestro conjunto de datos e \u00edndice:<\/span><\/p>\n<pre class=\"lang:default decode:true\"> curl -XPOST -H \"Content-Type: application\/json\" -u Administrator:password  https:\/\/localhost:8094\/api\/index\/earthquake_idx\/query -d '{ \"fields\": [\"Region\"],\"query\": {\"field\": \"geo\",\"polygon_points\": [[-103.230791,37.0258202],[-108.4746292,43.1130542],[-116.2949697,44.9554792], [-123.7047084,41.8493514],[-122.8710938,38.7540833],[-120.0585938,34.6693585],[-117.9492188,34.0162419], [-115.1367188,32.694866],[-109.8632813,27.6056708],[-104.2382813,19.5597901],[-97.5585938,16.8045411],[-100.0195313,23.0797318],[-102.5664232,29.0188937],[-103.230791,37.0258202]]}}'<\/pre>\n<p>y aqu\u00ed est\u00e1 la salida del comando anterior:<\/p>\n<pre class=\"lang:js decode:true\">{\r\n   \"status\":{\r\n      \"total\":1,\r\n      \"failed\":0,\r\n      \"successful\":1\r\n   },\r\n   \"request\":{\r\n      \"query\":{\r\n         \"polygon_points\":[\r\n            {\r\n               \"lon\":-103.230791,\r\n               \"lat\":37.0258202\r\n            },\r\n            {\r\n               \"lon\":-108.4746292,\r\n               \"lat\":43.1130542\r\n            },\r\n            {\r\n               \"lon\":-116.2949697,\r\n               \"lat\":44.9554792\r\n            },\r\n            {\r\n               \"lon\":-123.7047084,\r\n               \"lat\":41.8493514\r\n            },\r\n            {\r\n               \"lon\":-122.8710938,\r\n               \"lat\":38.7540833\r\n            },\r\n            {\r\n               \"lon\":-120.0585938,\r\n               \"lat\":34.6693585\r\n            },\r\n            {\r\n               \"lon\":-117.9492188,\r\n               \"lat\":34.0162419\r\n            },\r\n            {\r\n               \"lon\":-115.1367188,\r\n               \"lat\":32.694866\r\n            },\r\n            {\r\n               \"lon\":-109.8632813,\r\n               \"lat\":27.6056708\r\n            },\r\n            {\r\n               \"lon\":-104.2382813,\r\n               \"lat\":19.5597901\r\n            },\r\n            {\r\n               \"lon\":-97.5585938,\r\n               \"lat\":16.8045411\r\n            },\r\n            {\r\n               \"lon\":-100.0195313,\r\n               \"lat\":23.0797318\r\n            },\r\n            {\r\n               \"lon\":-102.5664232,\r\n               \"lat\":29.0188937\r\n            },\r\n            {\r\n               \"lon\":-103.230791,\r\n               \"lat\":37.0258202\r\n            }\r\n         ],\r\n         \"field\":\"geo\"\r\n      },\r\n      \"size\":10,\r\n      \"from\":0,\r\n      \"highlight\":null,\r\n      \"fields\":[\r\n         \"Region\"\r\n      ],\r\n      \"facets\":null,\r\n      \"explain\":false,\r\n      \"sort\":[\r\n         \"-_score\"\r\n      ],\r\n      \"includeLocations\":false,\r\n      \"search_after\":null,\r\n      \"search_before\":null\r\n   },\r\n   \"hits\":[\r\n      {\r\n         \"index\":\"earthquake_idx_61e3e23c5ecf99e1_acbbef99\",\r\n         \"id\":\"8c70e570-5a6d-4f75-b409-f1bffd0417b5\",\r\n         \"score\":0.0018446927534334827,\r\n         \"sort\":[\r\n            \"_score\"\r\n         ]\r\n      },\r\n      {\r\n         \"index\":\"earthquake_idx_61e3e23c5ecf99e1_acbbef99\",\r\n         \"id\":\"8440a36e-fdb9-432e-b54b-13fbc1d482b4\",\r\n         \"score\":0.0018446927534334827,\r\n         \"sort\":[\r\n            \"_score\"\r\n         ]\r\n      },\r\n      {\r\n         \"index\":\"earthquake_idx_61e3e23c5ecf99e1_acbbef99\",\r\n         \"id\":\"c953d351-1811-4a2c-a2ba-8d0c94c9ffea\",\r\n         \"score\":0.0018446927534334827,\r\n         \"sort\":[\r\n            \"_score\"\r\n         ]\r\n      },\r\n      {\r\n         \"index\":\"earthquake_idx_61e3e23c5ecf99e1_acbbef99\",\r\n         \"id\":\"19fdf2ec-f53e-47ab-8bd3-70c1e6654c99\",\r\n         \"score\":0.0018446927534334827,\r\n         \"sort\":[\r\n            \"_score\"\r\n         ]\r\n      },\r\n      {\r\n         \"index\":\"earthquake_idx_61e3e23c5ecf99e1_acbbef99\",\r\n         \"id\":\"f95c8ec2-f58f-45f2-8c32-d7569e5d9b6b\",\r\n         \"score\":0.0018446927534334827,\r\n         \"sort\":[\r\n            \"_score\"\r\n         ]\r\n      },\r\n      {\r\n         \"index\":\"earthquake_idx_61e3e23c5ecf99e1_acbbef99\",\r\n         \"id\":\"9029d546-322f-4a2e-9919-fb85d2d17b42\",\r\n         \"score\":0.0018446927534334827,\r\n         \"sort\":[\r\n            \"_score\"\r\n         ]\r\n      },\r\n      {\r\n         \"index\":\"earthquake_idx_61e3e23c5ecf99e1_acbbef99\",\r\n         \"id\":\"5e0ae7e5-f825-44c6-b7d1-d398be7db081\",\r\n         \"score\":0.0018446927534334827,\r\n         \"sort\":[\r\n            \"_score\"\r\n         ]\r\n      },\r\n      {\r\n         \"index\":\"earthquake_idx_61e3e23c5ecf99e1_acbbef99\",\r\n         \"id\":\"1370a1f7-5f72-4c91-afcd-4ddef67e8a34\",\r\n         \"score\":0.0018446927534334827,\r\n         \"sort\":[\r\n            \"_score\"\r\n         ]\r\n      },\r\n      {\r\n         \"index\":\"earthquake_idx_61e3e23c5ecf99e1_acbbef99\",\r\n         \"id\":\"d9e4e8d9-6fbe-470b-b510-e688a1ccf1d3\",\r\n         \"score\":0.0018446927534334827,\r\n         \"sort\":[\r\n            \"_score\"\r\n         ]\r\n      },\r\n      {\r\n         \"index\":\"earthquake_idx_61e3e23c5ecf99e1_acbbef99\",\r\n         \"id\":\"b43ec13e-997d-45c7-954b-0433d4d6fa9e\",\r\n         \"score\":0.0018446927534334827,\r\n         \"sort\":[\r\n            \"_score\"\r\n         ]\r\n      }\r\n   ],\r\n   \"total_hits\":353,\r\n   \"max_score\":0.0018446927534334827,\r\n   \"took\":118981353,\r\n   \"facets\":null\r\n}<\/pre>\n<p><span style=\"font-weight: 400\">Tenga en cuenta que debe especificar las coordenadas mediante el atributo <\/span><b>puntos_pol\u00edgono<\/b><span style=\"font-weight: 400\">. Tambi\u00e9n puede ampliar esta consulta para filtrar por otros atributos del documento (por ejemplo: Regi\u00f3n, Magnitud, etc.)<\/span><\/p>\n<p>&nbsp;<\/p>\n<h3><span style=\"font-weight: 400\">Anillo geoespacial \/ B\u00fasqueda en forma de donut\u00a0<\/span><\/h3>\n<p>Tambi\u00e9n puede especificar uno o m\u00e1s agujeros en su pol\u00edgono en caso de que desee filtrar algunas \u00e1reas espec\u00edficas:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9276\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/08\/hole-polygon.png\" alt=\"hole-polygon\" width=\"604\" height=\"598\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/08\/hole-polygon.png 604w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/08\/hole-polygon-300x297.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/08\/hole-polygon-150x150.png 150w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/08\/hole-polygon-65x65.png 65w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/08\/hole-polygon-50x50.png 50w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/08\/hole-polygon-20x20.png 20w\" sizes=\"auto, (max-width: 604px) 100vw, 604px\" \/><\/p>\n<p>Puedes conseguir algo como la imagen de arriba utilizando <a href=\"https:\/\/docs.couchbase.com\/server\/current\/fts\/fts-query-types.html#boolean-query\">consultas booleanas<\/a><strong>:<\/strong><\/p>\n<pre class=\"lang:js decode:true\">{\r\n...\r\n    \"query\": {\r\n        \"must\": {\r\n            \"conjuncts\": [{\"field\":\"geo\", \"polygon_points\":{outer_polygon_coordinates}}]\r\n        },\r\n        \"must_not\": { \r\n            \/\/single our multiple disjunctions\r\n            \"disjuncts\": [{\"field\":\"geo\", \"polygon_points\":{inner_polygon_coordinates}}]\r\n        },\r\n    }\r\n}<\/pre>\n<p>&nbsp;<\/p>\n<p>En resumen, basta con especificar las coordenadas de los pol\u00edgonos dentro del campo \"<strong>debe<\/strong>\" y sus agujeros en el bloque \"<strong>no_debe<\/strong>&#8220;.<\/p>\n<p>Le recomiendo encarecidamente que utilice siempre <em><strong>Disyunciones<\/strong><\/em> al especificar sus agujeros, aunque tambi\u00e9n podr\u00eda utilizar un <em><strong>Conjunci\u00f3n<\/strong><\/em> si tiene un solo agujero, el uso de la conjunci\u00f3n para m\u00faltiples agujeros potencialmente no filtrar\u00e1 sus datos correctamente (a menos que tenga documentos con coordenadas dentro de ambos agujeros). Si usted no tiene idea de lo que estoy hablando, <a href=\"https:\/\/docs.couchbase.com\/server\/current\/fts\/fts-query-types.html#compound-queries\">consulte esta documentaci\u00f3n sobre consultas compuestas.<\/a><\/p>\n<p>&nbsp;<\/p>\n<h2><span style=\"font-weight: 400\">Otras lecturas<\/span><\/h2>\n<p><span style=\"font-weight: 400\">Si est\u00e1 interesado en la b\u00fasqueda geogr\u00e1fica, le recomiendo encarecidamente que lea el documento <\/span><a href=\"https:\/\/docs.couchbase.com\/server\/current\/fts\/fts-geospatial-queries.html\"><span style=\"font-weight: 400\">documentaci\u00f3n oficial<\/span><\/a><span style=\"font-weight: 400\">. Si no conoce la b\u00fasqueda de texto completo, consulte este enlace <\/span><a href=\"https:\/\/www.youtube.com\/watch?v=B9qRJhA1ONs\"><span style=\"font-weight: 400\">v\u00eddeo en el que se muestra c\u00f3mo crear una b\u00fasqueda similar a la de Netflix utilizando FTS<\/span><\/a><span style=\"font-weight: 400\">.<\/span><\/p>\n<p>Tambi\u00e9n tenemos una serie de art\u00edculos en el blog de Couchbase que hablan sobre aspectos importantes de la b\u00fasqueda de texto completo:<\/p>\n<ul>\n<li><a href=\"https:\/\/www.couchbase.com\/blog\/es\/geospatial-basics-spatial-databases-and-nosql-examples\/\">\u00bfQu\u00e9 son los datos geoespaciales?<\/a><\/li>\n<li><a href=\"https:\/\/www.couchbase.com\/blog\/es\/why-you-should-avoid-like-deep-dive-on-fts-part-1\/\">Por qu\u00e9 deber\u00edas evitar el LIKE %<\/a><\/li>\n<li><a href=\"https:\/\/www.couchbase.com\/blog\/es\/fuzzy-matching\/\">Qu\u00e9 es el emparejamiento difuso y c\u00f3mo utilizarlo correctamente<\/a><\/li>\n<li><a href=\"https:\/\/www.couchbase.com\/blog\/es\/how-analyzers-tokenizers-filters-work-fts-part-2\/\">Creaci\u00f3n de una aplicaci\u00f3n similar a Shazam para comprender c\u00f3mo funcionan los tokenizadores y los filtros.<\/a><\/li>\n<li><a href=\"https:\/\/www.couchbase.com\/blog\/es\/fts-queries-n1ql\/\">Ejecuci\u00f3n de consultas FTS en N1QL<\/a><\/li>\n<li><a href=\"https:\/\/www.couchbase.com\/blog\/es\/full-text_search_text_analysis\/\">An\u00e1lisis de textos en un motor de b\u00fasqueda de texto completo<\/a><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>","protected":false},"excerpt":{"rendered":"<p>Geospatial features have proven over the years to significantly increase user engagement. In fact, we got so used to it that now we even expect that any kind of recommendation (news, restaurants, products) should also be location-based. The majority of [&hellip;]<\/p>","protected":false},"author":8754,"featured_media":10928,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[2165],"tags":[],"ppma_author":[9059],"class_list":["post-9263","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-full-text-search"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.7.1 (Yoast SEO v25.7) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Geospatial Polygon-Based Search: How to Make It w\/ Couchbase<\/title>\n<meta name=\"description\" content=\"What is geospatial polygon search? This article examines Polygon-based search in Couchbase, a feature that has been added since Couchbase 6.6.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/es\/how-to-geospatial-polygon-search\/\" \/>\n<meta property=\"og:locale\" content=\"es_MX\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Make Geospatial Polygon-Based Search on Couchbase\" \/>\n<meta property=\"og:description\" content=\"What is geospatial polygon search? This article examines Polygon-based search in Couchbase, a feature that has been added since Couchbase 6.6.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/es\/how-to-geospatial-polygon-search\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2020-09-01T07:41:58+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-02-22T21:10:33+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/09\/How-to-make-Geospatial-Polygon-based-Search-on-Couchbase.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"627\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Denis Rosa, Developer Advocate, Couchbase\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@deniswsrosa\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Denis Rosa, Developer Advocate, Couchbase\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/how-to-geospatial-polygon-search\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/how-to-geospatial-polygon-search\/\"},\"author\":{\"name\":\"Denis Rosa, Developer Advocate, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/fe3c5273e805e72a5294611a48f62257\"},\"headline\":\"How to Make Geospatial Polygon-Based Search on Couchbase\",\"datePublished\":\"2020-09-01T07:41:58+00:00\",\"dateModified\":\"2024-02-22T21:10:33+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/how-to-geospatial-polygon-search\/\"},\"wordCount\":1136,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/how-to-geospatial-polygon-search\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/09\/nosql-geospatial-mappping.png\",\"articleSection\":[\"Full-Text Search\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/how-to-geospatial-polygon-search\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/how-to-geospatial-polygon-search\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/how-to-geospatial-polygon-search\/\",\"name\":\"Geospatial Polygon-Based Search: How to Make It w\/ Couchbase\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/how-to-geospatial-polygon-search\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/how-to-geospatial-polygon-search\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/09\/nosql-geospatial-mappping.png\",\"datePublished\":\"2020-09-01T07:41:58+00:00\",\"dateModified\":\"2024-02-22T21:10:33+00:00\",\"description\":\"What is geospatial polygon search? This article examines Polygon-based search in Couchbase, a feature that has been added since Couchbase 6.6.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/how-to-geospatial-polygon-search\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/how-to-geospatial-polygon-search\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/how-to-geospatial-polygon-search\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/09\/nosql-geospatial-mappping.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/09\/nosql-geospatial-mappping.png\",\"width\":1600,\"height\":628,\"caption\":\"Map showing polygon-based search with Couchbase geospatial\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/how-to-geospatial-polygon-search\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Make Geospatial Polygon-Based Search on Couchbase\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/fe3c5273e805e72a5294611a48f62257\",\"name\":\"Denis Rosa, Developer Advocate, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/be0716f6199cfb09417c92cf7a8fa8d6\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/f8d1f5c13115122cab89d0f229b904480bfe20d3dfbb093fe9734cda5235d419?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/f8d1f5c13115122cab89d0f229b904480bfe20d3dfbb093fe9734cda5235d419?s=96&d=mm&r=g\",\"caption\":\"Denis Rosa, Developer Advocate, Couchbase\"},\"description\":\"Denis Rosa is a Developer Advocate for Couchbase and lives in Munich - Germany. He has a solid experience as a software engineer and speaks fluently Java, Python, Scala and Javascript. Denis likes to write about search, Big Data, AI, Microservices and everything else that would help developers to make a beautiful, faster, stable and scalable app.\",\"sameAs\":[\"https:\/\/x.com\/deniswsrosa\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/es\/author\/denis-rosa\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Geospatial Polygon-Based Search: How to Make It w\/ Couchbase","description":"What is geospatial polygon search? This article examines Polygon-based search in Couchbase, a feature that has been added since Couchbase 6.6.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.couchbase.com\/blog\/es\/how-to-geospatial-polygon-search\/","og_locale":"es_MX","og_type":"article","og_title":"How to Make Geospatial Polygon-Based Search on Couchbase","og_description":"What is geospatial polygon search? This article examines Polygon-based search in Couchbase, a feature that has been added since Couchbase 6.6.","og_url":"https:\/\/www.couchbase.com\/blog\/es\/how-to-geospatial-polygon-search\/","og_site_name":"The Couchbase Blog","article_published_time":"2020-09-01T07:41:58+00:00","article_modified_time":"2024-02-22T21:10:33+00:00","og_image":[{"width":1200,"height":627,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/09\/How-to-make-Geospatial-Polygon-based-Search-on-Couchbase.png","type":"image\/png"}],"author":"Denis Rosa, Developer Advocate, Couchbase","twitter_card":"summary_large_image","twitter_creator":"@deniswsrosa","twitter_misc":{"Written by":"Denis Rosa, Developer Advocate, Couchbase","Est. reading time":"7 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/how-to-geospatial-polygon-search\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/how-to-geospatial-polygon-search\/"},"author":{"name":"Denis Rosa, Developer Advocate, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/fe3c5273e805e72a5294611a48f62257"},"headline":"How to Make Geospatial Polygon-Based Search on Couchbase","datePublished":"2020-09-01T07:41:58+00:00","dateModified":"2024-02-22T21:10:33+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/how-to-geospatial-polygon-search\/"},"wordCount":1136,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/how-to-geospatial-polygon-search\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/09\/nosql-geospatial-mappping.png","articleSection":["Full-Text Search"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/how-to-geospatial-polygon-search\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/how-to-geospatial-polygon-search\/","url":"https:\/\/www.couchbase.com\/blog\/how-to-geospatial-polygon-search\/","name":"Geospatial Polygon-Based Search: How to Make It w\/ Couchbase","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/how-to-geospatial-polygon-search\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/how-to-geospatial-polygon-search\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/09\/nosql-geospatial-mappping.png","datePublished":"2020-09-01T07:41:58+00:00","dateModified":"2024-02-22T21:10:33+00:00","description":"What is geospatial polygon search? This article examines Polygon-based search in Couchbase, a feature that has been added since Couchbase 6.6.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/how-to-geospatial-polygon-search\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/how-to-geospatial-polygon-search\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/how-to-geospatial-polygon-search\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/09\/nosql-geospatial-mappping.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/09\/nosql-geospatial-mappping.png","width":1600,"height":628,"caption":"Map showing polygon-based search with Couchbase geospatial"},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/how-to-geospatial-polygon-search\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to Make Geospatial Polygon-Based Search on Couchbase"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"El blog de Couchbase","description":"Couchbase, la base de datos NoSQL","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"El blog de Couchbase","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/fe3c5273e805e72a5294611a48f62257","name":"Denis Rosa, Defensor del Desarrollador, Couchbase","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/be0716f6199cfb09417c92cf7a8fa8d6","url":"https:\/\/secure.gravatar.com\/avatar\/f8d1f5c13115122cab89d0f229b904480bfe20d3dfbb093fe9734cda5235d419?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f8d1f5c13115122cab89d0f229b904480bfe20d3dfbb093fe9734cda5235d419?s=96&d=mm&r=g","caption":"Denis Rosa, Developer Advocate, Couchbase"},"description":"Denis Rosa es un Developer Advocate para Couchbase y vive en Munich - Alemania. Tiene una s\u00f3lida experiencia como ingeniero de software y habla con fluidez Java, Python, Scala y Javascript. A Denis le gusta escribir sobre b\u00fasqueda, Big Data, AI, Microservicios y todo lo que pueda ayudar a los desarrolladores a hacer una aplicaci\u00f3n hermosa, m\u00e1s r\u00e1pida, estable y escalable.","sameAs":["https:\/\/x.com\/deniswsrosa"],"url":"https:\/\/www.couchbase.com\/blog\/es\/author\/denis-rosa\/"}]}},"authors":[{"term_id":9059,"user_id":8754,"is_guest":0,"slug":"denis-rosa","display_name":"Denis Rosa, Developer Advocate, Couchbase","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/f8d1f5c13115122cab89d0f229b904480bfe20d3dfbb093fe9734cda5235d419?s=96&d=mm&r=g","first_name":"Denis","last_name":"Rosa, Developer Advocate, Couchbase","user_url":"","author_category":"","description":"Denis Rosa es un Developer Advocate para Couchbase y vive en Munich - Alemania. Tiene una s\u00f3lida experiencia como ingeniero de software y habla con fluidez Java, Python, Scala y Javascript. A Denis le gusta escribir sobre b\u00fasqueda, Big Data, AI, Microservicios y todo lo que pueda ayudar a los desarrolladores a hacer una aplicaci\u00f3n hermosa, m\u00e1s r\u00e1pida, estable y escalable."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/9263","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/users\/8754"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/comments?post=9263"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/9263\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media\/10928"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media?parent=9263"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/categories?post=9263"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/tags?post=9263"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/ppma_author?post=9263"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}