Even though this presentation is about REST, it talks a lot about URLs, (from 16min to 25min approx) and might interest you.
Main points that gets out of the presentation is that the URL should represent a ressource, and filters of these ressources should go in the query string. The query string is meant to be specific to the query, and filters are a direct fit for this category.
In your case, I would go with something like
http://mydomain.com/factories -- to retrieve all factories
http://mydomain.com/factories/{id} -- to retrieve a specific one
http://mydomain.com/factories?category={cat} -- to filter a category.
The reasoning behind that is that if tomorrow you want to add more filters, what will you do? Just add more slashes?
And get to something along :
http://mydomain.com/factories/myCategory/united-states/blep/bloop -- ???
http://mydomain.com/factories/myCategory/blep/bloop -- Oh wait now, is blep a country? This is not clear
This is pushed to the extreme, but it shows something that can become very problematic, because some parameters will become obligatory as you add more possibilities.
The parameters in the URL become ambiguous; we can not know which parameter is which if they are not all there and in order. But if I need to put all parameters, then the default one get in the URL and everything gets cluttered.