Considérant en fait et en droit :
1.
Dès 1992 et durant chaque saison d'été, X._ a exploité un stand de vente de glaces sur le quai du Mont-Blanc à Genève. La Ville de Genève lui délivrait chaque année une autorisation d'utilisation du domaine public; l'exploitante installait un stand qui lui appartenait.
Dès 2009, la Ville de Genève a entrepris de remplacer les stands de vente de glaces ou de souvenirs ainsi autorisés par huit pavillons amovibles qu'elle fournirait elle-même aux exploitants. Le 24 juillet 2009, elle a publié un appel d'offres pour la location saisonnière de ces huit pavillons durant les années 2010 à 2014. Le 16 septembre 2009, l'organe compétent a rejeté la candidature présentée par X._. Celle-ci a contesté ce refus avec succès. Par arrêt du 20 mars 2012, la Chambre administrative de la Cour de justice du canton de Genève lui a donné gain de cause et elle a condamné la Ville de Genève à lui attribuer un pavillon.
2.
X._, locataire, et la Ville de Genève, bailleresse, ont conclu un contrat de bail à loyer le 18 juin 2015. Ce contrat portait sur un pavillon destiné à la vente de glaces, boissons et petite restauration, à occuper sur le quai du Mont-Blanc chacune des quatre années 2015 à 2018, du 1er mars au 31 octobre. Hors de ces saisons, la bailleresse était autorisée à démonter, entreposer puis réinstaller le pavillon à ses frais. La locataire devait exploiter personnellement le pavillon, si nécessaire avec son personnel; elle était tenue à une présence sur place durant la moitié des heures d'ouverture effectives. Elle était tenue d'obtenir les autorisations administratives nécessaires à son commerce; en particulier, elle devait être titulaire du certificat de capacité prévu par la législation cantonale sur la restauration et le débit de boissons.
Le loyer était fixé à 23'864 fr. par saison.
L'application des dispositions légales sur les baux de locaux commerciaux et la protection des locataires contre les congés étaient conventionnellement exclue au motif que le contrat portait sur une construction mobilière amovible. La bailleresse pouvait résilier le contrat avant l'échéance convenue si la locataire persistait dans la violation de l'une quelconque de ses obligations, en dépit d'une mise en demeure écrite.
3.
X._ n'est pas titulaire du certificat cantonal de capacité. Elle s'est présentée successivement à deux sessions d'examen auxquelles elle a échoué.
Le 22 juillet 2016, en raison du défaut de certificat de capacité, la Ville de Genève a déclaré la résiliation du contrat avec effet immédiat. Le 3 novembre 2016, elle a renouvelé cette déclaration en l'accompagnant d'une formule officielle de résiliation.
Le lendemain 4 novembre 2016, la Ville de Genève a repris possession du pavillon; celui-ci n'est plus exploité depuis.
4.
Le 13 mars 2017, X._ a ouvert action contre la Ville de Genève devant le Tribunal de première instance du canton de Genève. A titre principal, elle concluait à l'annulation du congé; à titre subsidiaire, elle réclamait une première prolongation judiciaire du contrat pour une durée de deux ans, venant à échéance à la fin de la saison d'été de 2018.
La défenderesse a conclu au rejet de l'action.
Le tribunal s'est prononcé le 22 mai 2018; il a rejeté l'action.
5.
La demanderesse a appelé du jugement. A titre principal, elle concluait à l'annulation du congé signifié le 3 novembre 2016. A titre subsidiaire, elle concluait à une première prolongation judiciaire du contrat, désormais pour une durée de quatre ans venant à échéance à la fin de la saison d'été de 2020.
La Chambre civile de la Cour de justice a statué le 7 mai 2019; elle a confirmé le jugement. Dans les motifs de son prononcé, elle a jugé les conclusions d'appel irrecevables en tant qu'elles excédaient, sur la durée de la prolongation sollicitée, celles présentées en première instance.
6.
Agissant par la voie du recours en matière civile, la demanderesse saisit le Tribunal fédéral de conclusions correspondant à celles articulées devant la Cour de justice.
La défenderesse procède par son service de l'espace public; elle conclut au rejet du recours.
7.
Le recours en matière civile n'a plus d'objet dans la mesure où la contestation porte sur la validité du congé signifié le 3 novembre 2016 car le contrat des parties a de toute manière pris fin le 31 octobre 2018, échéance de la durée convenue, conformément à l'<ref-law>.
8.
Au regard de l'<ref-law>, les conclusions tendant à une prolongation du contrat jusqu'au terme de la saison d'été de 2020 ne sont recevables devant le Tribunal fédéral que dans la mesure où elles l'étaient déjà devant la Cour de justice. Le jugement d'irrecevabilité rendu sur ce point est lui aussi contesté devant le Tribunal fédéral. Il n'est cependant pas nécessaire de contrôler cet élément de l'arrêt attaqué car les conclusions concernées se révèlent de toute manière mal fondées.
Au regard de l'<ref-law>, la demanderesse conserve un intérêt au recours dans la mesure où il est prévisible que la défenderesse se soumettrait à un jugement favorable à son adverse partie et délivrerait la chose louée pour la saison de 2020. L'intérêt de la demanderesse subsiste également dans la mesure où elle peut éventuellement solliciter une deuxième prolongation du contrat sur la base de l'<ref-law>.
Le recours en matière civile est pour le surplus recevable à raison de la valeur litigieuse car le loyer de la saison de 2020 excède le minimum de 15'000 fr. exigé par l'<ref-law>.
9.
Aux termes des art. 272 al. 1 et 272b al. 1 CO, le locataire peut demander la prolongation d'un bail de locaux commerciaux pour une durée de six ans au maximum, lorsque la fin du contrat aurait pour lui des conséquences pénibles et que les intérêts du bailleur ne les justifient pas. Dans cette limite de temps, le juge peut accorder une ou deux prolongations. Le juge apprécie librement, selon les règles du droit et de l'équité, s'il y a lieu de prolonger le bail et, dans l'affirmative, pour quelle durée. Il doit procéder à la pesée des intérêts en présence et tenir compte du but d'une prolongation, consistant à donner du temps au locataire pour trouver des locaux de remplacement. Il lui incombe de prendre en considération tous les éléments du cas particulier, avec parmi eux la durée et la teneur du contrat (<ref-law>; <ref-ruling> consid. 6 p. 195; <ref-ruling> consid. 2 p. 123).
10.
Le Tribunal de première instance et la Cour de justice jugent que le contrat des parties n'est pas un bail de locaux commerciaux visé par les art. 272 et 272b CO. Ces autorités retiennent que le contrat porte sur une chose mobilière parce que le pavillon est amovible. Cette approche est erronée. En effet, la demanderesse ne s'est pas procuré l'usage d'une chose mobilière qu'elle pût déplacer et réinstaller à son gré; au contraire, durant les saisons d'été convenues, le pavillon devait s'utiliser exclusivement à l'emplacement lui aussi convenu et fourni par la défenderesse. Il incombait d'ailleurs à cette partie-ci de réinstaller le pavillon s'il lui convenait de l'évacuer durant les saisons d'hiver. Pour le surplus, il est constant que le pavillon renfermait un local et que celui-ci était destiné à un usage commercial. La nature du contrat n'appert pas modifiée seulement parce que l'utilisation convenue est saisonnière et intermittente. Le local commercial loué en été ne cesse pas d'en être un seulement parce que la bailleresse est autorisée à le faire disparaître en hiver.
L'<ref-law> consacre la nullité des conventions par lesquelles le locataire renonce au droit de contester un congé ou de réclamer la prolongation judiciaire d'un bail de locaux commerciaux. En l'espèce, cette disposition prive de tout effet la renonciation effectivement souscrite par la demanderesse.
11.
Dans le texte signé, les parties ont expressément spécifié que le contrat était conclu « en raison de la personne » de la demanderesse, que celle-ci devait être titulaire du certificat cantonal de capacité, et qu'elle devait exploiter personnellement le pavillon. Contrairement à la thèse que cette partie-ci persiste à soutenir devant le Tribunal fédéral, ces clauses excluaient sans équivoque qu'elle pût s'adjoindre un tiers titulaire du certificat de capacité, sans détenir elle-même ce titre, et satisfaire ainsi aux exigences du contrat. En dépit de l'opinion longuement développée à l'appui du recours, il n'existe aucune raison sérieuse de mettre en doute le sens littéral des clauses ainsi convenues, lesquelles sont en conséquences déterminantes dans l'interprétation du contrat (<ref-ruling> consid. 5.2 i.f. p. 302; <ref-ruling> consid. 4.2 p. 611; <ref-ruling> consid. 3.2 relatifs à l'<ref-law>).
La défenderesse a certes délivré la chose louée pour les saisons de 2015 et de 2016 alors que la demanderesse ne détenait pas le certificat de capacité. L'attribution d'un pavillon à cette candidate lui était cependant imposée par l'arrêt de la Cour de justice du 20 mars 2012. La défenderesse exigeait aussi, sans équivoque, que la demanderesse obtînt ce certificat à défaut de l'avoir déjà. En conséquence, celle-ci s'est deux fois présentée aux examens, toutefois sans succès. Ces circonstances ne sauraient justifier une interprétation permissive du contrat, divergeant des clauses rigoureuses textuellement convenues.
12.
La demanderesse n'est toujours pas titulaire du certificat de capacité. Elle n'a pas obtenu la délivrance du pavillon pour les saisons de 2017, 2018 et 2019. Elle a donc déjà dû trouver des locaux ou une activité de remplacement, d'où il résulte qu'une prolongation du contrat pour la seule saison de 2020 ne paraît pas apte à atténuer les conséquences du congé. Il est établi que les locataires des autres pavillons sont tous titulaires, eux, du certificat. Dans ces conditions, l'intérêt de la défenderesse à faire respecter ses exigences en matière de qualifications professionnelles des exploitants, et à réaliser aussi, entre eux, l'égalité de traitement, peut être jugé nettement prépondérant. Il s'ensuit que le refus de la prolongation litigieuse doit être jugé compatible avec les art. 272 et 272b CO.
13.
A titre de partie qui succombe, la demanderesse doit acquitter l'émolument à percevoir par le Tribunal fédéral. L'adverse partie n'a pas exposé de frais d'avocat et il ne lui sera donc pas alloué de dépens.


Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté, dans la mesure où il est recevable.
2.
La demanderesse acquittera un émolument judiciaire de 2'000 francs.
3.
Il n'est pas alloué de dépens.
4.
Le présent arrêt est communiqué aux parties et à la Cour de justice du canton de Genève.
Lausanne, le 28 février 2020
Au nom de la Ire Cour de droit civil
du Tribunal fédéral suisse
La présidente : Kiss
Le greffier : Thélin