weaviate/weaviate · error

invalid geoCoordinates property '%s' on class '%s': %w

Error message

invalid geoCoordinates property '%s' on class '%s': %w

What it means

A geoCoordinates property's value failed geoCoordinates validation: not a map, or latitude/longitude missing or not interpretable as floats. Wrapper adds property/class context; see the wrapped error for which coordinate failed.

Source

Thrown at usecases/objects/validation/properties_validation.go:298

	case schema.DataTypeNumber:
		data, err = numberVal(pv)
		if err != nil {
			return nil, fmt.Errorf("invalid number property '%s' on class '%s': %w", propertyName, className, err)
		}
	case schema.DataTypeBoolean:
		data, err = boolVal(pv)
		if err != nil {
			return nil, fmt.Errorf("invalid boolean property '%s' on class '%s': %w", propertyName, className, err)
		}
	case schema.DataTypeDate:
		data, err = dateVal(pv)
		if err != nil {
			return nil, fmt.Errorf("invalid date property '%s' on class '%s': %w", propertyName, className, err)
		}
	case schema.DataTypeGeoCoordinates:
		data, err = geoCoordinates(pv)
		if err != nil {
			return nil, fmt.Errorf("invalid geoCoordinates property '%s' on class '%s': %w", propertyName, className, err)
		}
	case schema.DataTypePhoneNumber:
		data, err = phoneNumber(pv)
		if err != nil {
			return nil, fmt.Errorf("invalid phoneNumber property '%s' on class '%s': %w", propertyName, className, err)
		}
	case schema.DataTypeBlob:
		data, err = blobVal(pv)
		if err != nil {
			return nil, fmt.Errorf("invalid blob property '%s' on class '%s': %w", propertyName, className, err)
		}
	case schema.DataTypeBlobHash:
		data, err = blobVal(pv)
		if err != nil {
			return nil, fmt.Errorf("invalid blobHash property '%s' on class '%s': %w", propertyName, className, err)
		}
	case schema.DataTypeTextArray:
		data, err = stringArrayVal(pv, "text")

View on GitHub (pinned to 75aa4b6d11)

Solutions

  1. Send {"latitude": <float>, "longitude": <float>} as a JSON object.
  2. Use numeric values (not strings) and valid ranges (lat -90..90, lon -180..180).
  3. Check for typos like 'lat'/'lng' short forms, which are not accepted.
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at usecases/objects/validation/properties_validation.go:298 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of weaviate/weaviate@75aa4b6d11 (2026-09-04). Data as JSON: /api/errors/1de51ca6a1cb741d. Report an issue: GitHub.