Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

The view from DataBC Location Services

Abierto
#11 2 comentarios 1 reacción 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
25/100
Tipo de issue
Documentación
Claridad
Bastante claro
Estado de actividad
Estancado

Línea de trabajo

No se nombra ningún archivo, prueba ni punto de entrada; empieza por localizar el API guideline document que abarca este issue y comparar sus secciones actuales con las adiciones propuestas sobre aspectos espaciales, solicitudes grandes, formato tabular y manejo de errores. Para darlo por terminado harían falta un alcance acordado y una guía actualizada, pero el issue no define qué propuestas se aceptan ni cómo deberían integrarse.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

feedback

Overall, a pretty good document. Handling version info in a header is brilliant.

Here are a few proposed additions:

Spatial considerations

Map projection
  1. Use an srs parameter to define a map projection in the form of an EPSG code.

  2. Support at least the following EPSG codes:

    a. 4326 - Geographics (lat,lon in decimal degrees)
    b. 3005 - BC Albers
    c. 3857 - web mercator (mainly used for map tiles)
    d. 32607 - 32611 UTM north zones 7- 11

  3. Use a default projection of 4326 (geographics).

Spatial Formats
  1. Support geojson for point, line, polygon type geometries. Don't forgot to use the correct MIME type:
    application/vnd.geo+json

  2. Support KML for point, line, polygon type geometries in XML. MIME type is:
    application/vnd.google-earth.kml+xml

  3. Support GML for simple and complex feature schemas in XML. MIME type is:
    application/gml+xml

  4. Use OGC WKT (well known text) for spatial data in columnar formats such as CSV and TSV.

Handling large amounts of data in a GET request

Your API may need to accept large amounts of parameter data in a GET request (e.g., a request for an optimal route involving 1,000 waypoints). In this case, it is acceptable to specify HTTP POST for this purpose even though server state remains unchanged.

Appropriate formats for large tabular results

  1. When your API needs to return a very large amount of tabular data (e.g., thousands or millions of rows), consider using CSV or TSV formats.

  2. Use lat/lon coordinates or OGC WKT (well known text) for spatial columns in these tabular formats such as CSV and TSV.​

Error handling in appropriate formats

  1. In addition to issuing the appropriate HTTP response codes, the format of additional error information should reflect the requested output format

    a. A request for HTML or XHTML output should return error information in HTML format.

    b. A request for KML output should return return error information in KML format.

    c. A request for json, geojson, CSV, or TSV output should return an error in JSON format.

  2. The Google json error object is useful for JSON error reporting. See:

    https://google.github.io/styleguide/jsoncstyleguide.xml?showone=error#error

So, for example, a request for a non-existent siteID and json output will return an HTTP Response code of 404 and the following JSON error object:

{
"apiVersion": "3.4",
"error": {
"code": 404,
"message": "Site Not Found",
}
}​

Lenguaje dominante
Sin datos de lenguaje
Estrellas
34
Forks
10
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de bcgov/api-guidelines

Todos los issues de bcgov/api-guidelines

Issues similares

Más issues de Backend & API Design

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.