S2polygon.getCentroid seems wrong in some case?
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- java
- Área
- computer-graphics
Línea de trabajo
Comienza con la reproducción proporcionada de S2Loop/S2Polygon y la llamada a S2Polygon.getCentroid; después, verifica cómo los valores de latitud/longitud se convierten en instancias de S2Point. Compara el punto devuelto con las coordenadas del polígono y el resultado de contains; el trabajo estará terminado cuando se identifique si el cálculo del centroide o la interpretación de la entrada provoca el punto indicado como exterior y se cubra con una prueba de regresión.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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
- Lenguaje dominante
- Java
- Estrellas
- 587
- Forks
- 232
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de google/s2-geometry-library-java
-
Possible bug in compareEdgesAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
google/s2-geometry-library-java#56 · 1 comentario · 1 reacción ·
-
Infinite loop in coverer builderAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
Build failure when mvn compileAbierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 68/100
google/s2-geometry-library-java#47 · 2 comentarios ·
-
Added new ant target docs: "Generate documentation"Posiblemente ocupada @ThomasThelen la tomó hace 183 días. Abiertoauto-migrated Type-Patch
Dificultad 1/5 Menos de una hora Aptitud para principiantes 72/100
google/s2-geometry-library-java#2 · 1 comentario ·
-
FR: Add bazel supportAbierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
Todos los issues de google/s2-geometry-library-java
Issues similares
-
Mend: dependency security vulnerability
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
opfab/operatorfabric-core#10653 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
GeminiUtil placeholder user turn ("Continue output. DO NOT look at this line ...") is flagged by prompt injection filtersPosiblemente ocupada @innoprej la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 1 día
-
Broken links in the docsAbierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 78/100
salesforce/multicloudj#667 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
Los mantenedores suelen responder en 2 días