Changes
Translation components API.
See the Weblate's Web API documentation for detailed description of the API.
GET /api/components/postgis-workshop/validity/changes/?format=api
https://weblate.osgeo.org/api/components/postgis-workshop/validity/changes/?format=api&page=2", "previous": null, "results": [ { "unit": null, "component": "https://weblate.osgeo.org/api/components/postgis-workshop/validity/?format=api", "translation": "https://weblate.osgeo.org/api/translations/postgis-workshop/validity/es/?format=api", "user": null, "author": null, "timestamp": "2025-09-04T23:47:42.254101Z", "action": 17, "target": "", "id": 2217835, "action_name": "Changes committed", "url": "https://weblate.osgeo.org/api/changes/2217835/?format=api" }, { "unit": "https://weblate.osgeo.org/api/units/98857/?format=api", "component": "https://weblate.osgeo.org/api/components/postgis-workshop/validity/?format=api", "translation": "https://weblate.osgeo.org/api/translations/postgis-workshop/validity/es/?format=api", "user": "https://weblate.osgeo.org/api/users/paulo/?format=api", "author": "https://weblate.osgeo.org/api/users/paulo/?format=api", "timestamp": "2025-09-04T22:06:45.674231Z", "action": 2, "target": "Qué es la Validez", "id": 2217769, "action_name": "Translation changed", "url": "https://weblate.osgeo.org/api/changes/2217769/?format=api" }, { "unit": null, "component": "https://weblate.osgeo.org/api/components/postgis-workshop/validity/?format=api", "translation": "https://weblate.osgeo.org/api/translations/postgis-workshop/validity/es/?format=api", "user": null, "author": null, "timestamp": "2025-08-31T22:39:39.589887Z", "action": 17, "target": "", "id": 2216719, "action_name": "Changes committed", "url": "https://weblate.osgeo.org/api/changes/2216719/?format=api" }, { "unit": null, "component": "https://weblate.osgeo.org/api/components/postgis-workshop/validity/?format=api", "translation": "https://weblate.osgeo.org/api/translations/postgis-workshop/validity/es/?format=api", "user": "https://weblate.osgeo.org/api/users/paulo/?format=api", "author": "https://weblate.osgeo.org/api/users/paulo/?format=api", "timestamp": "2025-08-31T21:22:22.130495Z", "action": 1, "target": "", "id": 2216585, "action_name": "Translation completed", "url": "https://weblate.osgeo.org/api/changes/2216585/?format=api" }, { "unit": "https://weblate.osgeo.org/api/units/98890/?format=api", "component": "https://weblate.osgeo.org/api/components/postgis-workshop/validity/?format=api", "translation": "https://weblate.osgeo.org/api/translations/postgis-workshop/validity/es/?format=api", "user": "https://weblate.osgeo.org/api/users/paulo/?format=api", "author": "https://weblate.osgeo.org/api/users/paulo/?format=api", "timestamp": "2025-08-31T21:22:22.053197Z", "action": 5, "target": "`ST_MakeValid(geometry A) <http://postgis.net/docs/ST_MakeValid.html>`_: Devuelve una geometría reconstruida para cumplir con las reglas de validez.", "id": 2216584, "action_name": "Translation added", "url": "https://weblate.osgeo.org/api/changes/2216584/?format=api" }, { "unit": "https://weblate.osgeo.org/api/units/98889/?format=api", "component": "https://weblate.osgeo.org/api/components/postgis-workshop/validity/?format=api", "translation": "https://weblate.osgeo.org/api/translations/postgis-workshop/validity/es/?format=api", "user": "https://weblate.osgeo.org/api/users/paulo/?format=api", "author": "https://weblate.osgeo.org/api/users/paulo/?format=api", "timestamp": "2025-08-31T21:22:15.386993Z", "action": 5, "target": "`ST_IsValidReason(geometry A) <http://postgis.net/docs/ST_IsValidReason.html>`_: Devuelve una cadena de texto con la razón de la invalidez y una coordenada de invalidez.", "id": 2216583, "action_name": "Translation added", "url": "https://weblate.osgeo.org/api/changes/2216583/?format=api" }, { "unit": "https://weblate.osgeo.org/api/units/98888/?format=api", "component": "https://weblate.osgeo.org/api/components/postgis-workshop/validity/?format=api", "translation": "https://weblate.osgeo.org/api/translations/postgis-workshop/validity/es/?format=api", "user": "https://weblate.osgeo.org/api/users/paulo/?format=api", "author": "https://weblate.osgeo.org/api/users/paulo/?format=api", "timestamp": "2025-08-31T21:22:09.442516Z", "action": 5, "target": "`ST_IsValid(geometry A) <http://postgis.net/docs/ST_IsValid.html>`_: Devuelve un valor booleano que indica si la geometría es válida.", "id": 2216582, "action_name": "Translation added", "url": "https://weblate.osgeo.org/api/changes/2216582/?format=api" }, { "unit": "https://weblate.osgeo.org/api/units/98886/?format=api", "component": "https://weblate.osgeo.org/api/components/postgis-workshop/validity/?format=api", "translation": "https://weblate.osgeo.org/api/translations/postgis-workshop/validity/es/?format=api", "user": "https://weblate.osgeo.org/api/users/paulo/?format=api", "author": "https://weblate.osgeo.org/api/users/paulo/?format=api", "timestamp": "2025-08-31T21:22:01.242007Z", "action": 5, "target": "Una buena herramienta para reparar visualmente geometrías inválidas es OpenJump (http://openjump.org) que incluye una rutina de validación en **Tools->QA->Validate Selected Layers**.", "id": 2216581, "action_name": "Translation added", "url": "https://weblate.osgeo.org/api/changes/2216581/?format=api" }, { "unit": "https://weblate.osgeo.org/api/units/98884/?format=api", "component": "https://weblate.osgeo.org/api/components/postgis-workshop/validity/?format=api", "translation": "https://weblate.osgeo.org/api/translations/postgis-workshop/validity/es/?format=api", "user": "https://weblate.osgeo.org/api/users/paulo/?format=api", "author": "https://weblate.osgeo.org/api/users/paulo/?format=api", "timestamp": "2025-08-31T21:21:53.797909Z", "action": 5, "target": "Aquí hay un ejemplo de SQL para marcar geometrías inválidas para revisión mientras se agrega una versión reparada a la tabla.", "id": 2216580, "action_name": "Translation added", "url": "https://weblate.osgeo.org/api/changes/2216580/?format=api" }, { "unit": "https://weblate.osgeo.org/api/units/98883/?format=api", "component": "https://weblate.osgeo.org/api/components/postgis-workshop/validity/?format=api", "translation": "https://weblate.osgeo.org/api/translations/postgis-workshop/validity/es/?format=api", "user": "https://weblate.osgeo.org/api/users/paulo/?format=api", "author": "https://weblate.osgeo.org/api/users/paulo/?format=api", "timestamp": "2025-08-31T21:21:46.044145Z", "action": 5, "target": "Reparación de invalidez en lote", "id": 2216579, "action_name": "Translation added", "url": "https://weblate.osgeo.org/api/changes/2216579/?format=api" }, { "unit": "https://weblate.osgeo.org/api/units/98882/?format=api", "component": "https://weblate.osgeo.org/api/components/postgis-workshop/validity/?format=api", "translation": "https://weblate.osgeo.org/api/translations/postgis-workshop/validity/es/?format=api", "user": "https://weblate.osgeo.org/api/users/paulo/?format=api", "author": "https://weblate.osgeo.org/api/users/paulo/?format=api", "timestamp": "2025-08-31T21:21:34.662277Z", "action": 5, "target": "El \"polígono banana\" (o \"concha invertida\") es un caso donde el modelo topológico :term:`OGC` para geometrías válidas y el modelo usado internamente por ESRI difieren. El modelo de ESRI considera inválidos los anillos que se tocan, y prefiere la forma banana para este tipo de figura. El modelo OGC es lo contrario. Ninguno es \"correcto\", son solo formas diferentes de modelar la misma situación.", "id": 2216578, "action_name": "Translation added", "url": "https://weblate.osgeo.org/api/changes/2216578/?format=api" }, { "unit": "https://weblate.osgeo.org/api/units/98881/?format=api", "component": "https://weblate.osgeo.org/api/components/postgis-workshop/validity/?format=api", "translation": "https://weblate.osgeo.org/api/translations/postgis-workshop/validity/es/?format=api", "user": "https://weblate.osgeo.org/api/users/paulo/?format=api", "author": "https://weblate.osgeo.org/api/users/paulo/?format=api", "timestamp": "2025-08-31T21:21:28.092812Z", "action": 5, "target": "Ejecutar `ST_MakeValid <http://postgis.net/docs/ST_MakeValid.html>`_ en el polígono devuelve un polígono :term:`OGC` válido, consistente en un anillo exterior e interior que se tocan en un punto.", "id": 2216577, "action_name": "Translation added", "url": "https://weblate.osgeo.org/api/changes/2216577/?format=api" }, { "unit": "https://weblate.osgeo.org/api/units/98880/?format=api", "component": "https://weblate.osgeo.org/api/components/postgis-workshop/validity/?format=api", "translation": "https://weblate.osgeo.org/api/translations/postgis-workshop/validity/es/?format=api", "user": "https://weblate.osgeo.org/api/users/paulo/?format=api", "author": "https://weblate.osgeo.org/api/users/paulo/?format=api", "timestamp": "2025-08-31T21:21:21.066137Z", "action": 5, "target": "Por ejemplo, aquí hay un caso clásico de invalidez -- el \"polígono banana\" -- un único anillo que encierra un área pero se dobla para tocarse a sí mismo, dejando un \"agujero\" que en realidad no es un agujero.", "id": 2216576, "action_name": "Translation added", "url": "https://weblate.osgeo.org/api/changes/2216576/?format=api" }, { "unit": "https://weblate.osgeo.org/api/units/98879/?format=api", "component": "https://weblate.osgeo.org/api/components/postgis-workshop/validity/?format=api", "translation": "https://weblate.osgeo.org/api/translations/postgis-workshop/validity/es/?format=api", "user": "https://weblate.osgeo.org/api/users/paulo/?format=api", "author": "https://weblate.osgeo.org/api/users/paulo/?format=api", "timestamp": "2025-08-31T21:21:02.343385Z", "action": 5, "target": "La reparación de invalidez implica reducir un polígono a sus estructuras más simples (anillos), asegurando que los anillos sigan las reglas de validez, y luego construir nuevos polígonos que sigan las reglas de encierro de anillos. Frecuentemente los resultados son intuitivos, pero en el caso de entradas extremadamente problemáticas, las salidas válidas pueden no ajustarse a tu intuición de cómo deberían verse. Las versiones recientes de PostGIS incluyen diferentes algoritmos para la reparación de geometrías: lee con cuidado la `página del manual <http://postgis.net/docs/ST_MakeValid.html>`_ y elige el que más te guste.", "id": 2216575, "action_name": "Translation added", "url": "https://weblate.osgeo.org/api/changes/2216575/?format=api" }, { "unit": "https://weblate.osgeo.org/api/units/98878/?format=api", "component": "https://weblate.osgeo.org/api/components/postgis-workshop/validity/?format=api", "translation": "https://weblate.osgeo.org/api/translations/postgis-workshop/validity/es/?format=api", "user": "https://weblate.osgeo.org/api/users/paulo/?format=api", "author": "https://weblate.osgeo.org/api/users/paulo/?format=api", "timestamp": "2025-08-31T21:20:58.932694Z", "action": 5, "target": "Reparar la no validez", "id": 2216574, "action_name": "Translation added", "url": "https://weblate.osgeo.org/api/changes/2216574/?format=api" }, { "unit": "https://weblate.osgeo.org/api/units/98877/?format=api", "component": "https://weblate.osgeo.org/api/components/postgis-workshop/validity/?format=api", "translation": "https://weblate.osgeo.org/api/translations/postgis-workshop/validity/es/?format=api", "user": "https://weblate.osgeo.org/api/users/paulo/?format=api", "author": "https://weblate.osgeo.org/api/users/paulo/?format=api", "timestamp": "2025-08-31T21:20:37.894204Z", "action": 5, "target": "Podemos usar la función :command:`ST_IsValid(geometry)` para probar nuestras tablas también:", "id": 2216573, "action_name": "Translation added", "url": "https://weblate.osgeo.org/api/changes/2216573/?format=api" }, { "unit": "https://weblate.osgeo.org/api/units/98876/?format=api", "component": "https://weblate.osgeo.org/api/components/postgis-workshop/validity/?format=api", "translation": "https://weblate.osgeo.org/api/translations/postgis-workshop/validity/es/?format=api", "user": "https://weblate.osgeo.org/api/users/paulo/?format=api", "author": "https://weblate.osgeo.org/api/users/paulo/?format=api", "timestamp": "2025-08-31T21:20:29.994390Z", "action": 5, "target": "Observa que además de la razón (autointersección) también se devuelve la ubicación de la invalidez (coordenada (1 1)).", "id": 2216572, "action_name": "Translation added", "url": "https://weblate.osgeo.org/api/changes/2216572/?format=api" }, { "unit": "https://weblate.osgeo.org/api/units/98875/?format=api", "component": "https://weblate.osgeo.org/api/components/postgis-workshop/validity/?format=api", "translation": "https://weblate.osgeo.org/api/translations/postgis-workshop/validity/es/?format=api", "user": "https://weblate.osgeo.org/api/users/paulo/?format=api", "author": "https://weblate.osgeo.org/api/users/paulo/?format=api", "timestamp": "2025-08-31T21:20:22.095075Z", "action": 5, "target": "Ahora sabemos que la entidad es inválida, pero no sabemos por qué. Podemos usar la función :command:`ST_IsValidReason(geometry)` para encontrar la causa de la invalidez:", "id": 2216571, "action_name": "Translation added", "url": "https://weblate.osgeo.org/api/changes/2216571/?format=api" }, { "unit": "https://weblate.osgeo.org/api/units/98874/?format=api", "component": "https://weblate.osgeo.org/api/components/postgis-workshop/validity/?format=api", "translation": "https://weblate.osgeo.org/api/translations/postgis-workshop/validity/es/?format=api", "user": "https://weblate.osgeo.org/api/users/paulo/?format=api", "author": "https://weblate.osgeo.org/api/users/paulo/?format=api", "timestamp": "2025-08-31T21:20:14.413532Z", "action": 5, "target": "En el ejemplo anterior teníamos un polígono que **sabíamos** era inválido. ¿Cómo detectamos la invalidez en una tabla con millones de geometrías? Con la función :command:`ST_IsValid(geometry)`. Usada contra nuestro \"ocho\", obtenemos una respuesta rápida:", "id": 2216570, "action_name": "Translation added", "url": "https://weblate.osgeo.org/api/changes/2216570/?format=api" }, { "unit": null, "component": "https://weblate.osgeo.org/api/components/postgis-workshop/validity/?format=api", "translation": "https://weblate.osgeo.org/api/translations/postgis-workshop/validity/uk/?format=api", "user": null, "author": null, "timestamp": "2025-08-09T19:23:41.774876Z", "action": 17, "target": "", "id": 2191740, "action_name": "Changes committed", "url": "https://weblate.osgeo.org/api/changes/2191740/?format=api" }, { "unit": null, "component": "https://weblate.osgeo.org/api/components/postgis-workshop/validity/?format=api", "translation": "https://weblate.osgeo.org/api/translations/postgis-workshop/validity/uk/?format=api", "user": "https://weblate.osgeo.org/api/users/dkovshun/?format=api", "author": "https://weblate.osgeo.org/api/users/dkovshun/?format=api", "timestamp": "2025-08-09T18:32:20.981713Z", "action": 1, "target": "", "id": 2191556, "action_name": "Translation completed", "url": "https://weblate.osgeo.org/api/changes/2191556/?format=api" }, { "unit": "https://weblate.osgeo.org/api/units/2359482/?format=api", "component": "https://weblate.osgeo.org/api/components/postgis-workshop/validity/?format=api", "translation": "https://weblate.osgeo.org/api/translations/postgis-workshop/validity/uk/?format=api", "user": "https://weblate.osgeo.org/api/users/dkovshun/?format=api", "author": "https://weblate.osgeo.org/api/users/dkovshun/?format=api", "timestamp": "2025-08-09T18:32:20.929504Z", "action": 5, "target": "`ST_MakeValid(геометрія A) <http://postgis.net/docs/ST_MakeValid.html>`_: Повертає геометрію, реконструйовану відповідно до правил валідності.", "id": 2191555, "action_name": "Translation added", "url": "https://weblate.osgeo.org/api/changes/2191555/?format=api" }, { "unit": "https://weblate.osgeo.org/api/units/2359481/?format=api", "component": "https://weblate.osgeo.org/api/components/postgis-workshop/validity/?format=api", "translation": "https://weblate.osgeo.org/api/translations/postgis-workshop/validity/uk/?format=api", "user": "https://weblate.osgeo.org/api/users/dkovshun/?format=api", "author": "https://weblate.osgeo.org/api/users/dkovshun/?format=api", "timestamp": "2025-08-09T18:32:05.481267Z", "action": 5, "target": "ST_IsValidReason(geometry A) <http://postgis.net/docs/ST_IsValidReason.html>_: Повертає текстовий рядок із причиною некоректності та координатою, де вона виникає.", "id": 2191554, "action_name": "Translation added", "url": "https://weblate.osgeo.org/api/changes/2191554/?format=api" }, { "unit": "https://weblate.osgeo.org/api/units/2359480/?format=api", "component": "https://weblate.osgeo.org/api/components/postgis-workshop/validity/?format=api", "translation": "https://weblate.osgeo.org/api/translations/postgis-workshop/validity/uk/?format=api", "user": "https://weblate.osgeo.org/api/users/dkovshun/?format=api", "author": "https://weblate.osgeo.org/api/users/dkovshun/?format=api", "timestamp": "2025-08-09T18:31:39.195366Z", "action": 5, "target": "ST_IsValid(geometry A) <http://postgis.net/docs/ST_IsValid.html>_: Повертає булеве значення, яке вказує, чи є геометрія коректною.", "id": 2191553, "action_name": "Translation added", "url": "https://weblate.osgeo.org/api/changes/2191553/?format=api" }, { "unit": "https://weblate.osgeo.org/api/units/2359479/?format=api", "component": "https://weblate.osgeo.org/api/components/postgis-workshop/validity/?format=api", "translation": "https://weblate.osgeo.org/api/translations/postgis-workshop/validity/uk/?format=api", "user": "https://weblate.osgeo.org/api/users/dkovshun/?format=api", "author": "https://weblate.osgeo.org/api/users/dkovshun/?format=api", "timestamp": "2025-08-09T18:31:20.540519Z", "action": 5, "target": "Список функцій", "id": 2191552, "action_name": "Translation added", "url": "https://weblate.osgeo.org/api/changes/2191552/?format=api" }, { "unit": "https://weblate.osgeo.org/api/units/2359478/?format=api", "component": "https://weblate.osgeo.org/api/components/postgis-workshop/validity/?format=api", "translation": "https://weblate.osgeo.org/api/translations/postgis-workshop/validity/uk/?format=api", "user": "https://weblate.osgeo.org/api/users/dkovshun/?format=api", "author": "https://weblate.osgeo.org/api/users/dkovshun/?format=api", "timestamp": "2025-08-09T18:31:07.096997Z", "action": 5, "target": "Хорошим інструментом для візуального виправлення некоректної геометрії є OpenJump (http://openjump.org), який містить функцію перевірки коректності за шляхом Tools->QA->Validate Selected Layers.", "id": 2191551, "action_name": "Translation added", "url": "https://weblate.osgeo.org/api/changes/2191551/?format=api" }, { "unit": "https://weblate.osgeo.org/api/units/2359477/?format=api", "component": "https://weblate.osgeo.org/api/components/postgis-workshop/validity/?format=api", "translation": "https://weblate.osgeo.org/api/translations/postgis-workshop/validity/uk/?format=api", "user": "https://weblate.osgeo.org/api/users/dkovshun/?format=api", "author": "https://weblate.osgeo.org/api/users/dkovshun/?format=api", "timestamp": "2025-08-09T18:30:37.464174Z", "action": 5, "target": "Ось приклад SQL-запиту, який позначає некоректні геометрії для перевірки та одночасно додає виправлену версію до таблиці.", "id": 2191550, "action_name": "Translation added", "url": "https://weblate.osgeo.org/api/changes/2191550/?format=api" }, { "unit": "https://weblate.osgeo.org/api/units/2359476/?format=api", "component": "https://weblate.osgeo.org/api/components/postgis-workshop/validity/?format=api", "translation": "https://weblate.osgeo.org/api/translations/postgis-workshop/validity/uk/?format=api", "user": "https://weblate.osgeo.org/api/users/dkovshun/?format=api", "author": "https://weblate.osgeo.org/api/users/dkovshun/?format=api", "timestamp": "2025-08-09T18:30:00.466157Z", "action": 5, "target": "Масове виправлення геометрії", "id": 2191549, "action_name": "Translation added", "url": "https://weblate.osgeo.org/api/changes/2191549/?format=api" }, { "unit": "https://weblate.osgeo.org/api/units/2359475/?format=api", "component": "https://weblate.osgeo.org/api/components/postgis-workshop/validity/?format=api", "translation": "https://weblate.osgeo.org/api/translations/postgis-workshop/validity/uk/?format=api", "user": "https://weblate.osgeo.org/api/users/dkovshun/?format=api", "author": "https://weblate.osgeo.org/api/users/dkovshun/?format=api", "timestamp": "2025-08-09T18:29:07.294109Z", "action": 5, "target": "«Банановий полігон» (або «інверсна оболонка») — це випадок, коли топологічна модель валідної геометрії за :term:OGC та модель, яку внутрішньо використовує ESRI, відрізняються. Модель ESRI вважає кільця, що торкаються, некоректними й надає перевагу банановій формі для такого типу фігур. Модель OGC — навпаки. Жодна з них не є «правильною» чи «неправильною» — це просто різні способи моделювання однієї й тієї ж ситуації.", "id": 2191546, "action_name": "Translation added", "url": "https://weblate.osgeo.org/api/changes/2191546/?format=api" }, { "unit": "https://weblate.osgeo.org/api/units/2359474/?format=api", "component": "https://weblate.osgeo.org/api/components/postgis-workshop/validity/?format=api", "translation": "https://weblate.osgeo.org/api/translations/postgis-workshop/validity/uk/?format=api", "user": "https://weblate.osgeo.org/api/users/dkovshun/?format=api", "author": "https://weblate.osgeo.org/api/users/dkovshun/?format=api", "timestamp": "2025-08-09T18:28:23.146540Z", "action": 5, "target": "Виконання команди `ST_MakeValid <http://postgis.net/docs/ST_MakeValid.html>`_ на полігоні повертає валідний полігон :term:`OGC`, що складається з зовнішнього та внутрішнього кілець, які стикаються в одній точці.", "id": 2191545, "action_name": "Translation added", "url": "https://weblate.osgeo.org/api/changes/2191545/?format=api" }, { "unit": "https://weblate.osgeo.org/api/units/2359473/?format=api", "component": "https://weblate.osgeo.org/api/components/postgis-workshop/validity/?format=api", "translation": "https://weblate.osgeo.org/api/translations/postgis-workshop/validity/uk/?format=api", "user": "https://weblate.osgeo.org/api/users/dkovshun/?format=api", "author": "https://weblate.osgeo.org/api/users/dkovshun/?format=api", "timestamp": "2025-08-09T18:27:41.095244Z", "action": 5, "target": "Наприклад, ось класичний випадок некоректної геометрії — «банановий полігон» — одне кільце, яке охоплює площу, але вигинається так, що торкається само себе, утворюючи «дірку», яка насправді не є діркою.", "id": 2191544, "action_name": "Translation added", "url": "https://weblate.osgeo.org/api/changes/2191544/?format=api" }, { "unit": "https://weblate.osgeo.org/api/units/2359472/?format=api", "component": "https://weblate.osgeo.org/api/components/postgis-workshop/validity/?format=api", "translation": "https://weblate.osgeo.org/api/translations/postgis-workshop/validity/uk/?format=api", "user": "https://weblate.osgeo.org/api/users/dkovshun/?format=api", "author": "https://weblate.osgeo.org/api/users/dkovshun/?format=api", "timestamp": "2025-08-09T18:27:00.295201Z", "action": 5, "target": "Виправлення некоректної геометрії передбачає розбиття полігону на його найпростіші структури (кільця), перевірку, що кільця відповідають правилам валідації, а потім побудову нових полігонів, що дотримуються правил вкладення/замикання кілець. Часто результати бувають інтуїтивно зрозумілими, але у випадку надто «погано» сформованих вхідних даних валідні вихідні геометрії можуть не відповідати вашому уявленню про те, як вони мали б виглядати. У новіших версіях PostGIS є кілька алгоритмів для відновлення геометрій — уважно прочитайте сторінку довідки ST_MakeValid і виберіть той, який вам підходить.", "id": 2191543, "action_name": "Translation added", "url": "https://weblate.osgeo.org/api/changes/2191543/?format=api" }, { "unit": "https://weblate.osgeo.org/api/units/2359471/?format=api", "component": "https://weblate.osgeo.org/api/components/postgis-workshop/validity/?format=api", "translation": "https://weblate.osgeo.org/api/translations/postgis-workshop/validity/uk/?format=api", "user": "https://weblate.osgeo.org/api/users/dkovshun/?format=api", "author": "https://weblate.osgeo.org/api/users/dkovshun/?format=api", "timestamp": "2025-08-09T18:25:21.959731Z", "action": 5, "target": "Виправлення некоректної геометрії", "id": 2191542, "action_name": "Translation added", "url": "https://weblate.osgeo.org/api/changes/2191542/?format=api" }, { "unit": "https://weblate.osgeo.org/api/units/2359470/?format=api", "component": "https://weblate.osgeo.org/api/components/postgis-workshop/validity/?format=api", "translation": "https://weblate.osgeo.org/api/translations/postgis-workshop/validity/uk/?format=api", "user": "https://weblate.osgeo.org/api/users/dkovshun/?format=api", "author": "https://weblate.osgeo.org/api/users/dkovshun/?format=api", "timestamp": "2025-08-09T18:24:26.018621Z", "action": 2, "target": "Ми також можемо скористатися функцією :command:ST_IsValid(geometry), щоб перевірити наші таблиці:", "id": 2191541, "action_name": "Translation changed", "url": "https://weblate.osgeo.org/api/changes/2191541/?format=api" }, { "unit": "https://weblate.osgeo.org/api/units/2359470/?format=api", "component": "https://weblate.osgeo.org/api/components/postgis-workshop/validity/?format=api", "translation": "https://weblate.osgeo.org/api/translations/postgis-workshop/validity/uk/?format=api", "user": "https://weblate.osgeo.org/api/users/dkovshun/?format=api", "author": "https://weblate.osgeo.org/api/users/dkovshun/?format=api", "timestamp": "2025-08-09T18:24:11.480348Z", "action": 2, "target": "Ми також можемо скористатися функцією :command:ST_IsValid(geometry), щоб перевірити наші таблиці.", "id": 2191540, "action_name": "Translation changed", "url": "https://weblate.osgeo.org/api/changes/2191540/?format=api" }, { "unit": "https://weblate.osgeo.org/api/units/2359470/?format=api", "component": "https://weblate.osgeo.org/api/components/postgis-workshop/validity/?format=api", "translation": "https://weblate.osgeo.org/api/translations/postgis-workshop/validity/uk/?format=api", "user": "https://weblate.osgeo.org/api/users/dkovshun/?format=api", "author": "https://weblate.osgeo.org/api/users/dkovshun/?format=api", "timestamp": "2025-08-09T18:23:52.089876Z", "action": 5, "target": "Ми також можемо використовувати функцію :command:`ST_IsValid(geometry)` для перевірки наших таблиць:", "id": 2191539, "action_name": "Translation added", "url": "https://weblate.osgeo.org/api/changes/2191539/?format=api" }, { "unit": "https://weblate.osgeo.org/api/units/2359469/?format=api", "component": "https://weblate.osgeo.org/api/components/postgis-workshop/validity/?format=api", "translation": "https://weblate.osgeo.org/api/translations/postgis-workshop/validity/uk/?format=api", "user": "https://weblate.osgeo.org/api/users/dkovshun/?format=api", "author": "https://weblate.osgeo.org/api/users/dkovshun/?format=api", "timestamp": "2025-08-09T18:23:37.817167Z", "action": 5, "target": "Зверніть увагу, що крім причини (самоперетин) також повертається місце розташування недопустимого елемента (координати (1 1)).", "id": 2191538, "action_name": "Translation added", "url": "https://weblate.osgeo.org/api/changes/2191538/?format=api" }, { "unit": "https://weblate.osgeo.org/api/units/2359468/?format=api", "component": "https://weblate.osgeo.org/api/components/postgis-workshop/validity/?format=api", "translation": "https://weblate.osgeo.org/api/translations/postgis-workshop/validity/uk/?format=api", "user": "https://weblate.osgeo.org/api/users/dkovshun/?format=api", "author": "https://weblate.osgeo.org/api/users/dkovshun/?format=api", "timestamp": "2025-08-09T18:22:16.065535Z", "action": 5, "target": "Тепер ми знаємо, що об'єкт є недійсним, але не знаємо, чому. Ми можемо використати функцію :command:`ST_IsValidReason(geometry)`, щоб з'ясувати причину недійсності:", "id": 2191537, "action_name": "Translation added", "url": "https://weblate.osgeo.org/api/changes/2191537/?format=api" }, { "unit": "https://weblate.osgeo.org/api/units/2359467/?format=api", "component": "https://weblate.osgeo.org/api/components/postgis-workshop/validity/?format=api", "translation": "https://weblate.osgeo.org/api/translations/postgis-workshop/validity/uk/?format=api", "user": "https://weblate.osgeo.org/api/users/dkovshun/?format=api", "author": "https://weblate.osgeo.org/api/users/dkovshun/?format=api", "timestamp": "2025-08-09T18:21:59.026864Z", "action": 5, "target": "У попередньому прикладі ми мали один багатокутник, про який **знали**, що він є недійсним. Як виявити недійсність у таблиці з мільйонами геометрій? За допомогою функції :command:`ST_IsValid(geometry)`. Застосувавши її до нашої вісімки, ми отримуємо швидку відповідь:", "id": 2191536, "action_name": "Translation added", "url": "https://weblate.osgeo.org/api/changes/2191536/?format=api" }, { "unit": "https://weblate.osgeo.org/api/units/2359466/?format=api", "component": "https://weblate.osgeo.org/api/components/postgis-workshop/validity/?format=api", "translation": "https://weblate.osgeo.org/api/translations/postgis-workshop/validity/uk/?format=api", "user": "https://weblate.osgeo.org/api/users/dkovshun/?format=api", "author": "https://weblate.osgeo.org/api/users/dkovshun/?format=api", "timestamp": "2025-08-09T18:21:36.572322Z", "action": 5, "target": "Визначення валідності", "id": 2191535, "action_name": "Translation added", "url": "https://weblate.osgeo.org/api/changes/2191535/?format=api" }, { "unit": "https://weblate.osgeo.org/api/units/2359465/?format=api", "component": "https://weblate.osgeo.org/api/components/postgis-workshop/validity/?format=api", "translation": "https://weblate.osgeo.org/api/translations/postgis-workshop/validity/uk/?format=api", "user": "https://weblate.osgeo.org/api/users/dkovshun/?format=api", "author": "https://weblate.osgeo.org/api/users/dkovshun/?format=api", "timestamp": "2025-08-09T18:21:12.911957Z", "action": 5, "target": "Що тут відбувається? Алгоритм, який обчислює площу, передбачає, що кільця не мають самоперетинів. «Правильне» кільце завжди має площу, обмежену (внутрішню частину), розташовану з одного боку від обмежувальної лінії (неважливо, з якого саме боку, головне — що лише з одного). Однак у нашій (неправильно побудованій) «вісімці» обмежена площа для однієї петлі знаходиться праворуч від лінії, а для іншої — ліворуч. Це призводить до того, що обчислені площі для кожної петлі взаємно компенсуються (одна виходить як +1, інша як −1), і в результаті маємо «нульову площу».", "id": 2191534, "action_name": "Translation added", "url": "https://weblate.osgeo.org/api/changes/2191534/?format=api" }, { "unit": "https://weblate.osgeo.org/api/units/2359464/?format=api", "component": "https://weblate.osgeo.org/api/components/postgis-workshop/validity/?format=api", "translation": "https://weblate.osgeo.org/api/translations/postgis-workshop/validity/uk/?format=api", "user": "https://weblate.osgeo.org/api/users/dkovshun/?format=api", "author": "https://weblate.osgeo.org/api/users/dkovshun/?format=api", "timestamp": "2025-08-09T18:20:12.463349Z", "action": 5, "target": "Давайте подивимося, яку площу нашого багатокутника визначає база даних:", "id": 2191533, "action_name": "Translation added", "url": "https://weblate.osgeo.org/api/changes/2191533/?format=api" }, { "unit": "https://weblate.osgeo.org/api/units/2359463/?format=api", "component": "https://weblate.osgeo.org/api/components/postgis-workshop/validity/?format=api", "translation": "https://weblate.osgeo.org/api/translations/postgis-workshop/validity/uk/?format=api", "user": "https://weblate.osgeo.org/api/users/dkovshun/?format=api", "author": "https://weblate.osgeo.org/api/users/dkovshun/?format=api", "timestamp": "2025-08-09T18:19:57.739624Z", "action": 5, "target": "Зовнішнє кільце насправді має форму «вісімки» з самоперетином посередині. Зверніть увагу, що графічні процедури успішно відображають заповнення полігону, тож візуально він виглядає як «площа»: два квадрати розміром один на один, тобто загальна площа — дві одиниці.", "id": 2191532, "action_name": "Translation added", "url": "https://weblate.osgeo.org/api/changes/2191532/?format=api" }, { "unit": "https://weblate.osgeo.org/api/units/2359462/?format=api", "component": "https://weblate.osgeo.org/api/components/postgis-workshop/validity/?format=api", "translation": "https://weblate.osgeo.org/api/translations/postgis-workshop/validity/uk/?format=api", "user": "https://weblate.osgeo.org/api/users/dkovshun/?format=api", "author": "https://weblate.osgeo.org/api/users/dkovshun/?format=api", "timestamp": "2025-08-09T18:18:51.127959Z", "action": 5, "target": "На цій діаграмі можна трохи чіткіше побачити помилку:", "id": 2191531, "action_name": "Translation added", "url": "https://weblate.osgeo.org/api/changes/2191531/?format=api" }, { "unit": "https://weblate.osgeo.org/api/units/2359461/?format=api", "component": "https://weblate.osgeo.org/api/components/postgis-workshop/validity/?format=api", "translation": "https://weblate.osgeo.org/api/translations/postgis-workshop/validity/uk/?format=api", "user": "https://weblate.osgeo.org/api/users/dkovshun/?format=api", "author": "https://weblate.osgeo.org/api/users/dkovshun/?format=api", "timestamp": "2025-08-09T18:18:28.787708Z", "action": 2, "target": "Ось приклад того, чому структура має значення. Цей багатокутник є некоректним:", "id": 2191530, "action_name": "Translation changed", "url": "https://weblate.osgeo.org/api/changes/2191530/?format=api" }, { "unit": "https://weblate.osgeo.org/api/units/2359461/?format=api", "component": "https://weblate.osgeo.org/api/components/postgis-workshop/validity/?format=api", "translation": "https://weblate.osgeo.org/api/translations/postgis-workshop/validity/uk/?format=api", "user": "https://weblate.osgeo.org/api/users/dkovshun/?format=api", "author": "https://weblate.osgeo.org/api/users/dkovshun/?format=api", "timestamp": "2025-08-09T18:18:07.758407Z", "action": 5, "target": "Ось приклад того, чому структура має значення. Цей багатокутник є недійсним:", "id": 2191529, "action_name": "Translation added", "url": "https://weblate.osgeo.org/api/changes/2191529/?format=api" }, { "unit": "https://weblate.osgeo.org/api/units/2359460/?format=api", "component": "https://weblate.osgeo.org/api/components/postgis-workshop/validity/?format=api", "translation": "https://weblate.osgeo.org/api/translations/postgis-workshop/validity/uk/?format=api", "user": "https://weblate.osgeo.org/api/users/dkovshun/?format=api", "author": "https://weblate.osgeo.org/api/users/dkovshun/?format=api", "timestamp": "2025-08-09T18:17:45.015773Z", "action": 5, "target": "Причина, чому правила є важливими, полягає в тому, що алгоритми для обчислень з геометрією залежать від узгодженої структури вхідних даних. Можна створити алгоритми, які не роблять жодних структурних припущень, але такі процедури зазвичай працюють дуже повільно, оскільки першим кроком у будь-якій процедурі без попередньої структури є аналіз вхідних даних і побудова структури в них.", "id": 2191528, "action_name": "Translation added", "url": "https://weblate.osgeo.org/api/changes/2191528/?format=api" }, { "unit": "https://weblate.osgeo.org/api/units/2359459/?format=api", "component": "https://weblate.osgeo.org/api/components/postgis-workshop/validity/?format=api", "translation": "https://weblate.osgeo.org/api/translations/postgis-workshop/validity/uk/?format=api", "user": "https://weblate.osgeo.org/api/users/dkovshun/?format=api", "author": "https://weblate.osgeo.org/api/users/dkovshun/?format=api", "timestamp": "2025-08-09T17:48:25.665551Z", "action": 5, "target": "Останні три правила належать до категорії довільних. Існують інші способи визначення багатокутників, які є рівноцінними, але вищезазначені правила використовуються стандартом :term:`OGC` :term:`SFSQL`, якому відповідає PostGIS.", "id": 2191527, "action_name": "Translation added", "url": "https://weblate.osgeo.org/api/changes/2191527/?format=api" }, { "unit": "https://weblate.osgeo.org/api/units/2359458/?format=api", "component": "https://weblate.osgeo.org/api/components/postgis-workshop/validity/?format=api", "translation": "https://weblate.osgeo.org/api/translations/postgis-workshop/validity/uk/?format=api", "user": "https://weblate.osgeo.org/api/users/dkovshun/?format=api", "author": "https://weblate.osgeo.org/api/users/dkovshun/?format=api", "timestamp": "2025-08-09T16:55:45.534649Z", "action": 2, "target": "Елементи багатокутників не можуть торкатися один одного.", "id": 2189887, "action_name": "Translation changed", "url": "https://weblate.osgeo.org/api/changes/2189887/?format=api" }, { "unit": "https://weblate.osgeo.org/api/units/2359458/?format=api", "component": "https://weblate.osgeo.org/api/components/postgis-workshop/validity/?format=api", "translation": "https://weblate.osgeo.org/api/translations/postgis-workshop/validity/uk/?format=api", "user": "https://weblate.osgeo.org/api/users/dkovshun/?format=api", "author": "https://weblate.osgeo.org/api/users/dkovshun/?format=api", "timestamp": "2025-08-09T16:55:32.264191Z", "action": 5, "target": "Елементи багатокутників не можуть стикатися один з одним.", "id": 2189886, "action_name": "Translation added", "url": "https://weblate.osgeo.org/api/changes/2189886/?format=api" } ] }{ "count": 314, "next": "