S2polygon.getCentroid seems wrong in some case?
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- java
- Ambito
- computer-graphics
Direzione di ricerca
Inizia con la riproduzione S2Loop/S2Polygon fornita e la chiamata a S2Polygon.getCentroid, quindi verifica come i valori di latitudine/longitudine diventano istanze di S2Point. Confronta il punto restituito con le coordinate del poligono e il risultato di contains; il lavoro è completo quando si identifica se il calcolo del centroide o l'interpretazione dell'input causa il punto segnalato come esterno e lo si copre con un test di regressione.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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
- Lingua principale
- Java
- Stelle
- 587
- Fork
- 232
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di google/s2-geometry-library-java
-
Possible bug in compareEdgesAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
google/s2-geometry-library-java#56 · 1 commento · 1 reazione ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 68/100
google/s2-geometry-library-java#47 · 2 commenti ·
-
Added new ant target docs: "Generate documentation"Forse già presa @ThomasThelen l’ha presa 184 giorni fa. Apertaauto-migrated Type-Patch
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 72/100
google/s2-geometry-library-java#2 · 1 commento ·
-
FR: Add bazel supportAperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
Tutte le issue di google/s2-geometry-library-java
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 64/100
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
liquid-java/liquidjava#373 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
NationalSecurityAgency/ghidra#9748 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
I maintainer di solito rispondono entro 1 giorno
-
spring-mcp-tools
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
explyt/spring-plugin#591 ·
I maintainer di solito rispondono entro 1 giorno