matplotlib / matplotlib/basemap
Basemap does not respects False Easting or False Northing
Personne n'a encore pris cette issue.
- Langage dominant
- Python
- Étoiles
- 817
- Forks
- 395
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
While creating a basemap from an EPSG code with the x_0 or y_0 (False Easting and False Northing), the Basemap instance does not respect those values. I tried with 'tmerc' projections only because it's of my interest. I leave an example:
Suppose I want to use this EPSG basemap:
```
# POSGAR 94 / Argentina 1
<22181> +proj=tmerc +lat_0=-90 +lon_0=-72 +k=1 +x_0=1500000 +y_0=0 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
```
It can be found in "basemap/data/epsg" file.
Then I create the basemap and print its parameters:
```
from mpl_toolkits.basemap import Basemap
lon_min, lat_min = -75, -45
lon_max, lat_max = -70, -40
bm = Basemap(epsg=22181,
llcrnrlon=lon_min, llcrnrlat=lat_min,
urcrnrlon=lon_max, urcrnrlat=lat_max)
print bm.proj4string
```
I get the following output:
`+a=6378137.0 +b=6356752.31425 +k_0=1.0 +y_0=-5012640.49452 +lon_0=-72.0 +proj=tmerc +x_0=236540.642361 +units=m +lat_0=-90.0`
As we can see, the Basemap overrides the false easting and false northing information:
**`+x_0=236540.642361 +y_0=-5012640.49452`**
It would be great that the Basemap respect those values and even better if they can be passed as arguments while initializing it in the usual way (without using EPSG codes), for example:
```
bm = Basemap(projection='tmerc',
lon_0=lon_0, lat_0=lat_0,
x_0=x_0, y_0=y_0
llcrnrlon=lon_min, llcrnrlat=lat_min,
urcrnrlon=lon_max, urcrnrlat=lat_max)
```
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par le constructeur de Basemap et la recherche EPSG en utilisant l’entrée correspondant à 22181 dans basemap/data/epsg ; reproduisez l’exemple tmerc et examinez comment les paramètres de projection deviennent proj4string. Vérifiez que les x_0 et y_0 fournis par EPSG sont conservés et déterminez comment les arguments de constructeur équivalents doivent être traités. Le travail est terminé lorsque l’exemple conserve les deux décalages faux et que la couverture de régression les vérifie.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- python
- Domaine
- data-visualization
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100