Los textos traducidos son:
Ejemplo:
>>> from django.contrib.gis.db.models.functions import Length
>>> Track.objects.annotate(length=Length("line")).filter(length__gt=100)
No todas las backends admiten todas las funciones, por lo que consulta la documentación de cada función para ver si tu backend de base de datos admite la función que deseas utilizar. Si llamas a una función geográfica en un backend que no la admite, obtendrás una excepción NotImplementedError.
Área¶Disponibilidad: MariaDB, MySQL, Oracle, PostGIS, SpatiaLite
Aceptar un campo geográfico o expresión único y devuelve el área del campo como una medida de Area.
MySQL y SpatiaLite sin LWGEOM/RTTOPO no admiten cálculos de áreas en SRS geográficos.
Distancia¶Disponibilidad: MariaDB, MySQL, PostGIS, Oracle, SpatiaLite
Accepts two geographic fields or expressions and returns the distance between
them, as a Distance object. On MySQL, a raw
float value is returned when the coordinates are geodetic.
En backends que admiten la cálculo de distancias en coordenadas geodésicas, se elige automáticamente la función del backend adecuada dependiendo del valor SRID de las geometrías (por ejemplo, ST_DistanceSphere en PostGIS).
Cuando se calculan distancias con coordenadas geodésicas (angulares), como es el caso del SRID por defecto WGS84 (4326), puedes establecer la palabra clave spheroid para decidir si el cálculo debe basarse en una simple esfera (menos preciso, menos intensivo en recursos) o en un sferoide (más preciso, más intensivo en recursos).
En el ejemplo siguiente, se calcula la distancia desde la ciudad de Hobart a cada otra PointField en el conjunto de resultados AustraliaCity:
>>> from django.contrib.gis.db.models.functions import Distance
>>> pnt = AustraliaCity.objects.get(name="Hobart").point
>>> for city in AustraliaCity.objects.annotate(distance=Distance("point", pnt)):
... print(city.name, city.distance)
...
Wollongong 990071.220408 m
Shellharbour 972804.613941 m
Thirroul 1002334.36351 m
...
Nota
Porque la propiedad distance es un objeto Distance, puedes expresar fácilmente el valor en las unidades de tu elección. Por ejemplo, city.distance.mi es el valor de distancia en millas y city.distance.km es el valor de distancia en kilómetros. Consulta la documentación Objetos de Medición para detalles sobre su uso y la lista de unidades soportadas.
GeometryDistance¶Disponibilidad: PostGIS
Accepts two geographic fields or expressions and returns the distance between
them. When used in an order_by() clause,
it provides index-assisted nearest-neighbor result sets.
Length¶Availability: MariaDB, MySQL, Oracle, PostGIS, SpatiaLite
Accepts a single geographic linestring or multilinestring field or expression
and returns its length as a Distance
measure.
Al trabajar con PostGIS y SpatiaLite, cuando las coordenadas son geodésicas (angulares), puedes especificar si el cálculo debe basarse en una esfera simple (menos preciso, menos intensivo en recursos) o en un esferoide (más preciso, más intensivo en recursos) utilizando la clave de palabra spheroid.
MySQL no admite cálculos de longitud sobre SRS geográficos.
Perímetro¶Disponibilidad: PostGIS, Oracle, SpatiaLite
Accepts a single geographic field or expression and returns the perimeter of the
geometry field as a Distance object.
Azimut¶Disponibilidad: PostGIS, SpatiaLite (LWGEOM/RTTOPO)
Devuelve el azimut en radianes del segmento definido por las geometrías de punto dadas, o None si los dos puntos son coincidentes. El azimut es un ángulo referenciado desde el norte y es positivo en sentido horario: norte = 0; este = π/2; sur = π; oeste = 3π/2.
BoundingCircle¶Disponibilidad: PostGIS, Oracle, SpatiaLite 5.1+
Aceptar un campo geográfico o expresión único y devuelve el círculo polígono más pequeño que puede contener completamente la geometría.
El parámetro num_seg se utiliza solo en PostGIS.
Se agregó soporte a SpatiaLite 5.1+.
Centroid¶Disponibilidad: MariaDB, MySQL, PostGIS, Oracle, SpatiaLite
Aceptar un campo geográfico o expresión único y devuelve el valor centroid de la geometría.
ClosestPoint¶Disponibilidad: PostGIS, SpatiaLite
Acepta dos campos o expresiones geográficas y devuelve el punto 2-dimensional en la geometría A que está más cerca de la geometría B.
Envoltorio¶Disponibilidad: MariaDB, MySQL, Oracle, PostGIS, SpatiaLite
Acepta un campo o expresión geográfica único y devuelve la geometría que representa el rectángulo que limita la geometría.
LineLocatePoint¶Disponibilidad: PostGIS, SpatiaLite
Devuelve un float entre 0 y 1 que representa la ubicación del punto más cercano en linestring al punto dado, como fracción de la longitud de línea 2D.
PuntoEnSuperficie¶Disponibilidad: PostGIS, MariaDB, Oracle, SpatiaLite
Acepta un campo o expresión geográfica único y devuelve una geometría Punto garantizada para estar en la superficie del campo; de lo contrario, devuelve None.
Diferencia¶Disponibilidad: MariaDB, MySQL, PostGIS, Oracle, SpatiaLite
Acepta dos campos o expresiones geográficas y devuelve la diferencia geométrica, es decir, la parte de la geometría A que no intersecta con la geometría B.
Intersección¶Disponibilidad: MariaDB, MySQL, PostGIS, Oracle, SpatiaLite
Acepta dos campos o expresiones geográficas y devuelve la intersección geométrica entre ellos.
SimDiferencia¶Disponibilidad: MariaDB, MySQL, PostGIS, Oracle, SpatiaLite
Acepta dos campos o expresiones geográficas y devuelve la diferencia simétrica geométrica (unión sin la intersección) entre los parámetros dados.
Unión¶Disponibilidad: MariaDB, MySQL, PostGIS, Oracle, SpatiaLite
Acepta dos campos o expresiones geográficas y devuelve la unión de ambas geometrías.
ForzarPoloNoC¶Disponibilidad: PostGIS, SpatiaLite
Acepta un campo o expresión geográfica y devuelve una versión modificada del polígono/multipolígono en la que todos los anillos exteriores están orientados en sentido horario y todos los anillos interiores están orientados en sentido antihorario. Las geometrías no poligonales se devuelven sin cambios.
HacerVálido¶Disponibilidad: PostGIS, SpatiaLite (LWGEOM/RTTOPO)
Acepta un campo o expresión geográfica y intenta convertir el valor en una geometría válida sin perder ninguna de las vértices de entrada. Las geometrías que ya son válidas se devuelven sin cambios. Los polígonos simples pueden convertirse en un multipolígono y el resultado puede tener una dimensión inferior a la del input.
Inverso¶Disponibilidad: PostGIS, Oracle, SpatiaLite
Acepta un campo geográfico o expresión único y devuelve una geometría con coordenadas invertidas.
Escala¶Disponibilidad: PostGIS, SpatiaLite
Acepta un campo geográfico o expresión único y devuelve una geometría con coordenadas escaladas multiplicando las mismas por los parámetros x, y y opcionalmente z.
Snappy a la malla¶Disponibilidad: PostGIS, SpatiaLite
Acepta un campo geográfico o expresión única y devuelve una geometría con todos los puntos «snapped» a la red dada. Cómo se «snaps» la geometría a la red depende de cuántos argumentos numéricos (ya sean flotantes, enteros o largos) se dan.
Número de Argumentos |
Descripción |
|---|---|
1 |
Un tamaño único para ajustar tanto la malla X como la Y. |
2 |
Tamaños X e Y para ajustar la malla. |
4 |
Tamaños X, Y y las correspondientes coordenadas de origen X, Y. |
Transform¶Disponibilidad: PostGIS, Oracle, SpatiaLite
Acepta un campo o expresión geográfica y un código de SRID entero, y devuelve la geometría transformada al sistema de referencia espacial especificado por el parámetro srid.
Nota
Lo spatial reference system que un ID de SRID entero corresponde puede depender del motor de base de datos espacial utilizado. En otras palabras, los números de SRID utilizados para Oracle no son necesariamente los mismos que aquellos utilizados por PostGIS.
Traducir¶Disponibilidad: PostGIS, SpatiaLite
Acepta un campo geográfico o expresión único y devuelve una geometría con sus coordenadas desplazadas por los parámetros numéricos x, y y opcionalmente z.
DeWKB¶Disponibilidad: MariaDB, MySQL, Oracle, PostGIS, SpatiaLite
Crea geometría a partir de la representación binaria conocida (WKB)_. El argumento srid opcional permite especificar el ID de SRID de la geometría resultante. srid se ignora en Oracle.
Se agregó el argumento srid.
DeWKT¶Dispongo a continuación las traducciones de los textos originales, manteniendo todas sus etiquetas intactas.
Crea geometría a partir de la representación en texto conocido (WKT). El argumento opcional srid permite especificar el SRID de la geometría resultante. srid se ignora en Oracle.
Se agregó el argumento srid.
AsGeoJSON¶Disponibilidad: MariaDB, MySQL, Oracle, PostGIS, SpatiaLite
Acepta un campo geográfico o expresión único y devuelve una representación en formato GeoJSON de la geometría. Tenga en cuenta que el resultado no es una estructura GeoJSON completa, sino solo el contenido del clave geometry de una estructura GeoJSON. Consulte también Serializador GeoJSON.
Ejemplo:
>>> City.objects.annotate(json=AsGeoJSON("point")).get(name="Chicago").json
{"type":"Point","coordinates":[-87.65018,41.85039]}
Argumento de palabra clave |
Descripción |
|---|---|
|
Establezca esto a |
|
Establece esto a |
precisión |
Puede usarse para especificar el número de dígitos significativos para las coordenadas en la representación GeoJSON – el valor por defecto es 8. Se ignora en Oracle. |
Disponibilidad: Oracle, PostGIS, SpatiaLite
Acepta un campo geográfico o expresión única y devuelve una representación de la geometría en **`Geografic Markup Language (GML)`**__.
Ejemplo:
>>> qs = Zipcode.objects.annotate(gml=AsGML("poly"))
>>> print(qs[0].gml)
<gml:Polygon srsName="EPSG:4326"><gml:OuterBoundaryIs>-147.78711,70.245363 ...
-147.78711,70.245363</gml:OuterBoundaryIs></gml:Polygon>
Argumento de palabra clave |
Descripción |
|---|---|
precisión |
Especifica el número de dígitos significativos para las coordenadas en la representación GML – el valor por defecto es 8. Se ignora en Oracle. |
version |
Especifica la versión de GML a utilizar: 2 (por defecto) o 3. |
Disponibilidad*: PostGIS, SpatiaLite
Acepta un campo geográfico o expresión único y devuelve una representación de la geometría en formato `Lenguaje de Marcado de Clave (KML)`__.
Ejemplo:
>>> qs = Zipcode.objects.annotate(kml=AsKML("poly"))
>>> print(qs[0].kml)
<Polygon><outerBoundaryIs><LinearRing><coordinates>-103.04135,36.217596,0 ...
-103.04135,36.217596,0</coordinates></LinearRing></outerBoundaryIs></Polygon>
Argumento de palabra clave |
Descripción |
|---|---|
precisión |
Esta palabra clave se puede utilizar para especificar el número de dígitos significativos para las coordenadas en la representación KML – el valor por defecto es 8. |
AsSVG¶Disponibilidad: PostGIS, SpatiaLite
Acepta un campo geográfico o expresión único y devuelve una representación de la geometría en formato `Gráficos Vectoriales Escalables (SVG)`__.
Argumento de palabra clave |
Descripción |
|---|---|
|
Si se establece en |
precisión |
Esta palabra clave se puede utilizar para especificar el número de dígitos significativos para las coordenadas en la representación SVG – el valor por defecto es 8. |
AsWKB¶Dispongo a continuación las traducciones de los textos originales.
Acepta un campo o expresión geográfica único y devuelve una representación binaria conocida (WKB)_ de la geometría.
Ejemplo:
>>> bytes(City.objects.annotate(wkb=AsWKB("point")).get(name="Chelyabinsk").wkb)
b'\x01\x01\x00\x00\x00]3\xf9f\x9b\x91K@\x00X\x1d9\xd2\xb9N@'
AsWKT¶Disponibilidad: MariaDB, MySQL, Oracle, PostGIS, SpatiaLite
Acepta un campo o expresión geográfica único y devuelve una representación de texto conocida (WKT)_ de la geometría.
Ejemplo:
>>> City.objects.annotate(wkt=AsWKT("point")).get(name="Chelyabinsk").wkt
'POINT (55.137555 61.451728)'
GeoHash¶Disponibilidad: MySQL, PostGIS, SpatiaLite (LWGEOM/RTTOPO)
Acepta un campo o expresión geográfica único y devuelve una representación de GeoHash__ de la geometría.
La palabra clave precision controla el número de caracteres en el resultado.
IsEmpty¶Disponibilidad: PostGIS
Acepta un campo geográfico o expresión y prueba si el valor es una geometría vacía. Devuelve True si su valor está vacío y False en caso contrario.
IsValid¶Disponibilidad: MySQL, PostGIS, Oracle, SpatiaLite
Acepta un campo geográfico o expresión y prueba si el valor está bien formado. Devuelve True si su valor es una geometría válida y False en caso contrario.
MemSize¶Disponibilidad: PostGIS
Acepta un campo geográfico o expresión único y devuelve el tamaño de memoria (número de bytes) que el campo de geometría ocupa.
NumGeometries¶Dispongo a continuación las traducciones de los textos originales.
Acepta un campo geográfico o expresión único y devuelve el número de geometrías si el campo de geometría es una colección (por ejemplo, un GEOMETRYCOLLECTION o un campo MULTI*). Devuelve 1 para geometrías únicas.
En MySQL, devuelve None para geometrías únicas.
NumPoints¶Disponibilidad: MariaDB, MySQL, PostGIS, Oracle, SpatiaLite
Acepta un campo geográfico o expresión único y devuelve el número de puntos en una geometría.
En MySQL, devuelve None para cualquier geometría que no sea LINESTRING.
may 31, 2026