S2polygon.getCentroid seems wrong in some case?
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 35/100
- Type d'issue
- Bug
- Clarté
- Plutôt claire
- Activité
- À l'abandon
- Stack technique
- java
- Domaine
- computer-graphics
Piste de recherche
Commencez par la reproduction S2Loop/S2Polygon fournie et l'appel à S2Polygon.getCentroid, puis vérifiez comment les valeurs de latitude/longitude deviennent des instances de S2Point. Comparez le point renvoyé aux coordonnées du polygone et au résultat de contains ; le travail est terminé lorsqu'il est établi si le calcul du centroïde ou l'interprétation de l'entrée provoque le point signalé comme extérieur, et que celui-ci est couvert par un test de régression.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
I encountered a problem where the centroid seems wrong, i.e., the centroid is outside the polygon even when the polygon itself is a convex.
The code below plots a hexagon but the centroid seems to be way off, did I do anything wrong, thanks a lot for help?
double[] coordinates = new double[]{
47.167511,-122.1521,
47.167568,-122.151952,
47.167684,-122.151952,
47.167746,-122.1521,
47.167691,-122.152248,
47.16757,-122.152248,
47.167511,-122.1521,
};
List<S2Point> s2Points = new ArrayList<>();
for (int i = 0; i < coordinates.length /2; i++) {
double lat = coordinates[2 * i];
double lng = coordinates[2 * i + 1];
System.out.println(lat + "," + lng + ",");
S2LatLng s2LatLng = S2LatLng.fromDegrees(lat, lng);
s2Points.add(s2LatLng.toPoint());
}
S2Loop s2Loop = new S2Loop(s2Points);
s2Loop.normalize();
S2Polygon s2Polygon = new S2Polygon(s2Loop);
S2Point s2PolygonCentroid = s2Polygon.getCentroid();
System.out.println("Center: " + s2PolygonCentroid.toDegreesString() + " in_polygon " + s2Polygon
.contains(s2PolygonCentroid));
Output:
Center: (47.167557150782145, -122.15163675765044) in_polygon false
Kml file:
layer <Style id="style-polygon-normal"> ff000000 1.2000000476837158 4d000000 1 1 <![CDATA[<h3>$[name]</h3>]]> </Style> <Style id="style-polygon-highlight"> ff000000 1.7999999523162842 4d000000 1 1 <![CDATA[<h3>$[name]</h3>]]> </Style> normal #style-polygon-normal highlight #style-polygon-highlight <Style id="style-s2cell-normal"> ff000000 1.2000000476837158 4d000000 1 1 <![CDATA[<h3>$[name]</h3>]]> </Style> <Style id="style-s2cell-highlight"> ff000000 1.7999999523162842 4d000000 1 1 <![CDATA[<h3>$[name]</h3>]]> </Style> normal #style-s2cell-normal highlight #style-s2cell-highlight test test #style-polygon -122.15210000000002,47.167511 -122.151952,47.16756800000001 -122.15195200000002,47.16768400000001 -122.15210000000002,47.167746 -122.15224799999999,47.167691000000005 -122.15224799999999,47.16757 -122.15210000000002,47.167511 -122.15163675765044,47.167557150782145
- Langage dominant
- Java
- Étoiles
- 587
- Forks
- 231
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
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.
Autres issues de google/s2-geometry-library-java
-
Possible bug in compareEdgesOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
google/s2-geometry-library-java#56 · 1 commentaire · 1 réaction ·
-
Infinite loop in coverer builderOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
-
Build failure when mvn compileOuverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 68/100
google/s2-geometry-library-java#47 · 2 commentaires ·
-
Added new ant target docs: "Generate documentation"Peut-être pris @ThomasThelen l’a pris il y a 201 jours. Ouverteauto-migrated Type-Patch
Difficulté 1/5 Moins d'une heure Accessibilité débutants 72/100
google/s2-geometry-library-java#2 · 1 commentaire ·
-
FR: Add bazel supportOuverte
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
Toutes les issues de google/s2-geometry-library-java
Issues similaires
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
Les mainteneurs répondent en général sous 1 jour
-
code-maintenance
Difficulté 2/5 1-3 heures Accessibilité débutants 80/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 85/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
krizaka/krizaka-notifications#32 ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
klikli-dev/occultism#1719 ·